/*
 * Beginium 2026 — OpenCart 3.x base stylesheet
 * Base: stylesheet.css supplied by user
 * Brand direction: Beginium strategic/technical/SEO base · August 2026
 *
 * Design tokens
 * - Navy / authority: #071B49
 * - Green / action:    #15803D
 * - Text:              #111827
 * - Boxed desktop:     1240px
 * - Typeface:          Figtree Variable, local files
 *
 * Font package expected at:
 * catalog/view/theme/TU_TEMA/stylesheet/beginium/figtree.css
 */

@import url("./beginium/figtree.css");

:root {
	--bgn-font-family: "Figtree", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

	--bgn-navy: #071B49;
	--bgn-navy-900: #051536;
	--bgn-navy-700: #0B2A60;
	--bgn-green: #15803D;
	--bgn-green-hover: #116A33;
	--bgn-green-active: #0E5A2B;
	--bgn-green-soft: #EAF6EE;
	--bgn-green-soft-2: #F4F8F5;
	--bgn-footer: #004C3F;
	--bgn-footer-deep: #003B32;

	--bgn-text: #111827;
	--bgn-text-soft: #5F6B76;
	--bgn-muted: #7B8794;
	--bgn-border: #E3E8E5;
	--bgn-border-strong: #D5DDD8;
	--bgn-surface: #FFFFFF;
	--bgn-surface-soft: #F7F9F8;
	--bgn-danger: #B42318;
	--bgn-warning: #B54708;
	--bgn-info: #176B87;

	--bgn-radius-sm: 8px;
	--bgn-radius: 12px;
	--bgn-radius-lg: 18px;
	--bgn-radius-xl: 22px;
	--bgn-shadow-sm: 0 3px 12px rgba(7, 27, 73, 0.06);
	--bgn-shadow: 0 10px 30px rgba(7, 27, 73, 0.08);
	--bgn-shadow-lg: 0 18px 50px rgba(7, 27, 73, 0.12);
	--bgn-container: 1240px;
}

body {
	font-family: 'Open Sans', sans-serif;
	font-weight: 400;
	color: #666;
	font-size: 12px;
	line-height: 20px;
	width: 100%;
}
h1, h2, h3, h4, h5, h6 {
	color: #444;
}
/* default font size */
.fa {
	font-size: 14px;
}
/* Override the bootstrap defaults */
h1 {
	font-size: 33px;
}
h2 {
	font-size: 27px;
}
h3 {
	font-size: 21px;
}
h4 {
	font-size: 15px;
}
h5 {
	font-size: 12px;
}
h6 {
	font-size: 10.2px;
}
a {
	color: #23a1d1;
}
a:hover {
	text-decoration: none;
}
legend {
	font-size: 18px;
	padding: 7px 0px
}
label {
	font-size: 12px;
	font-weight: normal;
}
select.form-control, textarea.form-control, input[type="text"].form-control, input[type="password"].form-control, input[type="datetime"].form-control, input[type="datetime-local"].form-control, input[type="date"].form-control, input[type="month"].form-control, input[type="time"].form-control, input[type="week"].form-control, input[type="number"].form-control, input[type="email"].form-control, input[type="url"].form-control, input[type="search"].form-control, input[type="tel"].form-control, input[type="color"].form-control {
	font-size: 12px;
}
.input-group input, .input-group select, .input-group .dropdown-menu, .input-group .popover {
	font-size: 12px;
}
.input-group .input-group-addon {
	font-size: 12px;
	height: 30px;
}
/* Fix some bootstrap issues */
span.hidden-xs, span.hidden-sm, span.hidden-md, span.hidden-lg {
	display: inline;
}

.nav-tabs {
	margin-bottom: 15px;
}
div.required .control-label:before {
	content: '* ';
	color: #F00;
	font-weight: bold;
}
/* Gradent to all drop down menus */
.dropdown-menu li > a:hover {
	text-decoration: none;
	color: #ffffff;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
}
/* top */
#top {
	background-color: #EEEEEE;
	border-bottom: 1px solid #e2e2e2;
	padding: 4px 0px 3px 0;
	margin: 0 0 20px 0;
	min-height: 40px;
}
#top .container {
	padding: 0 20px;
}
#top #form-currency .currency-select,
#top #form-language .language-select {
	text-align: left;
}
#top #form-currency .currency-select:hover,
#top #form-language .language-select:hover {
	text-shadow: none;
	color: #ffffff;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
}
#top .btn-link, #top-links li, #top-links a {
	color: #888;
	text-shadow: 0 1px 0 #FFF;
	text-decoration: none;
}
#top .btn-link:hover, #top-links a:hover {
	color: #444;
}
#top-links .dropdown-menu a {
	text-shadow: none;
}
#top-links .dropdown-menu a:hover {
	color: #FFF;
}
#top .btn-link strong {
	font-size: 14px;
        line-height: 14px;
}
#top-links {
	padding-top: 6px;
}
#top-links a + a {
	margin-left: 15px;
}
/* logo */
#logo {
	margin: 0 0 10px 0;
}
/* search */
#search {
	margin-bottom: 10px;
}
#search .input-lg {
	height: 40px;
	line-height: 20px;
	padding: 0 10px;
}
#search .btn-lg {
	font-size: 15px;
	line-height: 18px;
	padding: 10px 35px;
	text-shadow: 0 1px 0 #FFF;
}
/* cart */
#cart {
	margin-bottom: 10px;
}
#cart > .btn {
	font-size: 12px;
	line-height: 18px;
	color: #FFF;
}
#cart.open > .btn {
	background-image: none;
	background-color: #FFFFFF;
	border: 1px solid #E6E6E6;
	color: #666;
	box-shadow: none;
	text-shadow: none;
}
#cart.open > .btn:hover {
	color: #444;
}
#cart .dropdown-menu {
	background: #eee;
	z-index: 1001;
}
#cart .dropdown-menu {
	min-width: 100%;
	overflow-y: auto;
	max-height: 800px;
	scrollbar-width: thin;
	overflow-x: hidden;
}
@media (max-width: 478px) {
	#cart .dropdown-menu {
		width: 100%;
	}
}
#cart .dropdown-menu table {
	margin-bottom: 10px;
}
#cart .dropdown-menu li > div {
	min-width: 427px;
	padding: 0 10px;
}
@media (max-width: 478px) {
	#cart .dropdown-menu li > div {
		min-width: 100%;
	}
}
#cart .dropdown-menu li p {
	margin: 20px 0;
}
/* menu */
#menu {
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
	border-color: #1f90bb #1f90bb #145e7a;
	min-height: 40px;
}
#menu .nav > li > a {
	color: #fff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	padding: 10px 15px 10px 15px;
	min-height: 15px;
	background-color: transparent;
}
#menu .nav > li > a:hover, #menu .nav > li.open > a {
	background-color: rgba(0, 0, 0, 0.1);
}
#menu .dropdown-menu {
	padding-bottom: 0;
}
#menu .dropdown-inner {
	display: table;
}
#menu .dropdown-inner ul {
	display: table-cell;
}
#menu .dropdown-inner a {
	min-width: 160px;
	display: block;
	padding: 3px 20px;
	clear: both;
	line-height: 20px;
	color: #333333;
	font-size: 12px;
}
#menu .dropdown-inner li a:hover {
	color: #FFFFFF;
}
#menu .see-all {
	display: block;
	margin-top: 0.5em;
	border-top: 1px solid #DDD;
	padding: 3px 20px;
	-webkit-border-radius: 0 0 4px 4px;
	-moz-border-radius: 0 0 4px 4px;
	border-radius: 0 0 3px 3px;
	font-size: 12px;
}
#menu .see-all:hover, #menu .see-all:focus {
	text-decoration: none;
	color: #ffffff;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
}
#menu #category {
	float: left;
	padding-left: 15px;
	font-size: 16px;
	font-weight: 700;
	line-height: 40px;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}
#menu .btn-navbar {
	font-size: 15px;
	font-stretch: expanded;
	color: #FFF;
	padding: 2px 18px;
	float: right;
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
	border-color: #1f90bb #1f90bb #145e7a;
}
#menu .btn-navbar:hover, #menu .btn-navbar:focus, #menu .btn-navbar:active, #menu .btn-navbar.disabled, #menu .btn-navbar[disabled] {
	color: #ffffff;
	background-color: #229ac8;
}
@media (min-width: 768px) {
	#menu .dropdown:hover .dropdown-menu {
		display: block;
	}
}
@media (max-width: 767px) {
	#menu {
		border-radius: 4px;
	}
	#menu div.dropdown-inner > ul.list-unstyled {
		display: block;
	}
	#menu div.dropdown-menu {
		margin-left: 0 !important;
		padding-bottom: 10px;
		background-color: rgba(0, 0, 0, 0.1);
	}
	#menu .dropdown-inner {
		display: block;
	}
	#menu .dropdown-inner a {
		width: 100%;
		color: #fff;
	}
	#menu .dropdown-menu a:hover,
	#menu .dropdown-menu ul li a:hover {
		background: rgba(0, 0, 0, 0.1);
	}
	#menu .see-all {
		margin-top: 0;
		border: none;
		border-radius: 0;
		color: #fff;
	}
}
/* content */
#content {
	min-height: 600px;
}
#product-category #content, #product-product #tab-description, #information-information #content {
	font-size: 13px;
}
/* footer */
footer {
	margin-top: 30px;
	padding-top: 30px;
	background-color: #303030;
	border-top: 1px solid #ddd;
	color: #e2e2e2;
}
footer hr {
	border-top: none;
	border-bottom: 1px solid #666;
}
footer a {
	color: #ccc;
}
footer a:hover {
	color: #fff;
}
footer h5 {
	font-family: 'Open Sans', sans-serif;
	font-size: 13px;
	font-weight: bold;
	color: #fff;
}
/* alert */
.alert {
	padding: 8px 14px 8px 14px;
}
.alert > .close {
	position: relative;
	top: -2px;
	right: 0px;
	color: inherit;
}
/* breadcrumb */
.breadcrumb {
	margin: 0 0 20px 0;
	padding: 8px 0;
	border: 1px solid #ddd;
}
.breadcrumb i {
	font-size: 15px;
}
.breadcrumb > li {
	text-shadow: 0 1px 0 #FFF;
	padding: 0 20px;
	position: relative;
	white-space: nowrap;
}
.breadcrumb > li + li:before {
	content: '';
	padding: 0;
}
.breadcrumb > li:after {
	content: '';
	display: block;
	position: absolute;
	top: -3px;
	right: -5px;
	width: 26px;
	height: 26px;
	border-right: 1px solid #DDD;
	border-bottom: 1px solid #DDD;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-o-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
html[dir=rtl] .breadcrumb > li::after {
  top: -3px;
  left: -5px;
  width: 26px;
  height: 26px;
  border-left: 1px solid #DDD;
  border-top: 1px solid #DDD;
  right: unset;
  border-right: unset;
  border-bottom:unset;

}
.pagination {
	margin: 0;
}
/* buttons */
.buttons {
	margin: 1em 0;
}
.btn {
	padding: 7.5px 12px;
	font-size: 12px;
	border: 1px solid #cccccc;
	border-radius: 4px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
}
.btn-xs {
	font-size: 9px;
}
.btn-sm {
	font-size: 10.2px;
}
.btn-lg {
	padding: 10px 16px;
	font-size: 15px;
}
.btn-group > .btn, .btn-group > .dropdown-menu, .btn-group > .popover {
	font-size: 12px;
}
.btn-group > .btn-xs {
	font-size: 9px;
}
.btn-group > .btn-sm {
	font-size: 10.2px;
}
.btn-group > .btn-lg {
	font-size: 15px;
}
.btn-default {
	color: #777;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
	background-color: #e7e7e7;
	background-image: linear-gradient(to bottom, #eeeeee, #dddddd);
	background-repeat: repeat-x;
	border-color: #dddddd #dddddd #b3b3b3 #b7b7b7;
}
.btn-primary {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #229ac8;
	background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
	background-repeat: repeat-x;
	border-color: #1f90bb #1f90bb #145e7a;
}
.btn-primary:hover, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] {
	background-color: #1f90bb;
	background-position: 0 -15px;
}
.btn-warning {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #faa732;
	background-image: linear-gradient(to bottom, #fbb450, #f89406);
	background-repeat: repeat-x;
	border-color: #f89406 #f89406 #ad6704;
}
.btn-warning:hover, .btn-warning:active, .btn-warning.active, .btn-warning.disabled, .btn-warning[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-danger {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #da4f49;
	background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
	background-repeat: repeat-x;
	border-color: #bd362f #bd362f #802420;
}
.btn-danger:hover, .btn-danger:active, .btn-danger.active, .btn-danger.disabled, .btn-danger[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-success {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #5bb75b;
	background-image: linear-gradient(to bottom, #62c462, #51a351);
	background-repeat: repeat-x;
	border-color: #51a351 #51a351 #387038;
}
.btn-success:hover, .btn-success:active, .btn-success.active, .btn-success.disabled, .btn-success[disabled] {
	box-shadow: inset 0 1000px 0 rgba(0, 0, 0, 0.1);
}
.btn-info {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #df5c39;
	background-image: linear-gradient(to bottom, #e06342, #dc512c);
	background-repeat: repeat-x;
	border-color: #dc512c #dc512c #a2371a;
}
.btn-info:hover, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
	background-image: none;
	background-color: #df5c39;
}
.btn-link {
	border-color: rgba(0, 0, 0, 0);
	cursor: pointer;
	color: #23A1D1;
	border-radius: 0;
}
.btn-link, .btn-link:active, .btn-link[disabled] {
	background-color: rgba(0, 0, 0, 0);
	background-image: none;
	box-shadow: none;
}
.btn-inverse {
	color: #ffffff;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #363636;
	background-image: linear-gradient(to bottom, #444444, #222222);
	background-repeat: repeat-x;
	border-color: #222222 #222222 #000000;
}
.btn-inverse:hover, .btn-inverse:active, .btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] {
	background-color: #222222;
	background-image: linear-gradient(to bottom, #333333, #111111);
}
/* list group */
.list-group a {
	border: 1px solid #DDDDDD;
	color: #888888;
	padding: 8px 12px;
}
.list-group a.active, .list-group a.active:hover, .list-group a:hover {
	color: #444444;
	background: #eeeeee;
	border: 1px solid #DDDDDD;
	text-shadow: 0 1px 0 #FFF;
}
/* carousel */
.carousel-caption {
	color: #FFFFFF;
	text-shadow: 0 1px 0 #000000;
}
.carousel-control .icon-prev:before {
	content: '\f053';
	font-family: FontAwesome;
}
.carousel-control .icon-next:before {
	content: '\f054';
	font-family: FontAwesome;
}
/* product list */
.product-thumb {
	border: 1px solid #ddd;
	margin-bottom: 20px;
	overflow: auto;
}
.product-thumb .image {
	text-align: center;
}
.product-thumb .image a {
	display: block;
}
.product-thumb .image a:hover {
	opacity: 0.8;
}
.product-thumb .image img {
	margin-left: auto;
	margin-right: auto;
}
.product-grid .product-thumb .image {
	float: none;
}
@media (min-width: 767px) {
.product-list .product-thumb .image {
	float: left;
	padding: 0 15px;
}
}
.product-thumb h4 {
	font-weight: bold;
}
.product-thumb .caption {
	padding: 0 20px;
	min-height: 180px;
}
.product-list .product-thumb .caption {
	margin-left: 230px;
}
@media (max-width: 1200px) {
.product-grid .product-thumb .caption {
	min-height: 210px;
	padding: 0 10px;
}
}
@media (max-width: 767px) {
.product-list .product-thumb .caption {
	min-height: 0;
	margin-left: 0;
	padding: 0 10px;
}
.product-grid .product-thumb .caption {
	min-height: 0;
}
}
.product-thumb .rating {
	padding-bottom: 10px;
}
.rating .fa-stack {
	font-size: 8px;
}
.rating .fa-star-o {
	color: #999;
	font-size: 15px;
}
.rating .fa-star {
	color: #FC0;
	font-size: 15px;
}
.rating .fa-star + .fa-star-o {
	color: #E69500;
}
h2.price {
	margin: 0;
}
.product-thumb .price {
	color: #444;
}
.product-thumb .price-new {
	font-weight: 600;
}
.product-thumb .price-old {
	color: #999;
	text-decoration: line-through;
	margin-left: 10px;
}
.product-thumb .price-tax {
	color: #999;
	font-size: 12px;
	display: block;
}
.product-thumb .button-group {
	border-top: 1px solid #ddd;
	background-color: #eee;
	overflow: auto;
}
.product-list .product-thumb .button-group {
	border-left: 1px solid #ddd;
}
@media (max-width: 768px) {
	.product-list .product-thumb .button-group {
		border-left: none;
	}
}
.product-thumb .button-group button {
	width: 60%;
	border: none;
	display: inline-block;
	float: left;
	background-color: #eee;
	color: #888;
	line-height: 38px;
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
}
.product-thumb .button-group button + button {
	width: 20%;
	border-left: 1px solid #ddd;
}
.product-thumb .button-group button:hover {
	color: #444;
	background-color: #ddd;
	text-decoration: none;
	cursor: pointer;
}
@media (max-width: 1200px) {
	.product-thumb .button-group button, .product-thumb .button-group button + button {
		width: 33.33%;
	}
}
@media (max-width: 767px) {
	.product-thumb .button-group button, .product-thumb .button-group button + button {
		width: 33.33%;
	}
}
.thumbnails {
	overflow: auto;
	clear: both;
	list-style: none;
	padding: 0;
	margin: 0;
}
.thumbnails > li {
	margin-left: 20px;
}
.thumbnails {
	margin-left: -20px;
}
.thumbnails > img {
	width: 100%;
}
.image-additional a {
	margin-bottom: 20px;
	padding: 5px;
	display: block;
	border: 1px solid #ddd;
}
.image-additional {
	max-width: 78px;
}
.thumbnails .image-additional {
	float: left;
	margin-left: 20px;
}

@media (min-width: 1200px) {
	#content .col-lg-2:nth-child(6n+1),
	#content .col-lg-3:nth-child(4n+1),
	#content .col-lg-4:nth-child(3n+1),
	#content .col-lg-6:nth-child(2n+1) {
		clear:left;
	}
}
@media (min-width: 992px) and (max-width: 1199px) {
	#content .col-md-2:nth-child(6n+1),
	#content .col-md-3:nth-child(4n+1),
	#content .col-md-4:nth-child(3n+1),
	#content .col-md-6:nth-child(2n+1) {
		clear:left;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	#content .col-sm-2:nth-child(6n+1),
	#content .col-sm-3:nth-child(4n+1),
	#content .col-sm-4:nth-child(3n+1),
	#content .col-sm-6:nth-child(2n+1) {
		clear:left;
	}
}

/* fixed colum left + content + right*/
@media (min-width: 768px) {
    #column-left  .product-layout .col-md-3 {
       width: 100%;
    }

	#column-left + #content .product-layout .col-md-3 {
       width: 50%;
    }

	#column-left + #content + #column-right .product-layout .col-md-3 {
       width: 100%;
    }

    #content + #column-right .product-layout .col-md-3 {
       width: 100%;
    }
}

/* fixed product layouts used in left and right columns */
#column-left .product-layout, #column-right .product-layout {
	width: 100%;
}

/* fixed mobile cart quantity input */
.input-group .form-control[name^=quantity] {
	min-width: 50px;
}

/* Missing focus and border color to overwrite bootstrap */
.btn-info:hover, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
    background-image: none;
    background-color: #df5c39;
}
html[dir=rtl] .checkbox input[type="checkbox"],
html[dir=rtl] .checkbox-inline input[type="checkbox"],
html[dir=rtl] .radio input[type="radio"],
html[dir=rtl] .radio-inline input[type="radio"] {
    position: absolute;
    margin-top: 4px\9;
    margin-right: -20px;
      margin-left: unset;
}
html[dir=rtl] .input-group-btn:last-child > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}
html[dir=rtl] .input-group .form-control:first-child {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-top-left-radius: unset;
    border-bottom-left-radius: unset;
}
html[dir=rtl] .container .row:first-child  .col-sm-4, html[dir=rtl] .container .row:first-child  .col-sm-5 {
  float: right;

}
html[dir=rtl] #cart .dropdown-menu {
  left: 0;
  right: auto;

}
@media (min-width: 768px) {
   
    html[dir=rtl] .navbar-nav {
        float: right;
        margin: 0;
    }
    
    html[dir=rtl] .navbar-nav > li {
        float: right;
    }
   
}

/* ========================================================================== */
/* BEGINIUM 2026 — BRAND / UI OVERRIDES                                       */
/* Keeps OpenCart catalogue selectors and behaviour; changes visual system.   */
/* ========================================================================== */

html {
	background: var(--bgn-surface);
}

body,
.bgn-page {
	font-family: var(--bgn-font-family);
	font-weight: 400;
	color: var(--bgn-text);
	font-size: 14px;
	line-height: 1.65;
	background: var(--bgn-surface);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Desktop boxed width used by header, footer and main Bootstrap containers. */
@media (min-width: 1200px) {
	.container {
		width: calc(100% - 48px);
		max-width: var(--bgn-container);
	}
}

@media (min-width: 1320px) {
	.container {
		width: var(--bgn-container);
	}
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--bgn-font-family);
	color: var(--bgn-navy);
	line-height: 1.2;
	letter-spacing: -0.02em;
	margin-top: 0;
}

h1 {
	font-size: 40px;
	font-weight: 800;
	letter-spacing: -0.035em;
}

h2 {
	font-size: 32px;
	font-weight: 800;
}

h3 {
	font-size: 25px;
	font-weight: 700;
}

h4 {
	font-size: 19px;
	font-weight: 700;
}

h5 {
	font-size: 15px;
	font-weight: 700;
}

h6 {
	font-size: 13px;
	font-weight: 700;
}

p,
li,
label,
.form-control,
.dropdown-menu,
.popover,
.input-group input,
.input-group select {
	font-size: 14px;
}

small,
.small {
	font-size: 12px;
}

a {
	color: var(--bgn-green);
	text-decoration: none;
	transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

a:hover,
a:focus {
	color: var(--bgn-green-hover);
	text-decoration: none;
}

::selection {
	background: var(--bgn-green-soft);
	color: var(--bgn-navy);
}

/* Bootstrap / OpenCart form controls */
legend {
	font-size: 20px;
	font-weight: 700;
	color: var(--bgn-navy);
	padding: 8px 0;
	border-color: var(--bgn-border);
}

label {
	font-weight: 600;
	color: var(--bgn-text);
}

.form-control,
select.form-control,
textarea.form-control,
input[type="text"].form-control,
input[type="password"].form-control,
input[type="datetime"].form-control,
input[type="datetime-local"].form-control,
input[type="date"].form-control,
input[type="month"].form-control,
input[type="time"].form-control,
input[type="week"].form-control,
input[type="number"].form-control,
input[type="email"].form-control,
input[type="url"].form-control,
input[type="search"].form-control,
input[type="tel"].form-control,
input[type="color"].form-control {
	font-family: var(--bgn-font-family);
	font-size: 14px;
	color: var(--bgn-text);
	background: #fff;
	border: 1px solid var(--bgn-border-strong);
	border-radius: var(--bgn-radius-sm);
	box-shadow: none;
}

.form-control:focus {
	border-color: var(--bgn-green);
	box-shadow: 0 0 0 3px rgba(21, 128, 61, .10);
}

.input-group .input-group-addon {
	font-size: 13px;
	height: 34px;
	color: var(--bgn-text-soft);
	background: var(--bgn-surface-soft);
	border-color: var(--bgn-border-strong);
}

div.required .control-label:before {
	color: var(--bgn-danger);
}

/* Top bar */
#top {
	background: transparent;
	border: 0;
	padding: 7px 0 4px;
	margin: 0;
	min-height: 36px;
}

#top .container {
	padding-left: 20px;
	padding-right: 20px;
}

#top .btn-link,
#top-links li,
#top-links a {
	font-family: var(--bgn-font-family);
	font-size: 13px;
	font-weight: 500;
	color: var(--bgn-text-soft);
	text-shadow: none;
}

#top .btn-link:hover,
#top-links a:hover {
	color: var(--bgn-green);
}

#top #form-currency .currency-select:hover,
#top #form-language .language-select:hover,
.dropdown-menu li > a:hover,
.dropdown-menu li > a:focus {
	color: #fff;
	background: var(--bgn-green);
	background-image: none;
}

/* Main OpenCart header: white boxed card, visually aligned with the reference. */
header {
	padding: 10px 0 6px;
	background: transparent;
}

header > .container {
	background: var(--bgn-surface);
	border: 1px solid var(--bgn-border);
	border-radius: var(--bgn-radius-lg);
	box-shadow: var(--bgn-shadow-sm);
	padding-top: 14px;
	padding-bottom: 14px;
}

#logo {
	margin: 0;
}

#logo img {
	max-height: 54px;
	width: auto;
}

/* Search */
#search {
	margin-bottom: 0;
}

#search .input-lg {
	height: 42px;
	line-height: 22px;
	padding: 0 14px;
	border-radius: var(--bgn-radius-sm) 0 0 var(--bgn-radius-sm);
}

#search .btn-lg {
	height: 42px;
	font-size: 14px;
	line-height: 20px;
	padding: 10px 18px;
	color: #fff;
	text-shadow: none;
	background: var(--bgn-navy);
	border-color: var(--bgn-navy);
	border-radius: 0 var(--bgn-radius-sm) var(--bgn-radius-sm) 0;
}

#search .btn-lg:hover,
#search .btn-lg:focus {
	background: var(--bgn-green);
	border-color: var(--bgn-green);
}

/* Cart */
#cart {
	margin-bottom: 0;
}

#cart > .btn {
	font-size: 13px;
	font-weight: 600;
	line-height: 20px;
	color: #fff;
	background: var(--bgn-green);
	border-color: var(--bgn-green);
	text-shadow: none;
	box-shadow: none;
}

#cart > .btn:hover,
#cart > .btn:focus {
	background: var(--bgn-green-hover);
	border-color: var(--bgn-green-hover);
}

#cart.open > .btn {
	background: #fff;
	border: 1px solid var(--bgn-border-strong);
	color: var(--bgn-navy);
}

#cart .dropdown-menu {
	background: #fff;
	border: 1px solid var(--bgn-border);
	border-radius: var(--bgn-radius);
	box-shadow: var(--bgn-shadow);
}

/* Catalogue navigation */
#menu {
	font-family: var(--bgn-font-family);
	background: #fff;
	background-image: none;
	border: 0;
	border-top: 1px solid var(--bgn-border);
	border-radius: 0;
	min-height: 46px;
	margin-top: 12px;
	margin-bottom: 18px;
}

#menu .nav > li > a {
	color: var(--bgn-navy);
	font-size: 14px;
	font-weight: 600;
	text-shadow: none;
	padding: 13px 16px;
	min-height: 46px;
	background: transparent;
	position: relative;
}

#menu .nav > li > a:hover,
#menu .nav > li.open > a,
#menu .nav > li.active > a {
	color: var(--bgn-green);
	background: transparent;
}

#menu .nav > li > a:hover:after,
#menu .nav > li.open > a:after,
#menu .nav > li.active > a:after {
	content: "";
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 5px;
	height: 2px;
	background: var(--bgn-green);
	border-radius: 99px;
}

#menu .dropdown-menu {
	padding: 10px 0 0;
	border: 1px solid var(--bgn-border);
	border-radius: var(--bgn-radius);
	box-shadow: var(--bgn-shadow);
}

#menu .dropdown-inner a {
	min-width: 190px;
	padding: 8px 18px;
	line-height: 20px;
	color: var(--bgn-text);
	font-size: 13px;
	font-weight: 500;
}

#menu .dropdown-inner li a:hover {
	color: var(--bgn-green);
	background: var(--bgn-green-soft-2);
}

#menu .see-all {
	border-top: 1px solid var(--bgn-border);
	padding: 10px 18px;
	font-size: 13px;
	font-weight: 700;
	color: var(--bgn-green);
}

#menu .see-all:hover,
#menu .see-all:focus {
	color: #fff;
	background: var(--bgn-green);
	background-image: none;
}

#menu #category {
	font-size: 15px;
	font-weight: 700;
	line-height: 44px;
	color: var(--bgn-navy);
	text-shadow: none;
}

#menu .btn-navbar {
	font-size: 15px;
	color: #fff;
	background: var(--bgn-green);
	background-image: none;
	border-color: var(--bgn-green);
	border-radius: var(--bgn-radius-sm);
}

#menu .btn-navbar:hover,
#menu .btn-navbar:focus,
#menu .btn-navbar:active {
	background: var(--bgn-green-hover);
	border-color: var(--bgn-green-hover);
}

@media (max-width: 767px) {
	header {
		padding-top: 6px;
	}

	header > .container {
		border-radius: 0;
		border-left: 0;
		border-right: 0;
		box-shadow: none;
	}

	#menu {
		background: var(--bgn-navy);
		border-radius: var(--bgn-radius);
		border-top: 0;
		padding: 4px 8px;
	}

	#menu #category {
		color: #fff;
	}

	#menu .dropdown-menu {
		background: rgba(255,255,255,.08);
		border: 0;
		box-shadow: none;
	}

	#menu .dropdown-inner a,
	#menu .see-all {
		color: #fff;
	}

	#menu .dropdown-inner a:hover,
	#menu .see-all:hover {
		color: #fff;
		background: rgba(255,255,255,.10);
	}
}

/* Main content */
#content {
	min-height: 0px;
	padding-bottom: 24px;
}

#product-category #content,
#product-product #tab-description,
#information-information #content {
	font-size: 15px;
	line-height: 1.72;
}

/* Breadcrumb */
.breadcrumb {
	margin: 0 0 24px;
	padding: 10px 14px;
	background: var(--bgn-surface-soft);
	border: 1px solid var(--bgn-border);
	border-radius: var(--bgn-radius-sm);
}

.breadcrumb > li {
	font-size: 13px;
	font-weight: 500;
	text-shadow: none;
	padding: 0 14px;
}

.breadcrumb > li:first-child {
	padding-left: 2px;
}

.breadcrumb > li:after {
	display: none;
}

.breadcrumb > li + li:before {
	content: "/";
	padding: 0 10px 0 0;
	color: #A1AAA5;
}

.breadcrumb a {
	color: var(--bgn-text-soft);
}

.breadcrumb a:hover {
	color: var(--bgn-green);
}

/* Buttons */
.btn {
	font-family: var(--bgn-font-family);
	padding: 9px 16px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	border-radius: var(--bgn-radius-sm);
	box-shadow: none;
	text-shadow: none;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.btn:focus,
.btn:active:focus,
.btn.active:focus {
	outline: none;
	box-shadow: 0 0 0 3px rgba(21, 128, 61, .12);
}

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

.btn-xs {
	font-size: 11px;
	padding: 4px 8px;
}

.btn-sm {
	font-size: 12px;
	padding: 7px 12px;
}

.btn-lg {
	padding: 12px 20px;
	font-size: 15px;
	border-radius: 10px;
}

.btn-default {
	color: var(--bgn-navy);
	background: #fff;
	background-image: none;
	border-color: var(--bgn-border-strong);
}

.btn-default:hover,
.btn-default:focus,
.btn-default:active,
.btn-default.active {
	color: var(--bgn-green);
	background: var(--bgn-green-soft-2);
	border-color: #BFD5C7;
}

.btn-primary,
.btn-success {
	color: #fff;
	background: var(--bgn-green);
	background-image: none;
	border-color: var(--bgn-green);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active {
	color: #fff;
	background: var(--bgn-green-hover);
	background-image: none;
	border-color: var(--bgn-green-hover);
}

.btn-info {
	color: #fff;
	background: var(--bgn-info);
	background-image: none;
	border-color: var(--bgn-info);
}

.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active,
.btn-info.disabled,
.btn-info[disabled] {
	background: #125A72;
	border-color: #125A72;
}

.btn-warning {
	color: #fff;
	background: var(--bgn-warning);
	background-image: none;
	border-color: var(--bgn-warning);
}

.btn-danger {
	color: #fff;
	background: var(--bgn-danger);
	background-image: none;
	border-color: var(--bgn-danger);
}

.btn-link {
	color: var(--bgn-green);
	font-weight: 600;
}

.btn-link:hover,
.btn-link:focus {
	color: var(--bgn-green-hover);
}

.btn-inverse {
	color: #fff;
	background: var(--bgn-navy);
	background-image: none;
	border-color: var(--bgn-navy);
}

.btn-inverse:hover,
.btn-inverse:focus,
.btn-inverse:active,
.btn-inverse.active {
	background: var(--bgn-navy-900);
	border-color: var(--bgn-navy-900);
}

/* Tabs */
.nav-tabs {
	border-bottom: 1px solid var(--bgn-border);
	margin-bottom: 20px;
}

.nav-tabs > li > a {
	font-weight: 600;
	color: var(--bgn-text-soft);
	border-radius: var(--bgn-radius-sm) var(--bgn-radius-sm) 0 0;
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
	color: var(--bgn-navy);
	border-color: var(--bgn-border) var(--bgn-border) #fff;
	border-top: 2px solid var(--bgn-green);
}

/* Alerts */
.alert {
	padding: 10px 14px;
	border-radius: var(--bgn-radius-sm);
	box-shadow: none;
}

/* List groups / side navigation */
.list-group a {
	border: 1px solid var(--bgn-border);
	color: var(--bgn-text-soft);
	padding: 10px 13px;
	background: #fff;
}

.list-group a.active,
.list-group a.active:hover,
.list-group a:hover {
	color: var(--bgn-navy);
	background: var(--bgn-green-soft-2);
	border-color: #CDE0D3;
	text-shadow: none;
}

/* Catalogue cards — preserve product-grid/product-list mechanics. */
.product-thumb {
	border: 1px solid var(--bgn-border);
	border-radius: var(--bgn-radius);
	background: #fff;
	box-shadow: var(--bgn-shadow-sm);
	margin-bottom: 24px;
	overflow: hidden;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.product-thumb:hover {
	border-color: #C9D8CF;
	box-shadow: var(--bgn-shadow);
	transform: translateY(-2px);
}

.product-thumb .image {
	background: var(--bgn-surface-soft);
	overflow: hidden;
}

.product-thumb .image a:hover {
	opacity: 1;
}

.product-thumb .image img {
	transition: transform .25s ease;
}

.product-thumb:hover .image img {
	transform: scale(1.015);
}

.product-thumb h4 {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	margin-top: 4px;
}

.product-thumb h4 a {
	color: var(--bgn-navy);
}

.product-thumb h4 a:hover {
	color: var(--bgn-green);
}

.product-thumb .caption {
	padding: 18px 20px;
	min-height: 175px;
	color: var(--bgn-text-soft);
}

.product-thumb .price {
	color: var(--bgn-navy);
	font-size: 17px;
	font-weight: 700;
}

.product-thumb .price-new {
	font-weight: 800;
	color: var(--bgn-navy);
}

.product-thumb .price-old {
	color: var(--bgn-muted);
}

.product-thumb .price-tax {
	color: var(--bgn-muted);
	font-size: 12px;
}

.product-thumb .button-group {
	border-top: 1px solid var(--bgn-border);
	background: #fff;
}

.product-list .product-thumb .button-group {
	border-left: 1px solid var(--bgn-border);
}

.product-thumb .button-group button {
	background: #fff;
	color: var(--bgn-navy);
	font-family: var(--bgn-font-family);
	font-size: 12px;
	font-weight: 700;
	line-height: 42px;
	text-transform: none;
}

.product-thumb .button-group button + button {
	border-left: 1px solid var(--bgn-border);
}

.product-thumb .button-group button:hover {
	color: #fff;
	background: var(--bgn-green);
}

.rating .fa-star-o {
	color: #B7C0BA;
}

.rating .fa-star,
.rating .fa-star + .fa-star-o {
	color: var(--bgn-green);
}

.image-additional a {
	border: 1px solid var(--bgn-border);
	border-radius: var(--bgn-radius-sm);
	background: #fff;
}

.image-additional a:hover {
	border-color: var(--bgn-green);
}

/* Pagination */
.pagination > li > a,
.pagination > li > span {
	color: var(--bgn-navy);
	border-color: var(--bgn-border);
}

.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
	color: var(--bgn-green);
	background: var(--bgn-green-soft-2);
	border-color: #CDE0D3;
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover {
	color: #fff;
	background: var(--bgn-green);
	border-color: var(--bgn-green);
}

/* Footer — deep professional green, content boxed to 1240px. */
footer {
	margin-top: 48px;
	padding: 48px 0 26px;
	background: var(--bgn-footer);
	border-top: 0;
	color: rgba(255,255,255,.84);
}

footer .container {
	position: relative;
}

footer hr {
	border-top: 0;
	border-bottom: 1px solid rgba(255,255,255,.16);
	margin: 28px 0;
}

footer h5 {
	font-family: var(--bgn-font-family);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #fff;
	margin-bottom: 14px;
}

footer a {
	color: rgba(255,255,255,.80);
}

footer a:hover,
footer a:focus {
	color: #fff;
}

footer p,
footer li {
	color: rgba(255,255,255,.80);
}

/* Reusable Beginium 2026 foundations for the custom pages built next. */
.bgn-boxed {
	width: calc(100% - 48px);
	max-width: var(--bgn-container);
	margin-left: auto;
	margin-right: auto;
}

.bgn-section {
	padding: 72px 0;
}

.bgn-section--soft {
	background: var(--bgn-surface-soft);
}

.bgn-section--green-soft {
	background: var(--bgn-green-soft-2);
}

.bgn-kicker {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 10px;
	border-radius: 999px;
	background: var(--bgn-green-soft);
	color: var(--bgn-green);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}

.bgn-card {
	background: #fff;
	border: 1px solid var(--bgn-border);
	border-radius: var(--bgn-radius);
	box-shadow: var(--bgn-shadow-sm);
}

.bgn-card--interactive {
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.bgn-card--interactive:hover {
	border-color: #C9D8CF;
	box-shadow: var(--bgn-shadow);
	transform: translateY(-2px);
}

.bgn-practice-note {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 13px 15px;
	border: 1px solid #D8EBDD;
	border-radius: var(--bgn-radius-sm);
	background: var(--bgn-green-soft);
	color: var(--bgn-text);
	font-size: 13px;
	font-weight: 500;
}

.bgn-practice-note strong {
	color: var(--bgn-green);
	font-weight: 700;
}

.bgn-btn-outline {
	color: var(--bgn-green);
	background: #fff;
	border: 1px solid var(--bgn-green);
}

.bgn-btn-outline:hover,
.bgn-btn-outline:focus {
	color: #fff;
	background: var(--bgn-green);
	border-color: var(--bgn-green);
}

.bgn-heading {
	max-width: 760px;
	margin-bottom: 30px;
}

.bgn-heading p {
	margin-top: 10px;
	color: var(--bgn-text-soft);
	font-size: 16px;
	line-height: 1.65;
}

/* Responsive type / spacing */
@media (max-width: 991px) {
	h1 { font-size: 34px; }
	h2 { font-size: 28px; }
	h3 { font-size: 22px; }

	.bgn-section {
		padding: 56px 0;
	}
}

@media (max-width: 767px) {
	body,
	.bgn-page {
		font-size: 14px;
	}

	h1 { font-size: 31px; }
	h2 { font-size: 25px; }
	h3 { font-size: 21px; }
	h4 { font-size: 18px; }

	.bgn-boxed {
		width: calc(100% - 30px);
	}

	.bgn-section {
		padding: 44px 0;
	}

	footer {
		margin-top: 36px;
		padding-top: 38px;
	}
}

/* Accessibility: preserve a visible keyboard focus state. */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.form-control:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid rgba(21, 128, 61, .25);
	outline-offset: 2px;
}

/* Motion preference */
@media (prefers-reduced-motion: reduce) {
	*,
	*:before,
	*:after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}



























/* ========================================================================== */
/* BEGINIUM 2026 · PREFOOTER + FOOTER                                         */
/* Boxed content: 1240px · Footer background: full width                      */
/* ========================================================================== */

.bgn-footer-zone {
  --bgn-footer-boxed: 1240px;
  --bgn-footer-bg: #003022;
  --bgn-prefooter-bg-start: #004943;
  --bgn-prefooter-bg-end: #00433e;
  --bgn-footer-white: #ffffff;
  --bgn-footer-text: rgba(255, 255, 255, 0.82);
  --bgn-footer-muted: rgba(255, 255, 255, 0.66);
  --bgn-footer-line: rgba(255, 255, 255, 0.16);
  --bgn-footer-green: #00a94f;
  --bgn-footer-green-hover: #009445;

  position: relative;
  margin-top: 126px;
  font-family: var(--bgn-font-family, "Figtree", system-ui, sans-serif);
}

/* Prefooter: centro exactamente sobre el inicio del footer. */
.bgn-prefooter {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);

  width: calc(100% - 48px);
  max-width: var(--bgn-footer-boxed);
  min-height: 176px;
  padding: 34px 44px;

  display: grid;
  grid-template-columns: 108px minmax(0, 1fr) auto;
  align-items: center;
  gap: 30px;

  color: var(--bgn-footer-white);
  background: linear-gradient(135deg, var(--bgn-prefooter-bg-start) 0%, var(--bgn-prefooter-bg-end) 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 24px;
  box-shadow: 0 18px 45px rgba(0, 20, 15, 0.20);
}

.bgn-prefooter__icon {
  width: 94px;
  height: 94px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(145deg, #00aa50, #087a3e);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 10px 24px rgba(0, 28, 18, .22);
}

.bgn-prefooter__icon .fa {
  font-size: 42px;
  line-height: 1;
  transform: rotate(-10deg);
}

.bgn-prefooter__content h2 {
  margin: 0 0 8px;
  max-width: 560px;
  color: #fff;
  font-family: inherit;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.028em;
}

.bgn-prefooter__content p {
  margin: 0;
  max-width: 610px;
  color: rgba(255,255,255,.84);
  font-size: 16px;
  line-height: 1.55;
}

.bgn-prefooter__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  white-space: nowrap;
}

.bgn-prefooter__btn {
  min-width: 168px;
  min-height: 52px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.bgn-prefooter__btn:hover,
.bgn-prefooter__btn:focus {
  text-decoration: none;
  transform: translateY(-1px);
}

.bgn-prefooter__btn--primary {
  color: #fff;
  background: var(--bgn-footer-green);
  border: 1px solid var(--bgn-footer-green);
}

.bgn-prefooter__btn--primary:hover,
.bgn-prefooter__btn--primary:focus {
  color: #fff;
  background: var(--bgn-footer-green-hover);
  border-color: var(--bgn-footer-green-hover);
}

.bgn-prefooter__btn--outline {
  color: #fff;
  background: transparent;
  border: 2px solid rgba(255,255,255,.92);
}

.bgn-prefooter__btn--outline:hover,
.bgn-prefooter__btn--outline:focus {
  color: #fff;
  background: rgba(255,255,255,.08);
  border-color: #fff;
}

/* Footer: fondo full width, sin border-radius. Solo el contenido va boxed. */
footer.bgn-site-footer {
  width: 100%;
  margin: 0;
  padding: 136px 0 28px;
  color: var(--bgn-footer-text);
  background: var(--bgn-footer-bg);
  border: 0;
  border-radius: 0;
}

.bgn-site-footer__boxed {
  width: calc(100% - 48px);
  max-width: var(--bgn-footer-boxed);
  margin: 0 auto;
}

.bgn-site-footer__grid {
  display: grid;
  grid-template-columns: 1.32fr .95fr 1.15fr 1fr .88fr;
  gap: 46px;
  align-items: start;
}

.bgn-site-footer__brand,
.bgn-site-footer__col {
  min-width: 0;
}

.bgn-site-footer__logo {
  display: inline-flex;
  align-items: center;
  margin-bottom: 18px;
}

.bgn-site-footer__logo img {
  display: block;
  width: auto;
  max-width: 215px;
  height: auto;
}

.bgn-site-footer__brand p {
  margin: 0 0 20px;
  max-width: 245px;
  color: var(--bgn-footer-text);
  font-size: 14px;
  line-height: 1.6;
}

.bgn-site-footer__col h3 {
  margin: 0 0 18px;
  color: #fff;
  font-family: inherit;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
}

.bgn-site-footer__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.bgn-site-footer__col li {
  margin: 0 0 11px;
  padding: 0;
}

.bgn-site-footer a,
.bgn-site-footer span {
  color: var(--bgn-footer-text);
  font-size: 14px;
  line-height: 1.55;
}












/* ========================================================================== */
/* BEGINIUM 2026 · HEADER BOXED + STICKY + MEGAMENÚ                          */
/* ========================================================================== */

.bgn-header {
  position: sticky;
  top: 0;
  z-index: 1200;
  width: 100%;
  padding: 18px 20px 0;
  font-family: var(--bgn-font-family, "Figtree", system-ui, sans-serif);
  pointer-events: none;
}

.bgn-header__boxed {
  width: min(var(--bgn-container, 1240px), 100%);
  margin: 0 auto;
  pointer-events: auto;
}

.bgn-header__bar {
  position: relative;
  min-height: 88px;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 0 24px 0 28px;
  background: #fff;
  border: 1px solid rgba(7, 27, 73, .08);
  border-radius: 20px;
  box-shadow:
    0 10px 30px rgba(7, 27, 73, .08),
    0 2px 8px rgba(7, 27, 73, .04);
}

.bgn-header__logo {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  color: inherit;
}

.bgn-header__logo img {
  display: block;
  width: auto;
  max-width: 238px;
  max-height: 62px;
  height: auto;
}

.bgn-header__nav {
  flex: 1 1 auto;
  align-self: stretch;
  min-width: 0;
}

.bgn-header__nav-list {
  height: 100%;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bgn-header__nav-item {
  position: relative;
  height: 100%;
  display: flex;
  align-items: stretch;
}

.bgn-header__nav-item--courses {
  position: static;
}

.bgn-header__nav-link {
  position: relative;
  height: 100%;
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  color: var(--bgn-navy, #071B49);
  font-size: 16px;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
}

.bgn-header__nav-link::after {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 0;
  height: 3px;
  border-radius: 3px 3px 0 0;
  background: var(--bgn-green, #15803D);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .22s ease;
}

.bgn-header__nav-link:hover,
.bgn-header__nav-link:focus {
  color: var(--bgn-green, #15803D);
}

.bgn-header__nav-link:hover::after,
.bgn-header__nav-link:focus::after,
.bgn-header__nav-item--courses:hover .bgn-header__nav-link::after,
.bgn-header__nav-item--courses:focus-within .bgn-header__nav-link::after,
.bgn-header__nav-item--courses.is-open .bgn-header__nav-link::after {
  transform: scaleX(1);
}

.bgn-header__courses-trigger {
  height: 100%;
  display: flex;
  align-items: center;
}

.bgn-header__courses-toggle {
  width: 28px;
  height: 42px;
  margin-left: -4px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--bgn-green, #15803D);
  cursor: pointer;
}

.bgn-header__courses-toggle .fa {
  font-size: 17px;
  transition: transform .22s ease;
}

.bgn-header__nav-item--courses:hover .bgn-header__courses-toggle .fa,
.bgn-header__nav-item--courses:focus-within .bgn-header__courses-toggle .fa,
.bgn-header__nav-item--courses.is-open .bgn-header__courses-toggle .fa {
  transform: rotate(180deg);
}

.bgn-header__cta {
  flex: 0 0 auto;
  min-width: 154px;
  min-height: 52px;
  padding: 0 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--bgn-green, #15803D);
  border: 1px solid var(--bgn-green, #15803D);
  border-radius: 999px;
  font-size: 16px;
  font-weight: 750;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(21, 128, 61, .13);
}

.bgn-header__cta:hover,
.bgn-header__cta:focus {
  color: #fff;
  background: var(--bgn-green-hover, #116A33);
  border-color: var(--bgn-green-hover, #116A33);
  transform: translateY(-1px);
  box-shadow: 0 11px 24px rgba(21, 128, 61, .20);
}

/* Megamenú: el padding superior funciona como puente de hover. */
.bgn-header__mega {
  position: absolute;
  top: 100%;
  left: 50%;
  width: min(860px, calc(100vw - 48px));
  padding-top: 14px;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 10px);
  pointer-events: none;
  transition:
    opacity .18s ease,
    visibility .18s ease,
    transform .22s ease;
}

.bgn-header__nav-item--courses:hover .bgn-header__mega,
.bgn-header__nav-item--courses:focus-within .bgn-header__mega,
.bgn-header__nav-item--courses.is-open .bgn-header__mega {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  pointer-events: auto;
}

.bgn-header__mega-panel {
  position: relative;
  padding: 25px 26px 22px;
  background: #fff;
  border: 1px solid rgba(7, 27, 73, .09);
  border-radius: 20px;
  box-shadow:
    0 22px 55px rgba(7, 27, 73, .13),
    0 4px 12px rgba(7, 27, 73, .05);
}

.bgn-header__mega-panel::before {
  content: "";
  position: absolute;
  top: -9px;
  left: 34%;
  width: 18px;
  height: 18px;
  background: #fff;
  border-left: 1px solid rgba(7, 27, 73, .09);
  border-top: 1px solid rgba(7, 27, 73, .09);
  transform: rotate(45deg);
}

.bgn-header__mega-title {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 18px;
  color: var(--bgn-navy, #071B49);
  font-size: 20px;
  font-weight: 780;
  line-height: 1.2;
}

.bgn-header__mega-title .fa {
  color: var(--bgn-green, #15803D);
  font-size: 27px;
}

.bgn-header__course-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px 14px;
}

.bgn-header__course {
  position: relative;
  min-height: 104px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 60px minmax(0, 1fr) 22px;
  align-items: center;
  gap: 14px;
  padding: 14px 15px 14px 16px;
  color: var(--bgn-navy, #071B49);
  background: #fff;
  border: 1px solid var(--bgn-border, #E3E8E5);
  border-radius: 14px;
  text-decoration: none;
  box-shadow: 0 2px 7px rgba(7, 27, 73, .025);
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

/*
 * Hover propio de Beginium:
 * - barrido verde muy suave desde la izquierda
 * - línea vertical que "crece"
 * - icono invierte a verde sólido
 * - flecha aparece desplazándose
 */
.bgn-header__course::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  top: 15px;
  bottom: 15px;
  width: 3px;
  border-radius: 0 4px 4px 0;
  background: var(--bgn-green, #15803D);
  transform: scaleY(0);
  transform-origin: center;
  transition: transform .22s ease;
}

.bgn-header__course::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background: linear-gradient(
    100deg,
    rgba(21, 128, 61, .10) 0%,
    rgba(21, 128, 61, .045) 42%,
    rgba(21, 128, 61, 0) 76%
  );
  transform: translateX(-102%);
  transition: transform .32s ease;
}

.bgn-header__course:hover,
.bgn-header__course:focus {
  color: var(--bgn-navy, #071B49);
  border-color: rgba(21, 128, 61, .28);
  transform: translateY(-2px);
  box-shadow: 0 9px 22px rgba(7, 27, 73, .08);
}

.bgn-header__course:hover::before,
.bgn-header__course:focus::before {
  transform: scaleY(1);
}

.bgn-header__course:hover::after,
.bgn-header__course:focus::after {
  transform: translateX(0);
}

.bgn-header__course-icon,
.bgn-header__course-copy,
.bgn-header__course-arrow {
  position: relative;
  z-index: 2;
}

.bgn-header__course-icon {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-green, #15803D);
  background: var(--bgn-green-soft-2, #F4F8F5);
  border: 1px solid rgba(21, 128, 61, .24);
  border-radius: 12px;
  transition:
    color .22s ease,
    background .22s ease,
    border-color .22s ease,
    transform .22s ease;
}

.bgn-header__course-icon .fa {
  font-size: 25px;
}

.bgn-header__course:hover .bgn-header__course-icon,
.bgn-header__course:focus .bgn-header__course-icon {
  color: #fff;
  background: var(--bgn-green, #15803D);
  border-color: var(--bgn-green, #15803D);
  transform: rotate(-2deg) scale(1.035);
}

.bgn-header__course-copy {
  min-width: 0;
  display: block;
}

.bgn-header__course-copy strong {
  display: block;
  margin-bottom: 5px;
  color: var(--bgn-navy, #071B49);
  font-size: 15.5px;
  font-weight: 750;
  line-height: 1.25;
}

.bgn-header__course-copy small {
  display: block;
  color: var(--bgn-text-soft, #5F6B76);
  font-size: 12.5px;
  line-height: 1.4;
}

.bgn-header__course-arrow {
  color: var(--bgn-green, #15803D);
  opacity: 0;
  transform: translateX(-7px);
  transition: opacity .22s ease, transform .22s ease;
}

.bgn-header__course-arrow .fa {
  font-size: 20px;
}

.bgn-header__course:hover .bgn-header__course-arrow,
.bgn-header__course:focus .bgn-header__course-arrow {
  opacity: 1;
  transform: translateX(0);
}

.bgn-header__all-courses {
  min-height: 54px;
  margin-top: 14px;
  padding: 0 18px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 22px;
  align-items: center;
  gap: 10px;
  color: var(--bgn-green, #15803D);
  background: #fff;
  border: 1px solid var(--bgn-border, #E3E8E5);
  border-radius: 12px;
  text-decoration: none;
  transition:
    background .2s ease,
    border-color .2s ease,
    transform .2s ease;
}

.bgn-header__all-courses:hover,
.bgn-header__all-courses:focus {
  color: var(--bgn-green-hover, #116A33);
  background: var(--bgn-green-soft-2, #F4F8F5);
  border-color: rgba(21, 128, 61, .25);
}

.bgn-header__all-courses-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bgn-header__all-courses-icon .fa {
  font-size: 23px;
}

.bgn-header__all-courses strong {
  text-align: center;
  font-size: 15px;
  font-weight: 750;
}

.bgn-header__all-courses > .fa {
  justify-self: end;
  font-size: 19px;
  transition: transform .2s ease;
}

.bgn-header__all-courses:hover > .fa,
.bgn-header__all-courses:focus > .fa {
  transform: translateX(4px);
}

.bgn-header__practice-note {
  min-height: 44px;
  margin-top: 13px;
  padding: 9px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--bgn-text-soft, #5F6B76);
  background: linear-gradient(
    90deg,
    rgba(21, 128, 61, .10),
    rgba(21, 128, 61, .045)
  );
  border: 1px solid rgba(21, 128, 61, .10);
  border-radius: 11px;
  font-size: 12.5px;
  line-height: 1.4;
}

.bgn-header__practice-note .fa {
  flex: 0 0 auto;
  color: var(--bgn-green, #15803D);
  font-size: 16px;
}

.bgn-header__practice-note strong {
  color: var(--bgn-navy, #071B49);
  font-weight: 720;
}

/* Botón hamburguesa y CTA móvil */
.bgn-header__mobile-toggle,
.bgn-header__mobile-cta {
  display: none;
}

@media (max-width: 1199px) {
  .bgn-header__bar {
    gap: 18px;
    padding-left: 22px;
    padding-right: 20px;
  }

  .bgn-header__logo img {
    max-width: 205px;
  }

  .bgn-header__nav-list {
    gap: 12px;
  }

  .bgn-header__nav-link {
    padding-left: 6px;
    padding-right: 6px;
    font-size: 15px;
  }

  .bgn-header__cta {
    min-width: 132px;
    min-height: 48px;
    padding: 0 19px;
    font-size: 15px;
  }

  .bgn-header__mega {
    width: min(820px, calc(100vw - 44px));
  }
}

@media (max-width: 991px) {
  .bgn-header {
    padding: 12px 14px 0;
  }

  .bgn-header__bar {
    min-height: 76px;
    padding: 0 18px;
    border-radius: 17px;
  }

  .bgn-header__logo img {
    max-width: 190px;
    max-height: 52px;
  }

  .bgn-header__cta {
    display: none;
  }

  .bgn-header__mobile-toggle {
    margin-left: auto;
    width: 44px;
    height: 44px;
    padding: 9px;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 1px solid var(--bgn-border, #E3E8E5);
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
  }

  .bgn-header__mobile-toggle span {
    width: 20px;
    height: 2px;
    display: block;
    background: var(--bgn-navy, #071B49);
    border-radius: 2px;
    transition: transform .2s ease, opacity .2s ease;
  }

  .bgn-header.is-nav-open .bgn-header__mobile-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .bgn-header.is-nav-open .bgn-header__mobile-toggle span:nth-child(2) {
    opacity: 0;
  }

  .bgn-header.is-nav-open .bgn-header__mobile-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .bgn-header__nav {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    height: auto;
    display: none;
    padding: 12px;
    background: #fff;
    border: 1px solid rgba(7, 27, 73, .08);
    border-radius: 16px;
    box-shadow: 0 18px 45px rgba(7, 27, 73, .13);
  }

  .bgn-header.is-nav-open .bgn-header__nav {
    display: block;
  }

  .bgn-header__nav-list {
    display: block;
    height: auto;
  }

  .bgn-header__nav-item,
  .bgn-header__courses-trigger {
    height: auto;
  }

  .bgn-header__nav-item {
    display: block;
  }

  .bgn-header__courses-trigger {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: center;
  }

  .bgn-header__nav-link {
    width: 100%;
    min-height: 48px;
    padding: 0 12px;
    font-size: 15px;
  }

  .bgn-header__nav-link::after {
    left: 12px;
    right: auto;
    bottom: 4px;
    width: 34px;
    height: 2px;
    transform-origin: left;
  }

  .bgn-header__courses-toggle {
    width: 44px;
    height: 44px;
    margin: 0;
  }

  .bgn-header__mega {
    position: static;
    width: 100%;
    padding-top: 7px;
    display: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
    transition: none;
  }

  .bgn-header__nav-item--courses:hover .bgn-header__mega,
  .bgn-header__nav-item--courses:focus-within .bgn-header__mega {
    display: none;
    transform: none;
  }

  .bgn-header__nav-item--courses.is-open .bgn-header__mega {
    display: block;
  }

  .bgn-header__mega-panel {
    padding: 18px;
    border-radius: 14px;
    box-shadow: none;
    background: var(--bgn-surface-soft, #F7F9F8);
  }

  .bgn-header__mega-panel::before {
    display: none;
  }

  .bgn-header__course-grid {
    grid-template-columns: 1fr 1fr;
  }

  .bgn-header__course {
    min-height: 92px;
  }

  .bgn-header__mobile-cta {
    margin-top: 9px;
  }

  .bgn-header__mobile-cta a {
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--bgn-green, #15803D);
    border-radius: 10px;
    font-size: 15px;
    font-weight: 750;
  }
}

@media (max-width: 639px) {
  .bgn-header__course-grid {
    grid-template-columns: 1fr;
  }

  .bgn-header__mega-title {
    font-size: 18px;
  }

  .bgn-header__course {
    min-height: 86px;
    grid-template-columns: 52px minmax(0, 1fr) 18px;
    gap: 11px;
    padding: 12px;
  }

  .bgn-header__course-icon {
    width: 50px;
    height: 50px;
  }

  .bgn-header__course-icon .fa {
    font-size: 22px;
  }

  .bgn-header__course-copy strong {
    font-size: 14.5px;
  }

  .bgn-header__course-copy small {
    font-size: 12px;
  }

  .bgn-header__practice-note {
    align-items: flex-start;
  }
}

@media (max-width: 419px) {
  .bgn-header__logo img {
    max-width: 160px;
  }

  .bgn-header__bar {
    min-height: 70px;
    padding: 0 14px;
  }

  .bgn-header__nav {
    left: -1px;
    right: -1px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bgn-header *,
  .bgn-header *::before,
  .bgn-header *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
.bgn-site-footer a {
  text-decoration: none;
}

.bgn-site-footer a:hover,
.bgn-site-footer a:focus {
  color: #fff;
  text-decoration: none;
}

.bgn-site-footer__all {
  display: block;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--bgn-footer-line);
}

.bgn-site-footer__social {
  display: flex;
  align-items: center;
  gap: 9px;
}

.bgn-site-footer__social a {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 7px;
  background: rgba(255,255,255,.025);
}

.bgn-site-footer__social a:hover,
.bgn-site-footer__social a:focus {
  color: #fff;
  border-color: rgba(255,255,255,.55);
  background: rgba(255,255,255,.08);
}

.bgn-site-footer__social .fa {
  font-size: 17px;
}

.bgn-site-footer__contact-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Delimitadores pedidos entre WhatsApp/Teléfono, horario y email. */
.bgn-site-footer__divider {
  display: block;
  width: 100%;
  height: 1px;
  margin: 13px 0;
  background: var(--bgn-footer-line);
}

.bgn-site-footer__bottom {
  margin-top: 34px;
  padding-top: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border-top: 1px solid var(--bgn-footer-line);
}

.bgn-site-footer__bottom p {
  margin: 0;
  color: var(--bgn-footer-muted);
  font-size: 13px;
  line-height: 1.5;
}

.bgn-site-footer__bottom p:last-child {
  text-align: right;
}

@media (max-width: 1199px) {
  .bgn-footer-zone {
    margin-top: 144px;
  }

  .bgn-prefooter {
    grid-template-columns: 86px minmax(0, 1fr) auto;
    gap: 24px;
    min-height: 190px;
    padding: 30px 32px;
  }

  .bgn-prefooter__icon {
    width: 78px;
    height: 78px;
  }

  .bgn-prefooter__icon .fa {
    font-size: 34px;
  }

  .bgn-prefooter__content h2 {
    font-size: 27px;
  }

  .bgn-prefooter__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .bgn-prefooter__btn {
    min-width: 172px;
  }

  footer.bgn-site-footer {
    padding-top: 142px;
  }

  .bgn-site-footer__grid {
    grid-template-columns: 1.25fr 1fr 1.15fr 1fr;
    gap: 38px;
  }

  .bgn-site-footer__brand {
    grid-column: span 4;
  }

  .bgn-site-footer__brand p {
    max-width: 460px;
  }
}

@media (max-width: 767px) {
  .bgn-footer-zone {
    margin-top: 220px;
  }

  .bgn-prefooter {
    width: calc(100% - 30px);
    min-height: 330px;
    padding: 28px 24px;
    grid-template-columns: 1fr;
    gap: 18px;
    text-align: center;
  }

  .bgn-prefooter__icon {
    width: 72px;
    height: 72px;
    margin: 0 auto;
  }

  .bgn-prefooter__content h2 {
    margin-left: auto;
    margin-right: auto;
    font-size: 25px;
  }

  .bgn-prefooter__content p {
    margin-left: auto;
    margin-right: auto;
    font-size: 15px;
  }

  .bgn-prefooter__actions {
    width: 100%;
    flex-direction: column;
  }

  .bgn-prefooter__btn {
    width: 100%;
    min-height: 50px;
  }

  footer.bgn-site-footer {
    padding-top: 196px;
    padding-bottom: 24px;
  }

  .bgn-site-footer__boxed {
    width: calc(100% - 30px);
  }

  .bgn-site-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 34px 26px;
  }

  .bgn-site-footer__brand {
    grid-column: span 2;
  }

  .bgn-site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .bgn-site-footer__bottom p:last-child {
    text-align: left;
  }
}

@media (max-width: 479px) {
  .bgn-site-footer__grid {
    grid-template-columns: 1fr;
  }

  .bgn-site-footer__brand {
    grid-column: auto;
  }
}







/* ==========================================================================
   BEGINIUM 2026 · SOBRE BEGINIUM
   Requiere beginium-2026.css como base.
   No incluye header, prefooter ni footer.
   ========================================================================== */

.bgn-about {
  --bgn-about-navy: var(--bgn-navy, #071B49);
  --bgn-about-green: var(--bgn-green, #15803D);
  --bgn-about-green-dark: var(--bgn-green-hover, #116A33);
  --bgn-about-text: var(--bgn-text, #111827);
  --bgn-about-muted: var(--bgn-text-soft, #5F6B76);
  --bgn-about-border: var(--bgn-border, #E3E8E5);
  --bgn-about-soft: #F6F9F7;
  --bgn-about-soft-green: #EDF7F0;
  --bgn-about-boxed: var(--bgn-container, 1240px);

  width: 100%;
  overflow: hidden;
  color: var(--bgn-about-text);
  font-family: var(--bgn-font-family, "Figtree", system-ui, sans-serif);
  background: #fff;
}

.bgn-about *,
.bgn-about *::before,
.bgn-about *::after {
  box-sizing: border-box;
}

.bgn-about__boxed {
  width: min(var(--bgn-about-boxed), calc(100% - 40px));
  margin: 0 auto;
}

.bgn-about-section {
  padding: 66px 0;
}

.bgn-about__eyebrow {
  margin: 0 0 16px;
  color: var(--bgn-about-green);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.bgn-about__accent {
  display: block;
  width: 48px;
  height: 3px;
  margin: 26px 0 26px;
  border-radius: 99px;
  background: var(--bgn-about-green);
}

.bgn-about__section-heading {
  margin-bottom: 32px;
}

.bgn-about__section-heading--left {
  display: flex;
  align-items: center;
  gap: 17px;
}

.bgn-about__section-heading--center {
  text-align: center;
}

.bgn-about__section-heading h2 {
  margin: 0;
  color: var(--bgn-about-navy);
  font-size: clamp(26px, 2.25vw, 34px);
  font-weight: 780;
  line-height: 1.15;
  letter-spacing: -.025em;
}

.bgn-about__section-line {
  display: block;
  width: 46px;
  height: 3px;
  margin: 13px auto 0;
  border-radius: 99px;
  background: var(--bgn-about-green);
}

.bgn-about__heading-icon {
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-about-green);
  background: var(--bgn-about-soft-green);
  border-radius: 50%;
}

.bgn-about__heading-icon .fa {
  font-size: 25px;
}


/* HERO
   ========================================================================== */

.bgn-about-hero {
  padding: 46px 0 24px;
}

.bgn-about-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(500px, 1.12fr);
  align-items: center;
  gap: 54px;
}

.bgn-about-hero__copy {
  padding: 18px 0 20px;
}

.bgn-about-hero h1 {
  max-width: 570px;
  margin: 0;
  color: var(--bgn-about-navy);
  font-size: clamp(38px, 4.25vw, 59px);
  font-weight: 790;
  line-height: 1.055;
  letter-spacing: -.045em;
}

.bgn-about-hero__lead {
  max-width: 610px;
  margin: 0 0 18px;
  color: var(--bgn-about-navy);
  font-size: 18px;
  font-weight: 730;
  line-height: 1.45;
}

.bgn-about-hero__text {
  max-width: 610px;
  margin: 0;
  color: var(--bgn-about-muted);
  font-size: 16px;
  line-height: 1.72;
}

.bgn-about-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 30px;
}

.bgn-about__btn {
  min-height: 50px;
  padding: 0 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 15.5px;
  font-weight: 760;
  line-height: 1;
  text-decoration: none;
  transition:
    transform .2s ease,
    box-shadow .2s ease,
    color .2s ease,
    background .2s ease,
    border-color .2s ease;
}

.bgn-about__btn--primary {
  color: #fff;
  background: var(--bgn-about-green);
  border-color: var(--bgn-about-green);
  box-shadow: 0 8px 20px rgba(21, 128, 61, .13);
}

.bgn-about__btn--primary:hover,
.bgn-about__btn--primary:focus {
  color: #fff;
  background: var(--bgn-about-green-dark);
  border-color: var(--bgn-about-green-dark);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(21, 128, 61, .18);
}

.bgn-about__btn--outline {
  color: var(--bgn-about-green);
  background: #fff;
  border-color: var(--bgn-about-green);
}

.bgn-about__btn--outline:hover,
.bgn-about__btn--outline:focus {
  color: var(--bgn-about-green-dark);
  background: var(--bgn-about-soft-green);
  border-color: var(--bgn-about-green-dark);
  transform: translateY(-1px);
}

.bgn-about-hero__media {
  position: relative;
  margin: 0;
  min-height: 450px;
  overflow: hidden;
  border-radius: 22px;
  background: #EEF2EF;
  box-shadow: 0 16px 38px rgba(7, 27, 73, .08);
}

.bgn-about-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(7, 27, 73, .05);
  border-radius: inherit;
}

.bgn-about-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 450px;
  display: block;
  object-fit: cover;
  object-position: center;
}


/* QUÉ ES BEGINIUM
   ========================================================================== */

.bgn-about-intro {
  padding-top: 62px;
}

.bgn-about-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr);
  align-items: center;
  gap: 68px;
}

.bgn-about-intro__copy > p {
  max-width: 635px;
  margin: 0 0 18px;
  color: var(--bgn-about-muted);
  font-size: 16px;
  line-height: 1.72;
}

.bgn-about-intro__copy > p:last-child {
  margin-bottom: 0;
}

.bgn-about-intro__media {
  margin: 0;
  overflow: hidden;
  border-radius: 20px;
  background: #EEF2EF;
  box-shadow: 0 12px 30px rgba(7, 27, 73, .075);
}

.bgn-about-intro__media img {
  width: 100%;
  aspect-ratio: 1.65 / 1;
  display: block;
  object-fit: cover;
}


/* DIFERENCIADORES
   ========================================================================== */

.bgn-about-difference {
  padding-top: 54px;
}

.bgn-about-difference__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.bgn-about-value {
  min-height: 225px;
  padding: 30px 23px 26px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--bgn-about-border);
  border-radius: 16px;
  box-shadow: 0 4px 14px rgba(7, 27, 73, .025);
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.bgn-about-value:hover {
  transform: translateY(-4px);
  border-color: rgba(21, 128, 61, .25);
  box-shadow: 0 12px 26px rgba(7, 27, 73, .07);
}

.bgn-about-value__icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 19px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-about-green);
  background: var(--bgn-about-soft-green);
  border-radius: 18px;
}

.bgn-about-value__icon .fa {
  font-size: 26px;
}

.bgn-about-value h3 {
  margin: 0 0 10px;
  color: var(--bgn-about-navy);
  font-size: 17px;
  font-weight: 760;
  line-height: 1.25;
}

.bgn-about-value p {
  margin: 0;
  color: var(--bgn-about-muted);
  font-size: 14px;
  line-height: 1.58;
}


/* TRES PILARES
   ========================================================================== */

.bgn-about-pillars {
  padding-top: 28px;
  padding-bottom: 64px;
}

.bgn-about-pillars__panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  background:
    linear-gradient(
      90deg,
      rgba(21, 128, 61, .035),
      rgba(21, 128, 61, .015)
    );
  border: 1px solid rgba(21, 128, 61, .08);
  border-radius: 19px;
}

.bgn-about-pillar {
  position: relative;
  min-height: 285px;
  padding: 31px 30px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-content: start;
  gap: 18px;
}

.bgn-about-pillar + .bgn-about-pillar::before {
  content: "";
  position: absolute;
  left: 0;
  top: 30px;
  bottom: 30px;
  width: 1px;
  background: rgba(7, 27, 73, .09);
}

.bgn-about-pillar__icon {
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-about-green);
  background: rgba(21, 128, 61, .10);
  border-radius: 50%;
}

.bgn-about-pillar__icon .fa {
  font-size: 23px;
}

.bgn-about-pillar h3 {
  margin: 2px 0 12px;
  color: var(--bgn-about-navy);
  font-size: 19px;
  font-weight: 770;
  line-height: 1.22;
}

.bgn-about-pillar p {
  margin: 0 0 13px;
  color: var(--bgn-about-muted);
  font-size: 14px;
  line-height: 1.62;
}

.bgn-about-pillar__short {
  margin-bottom: 0 !important;
  color: var(--bgn-about-navy) !important;
  font-weight: 670;
}


/* PROCESO
   ========================================================================== */

.bgn-about-process {
  padding-top: 6px;
  padding-bottom: 82px;
}

.bgn-about-process__list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
  margin: 50px 0 0;
  padding: 0;
  list-style: none;
}

.bgn-about-process__list::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 12.5%;
  right: 12.5%;
  top: 22px;
  height: 1px;
  border-top: 1px dashed rgba(21, 128, 61, .44);
}

.bgn-about-process__item {
  position: relative;
  z-index: 1;
  text-align: center;
}

.bgn-about-process__number {
  width: 44px;
  height: 44px;
  margin: 0 auto 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--bgn-about-green);
  border: 5px solid #E9F5ED;
  border-radius: 50%;
  font-size: 15px;
  font-weight: 800;
  box-shadow: 0 0 0 1px rgba(21, 128, 61, .12);
}

.bgn-about-process__item h3 {
  margin: 0 0 8px;
  color: var(--bgn-about-navy);
  font-size: 17px;
  font-weight: 760;
  line-height: 1.25;
}

.bgn-about-process__item p {
  max-width: 240px;
  margin: 0 auto;
  color: var(--bgn-about-muted);
  font-size: 13.5px;
  line-height: 1.55;
}


/* RESPONSIVE
   ========================================================================== */

@media (max-width: 1199px) {
  .bgn-about-hero__grid {
    grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr);
    gap: 38px;
  }

  .bgn-about-intro__grid {
    gap: 42px;
  }

  .bgn-about-pillar {
    padding-left: 23px;
    padding-right: 23px;
  }
}

@media (max-width: 991px) {
  .bgn-about-section {
    padding: 52px 0;
  }

  .bgn-about-hero {
    padding-top: 34px;
  }

  .bgn-about-hero__grid,
  .bgn-about-intro__grid {
    grid-template-columns: 1fr;
  }

  .bgn-about-hero__grid {
    gap: 30px;
  }

  .bgn-about-hero__copy {
    padding-bottom: 0;
  }

  .bgn-about-hero h1,
  .bgn-about-hero__lead,
  .bgn-about-hero__text {
    max-width: 740px;
  }

  .bgn-about-hero__media {
    min-height: 390px;
  }

  .bgn-about-hero__media img {
    min-height: 390px;
  }

  .bgn-about-intro__grid {
    gap: 32px;
  }

  .bgn-about-intro__copy > p {
    max-width: 780px;
  }

  .bgn-about-difference__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bgn-about-pillars__panel {
    grid-template-columns: 1fr;
  }

  .bgn-about-pillar {
    min-height: 0;
  }

  .bgn-about-pillar + .bgn-about-pillar::before {
    left: 28px;
    right: 28px;
    top: 0;
    bottom: auto;
    width: auto;
    height: 1px;
  }
}

@media (max-width: 767px) {
  .bgn-about__boxed {
    width: min(100% - 28px, var(--bgn-about-boxed));
  }

  .bgn-about-hero {
    padding-top: 25px;
  }

  .bgn-about-hero h1 {
    font-size: clamp(34px, 10vw, 46px);
  }

  .bgn-about-hero__lead {
    font-size: 17px;
  }

  .bgn-about-hero__text,
  .bgn-about-intro__copy > p {
    font-size: 15px;
  }

  .bgn-about-hero__media,
  .bgn-about-hero__media img {
    min-height: 320px;
  }

  .bgn-about-difference__grid {
    grid-template-columns: 1fr;
  }

  .bgn-about-value {
    min-height: 0;
  }

  .bgn-about-pillar {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 14px;
    padding: 25px 20px;
  }

  .bgn-about-pillar__icon {
    width: 48px;
    height: 48px;
  }

  .bgn-about-process__list {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 34px;
  }

  .bgn-about-process__list::before {
    left: 21px;
    right: auto;
    top: 20px;
    bottom: 20px;
    width: 1px;
    height: auto;
    border-top: 0;
    border-left: 1px dashed rgba(21, 128, 61, .44);
  }

  .bgn-about-process__item {
    min-height: 74px;
    padding-left: 64px;
    text-align: left;
  }

  .bgn-about-process__number {
    position: absolute;
    left: 0;
    top: 0;
    margin: 0;
  }

  .bgn-about-process__item p {
    max-width: 100%;
    margin: 0;
  }
}

@media (max-width: 479px) {
  .bgn-about-section {
    padding: 43px 0;
  }

  .bgn-about-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .bgn-about__btn {
    width: 100%;
  }

  .bgn-about-hero__media,
  .bgn-about-hero__media img {
    min-height: 270px;
  }

  .bgn-about__section-heading--left {
    align-items: flex-start;
  }

  .bgn-about__heading-icon {
    flex-basis: 50px;
    width: 50px;
    height: 50px;
  }

  .bgn-about-pillar {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bgn-about *,
  .bgn-about *::before,
  .bgn-about *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}













/* ==========================================================================
   BEGINIUM 2026 · CONTACTO
   Requiere beginium-2026.css como base.
   Sin header, breadcrumb, prefooter ni footer.
   ========================================================================== */

.bgn-contact {
  --bgn-contact-navy: var(--bgn-navy, #071B49);
  --bgn-contact-green: var(--bgn-green, #15803D);
  --bgn-contact-green-dark: var(--bgn-green-hover, #116A33);
  --bgn-contact-text: var(--bgn-text, #111827);
  --bgn-contact-muted: var(--bgn-text-soft, #5F6B76);
  --bgn-contact-border: var(--bgn-border, #E3E8E5);
  --bgn-contact-soft: #F7F9F8;
  --bgn-contact-green-soft: #EDF7F0;
  --bgn-contact-boxed: var(--bgn-container, 1240px);

  width: 100%;
  overflow: hidden;
  color: var(--bgn-contact-text);
  background: #fff;
  font-family: var(--bgn-font-family, "Figtree", system-ui, sans-serif);
}

.bgn-contact *,
.bgn-contact *::before,
.bgn-contact *::after {
  box-sizing: border-box;
}

.bgn-contact__boxed {
  width: min(var(--bgn-contact-boxed), calc(100% - 40px));
  margin: 0 auto;
}

.bgn-contact-section {
  padding: 62px 0;
}

.bgn-contact__eyebrow {
  margin: 0 0 13px;
  color: var(--bgn-contact-green);
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.bgn-contact__accent {
  display: block;
  width: 48px;
  height: 3px;
  margin-top: 27px;
  border-radius: 99px;
  background: var(--bgn-contact-green);
}

.bgn-contact__section-heading {
  margin-bottom: 32px;
}

.bgn-contact__section-heading h2,
.bgn-contact-channels__intro h2 {
  margin: 0;
  color: var(--bgn-contact-navy);
  font-size: clamp(29px, 2.65vw, 38px);
  font-weight: 780;
  line-height: 1.12;
  letter-spacing: -.03em;
}


/* HERO
   ========================================================================== */

.bgn-contact-hero {
  padding: 40px 0 20px;
}

.bgn-contact-hero__grid {
  min-height: 350px;
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  align-items: stretch;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(7, 27, 73, .06);
  border-radius: 22px;
  box-shadow: 0 12px 34px rgba(7, 27, 73, .055);
}

.bgn-contact-hero__media {
  margin: 0;
  min-height: 350px;
  overflow: hidden;
  background: #EEF2EF;
}

.bgn-contact-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 350px;
  display: block;
  object-fit: cover;
  object-position: center;
}

.bgn-contact-hero__copy {
  padding: 54px 58px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.bgn-contact-hero h1 {
  margin: 0 0 19px;
  color: var(--bgn-contact-navy);
  font-size: clamp(38px, 4vw, 54px);
  font-weight: 790;
  line-height: 1.04;
  letter-spacing: -.045em;
}

.bgn-contact-hero__lead {
  max-width: 510px;
  margin: 0;
  color: var(--bgn-contact-muted);
  font-size: 17px;
  line-height: 1.7;
}


/* CONTACTO
   ========================================================================== */

.bgn-contact-channels {
  padding-top: 70px;
}

.bgn-contact-channels__layout {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.8fr);
  align-items: start;
  gap: 54px;
}

.bgn-contact-channels__intro {
  padding-top: 22px;
}

.bgn-contact-channels__intro h2 {
  max-width: 310px;
}

.bgn-contact-channels__intro > p:last-child {
  max-width: 330px;
  margin: 18px 0 0;
  color: var(--bgn-contact-muted);
  font-size: 15px;
  line-height: 1.65;
}

.bgn-contact-channels__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.bgn-contact-card {
  min-height: 188px;
  padding: 27px 28px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: start;
  gap: 19px;
  color: inherit;
  background: #fff;
  border: 1px solid var(--bgn-contact-border);
  border-radius: 16px;
  text-decoration: none;
  box-shadow: 0 7px 22px rgba(7, 27, 73, .045);
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.bgn-contact-card:not(.bgn-contact-card--static):hover,
.bgn-contact-card:not(.bgn-contact-card--static):focus {
  color: inherit;
  transform: translateY(-3px);
  border-color: rgba(21, 128, 61, .28);
  box-shadow: 0 13px 30px rgba(7, 27, 73, .08);
}

.bgn-contact-card__icon {
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-contact-green);
  background: var(--bgn-contact-green-soft);
  border-radius: 50%;
}

.bgn-contact-card__icon .fa {
  font-size: 25px;
}

.bgn-contact-card__body h3 {
  margin: 2px 0 8px;
  color: var(--bgn-contact-navy);
  font-size: 16px;
  font-weight: 760;
  line-height: 1.25;
}

.bgn-contact-card__body strong {
  display: block;
  margin-bottom: 10px;
  color: var(--bgn-contact-green);
  font-size: clamp(19px, 1.75vw, 24px);
  font-weight: 780;
  line-height: 1.2;
}

.bgn-contact-card__body strong.bgn-contact-card__email {
  font-size: clamp(17px, 1.5vw, 21px);
  word-break: break-word;
}

.bgn-contact-card__body p {
  margin: 0;
  color: var(--bgn-contact-muted);
  font-size: 13.5px;
  line-height: 1.55;
}

.bgn-contact-card__line {
  display: block;
  width: 32px;
  height: 2px;
  margin-top: 17px;
  border-radius: 99px;
  background: var(--bgn-contact-green);
}

.bgn-contact-channels__note {
  margin: 20px 0 0 calc(28% + 22px);
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--bgn-contact-muted);
  font-size: 13px;
  line-height: 1.5;
}

.bgn-contact-channels__note .fa {
  color: var(--bgn-contact-green);
  font-size: 15px;
}


/* CURSOS
   ========================================================================== */

.bgn-contact-courses {
  padding-top: 56px;
  padding-bottom: 78px;
}

.bgn-contact-courses__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.bgn-contact-course {
  min-height: 270px;
  padding: 27px 23px 24px;
  display: flex;
  flex-direction: column;
  color: inherit;
  background: #fff;
  border: 1px solid var(--bgn-contact-border);
  border-radius: 16px;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(7, 27, 73, .025);
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.bgn-contact-course:hover,
.bgn-contact-course:focus {
  color: inherit;
  transform: translateY(-4px);
  border-color: rgba(21, 128, 61, .26);
  box-shadow: 0 12px 27px rgba(7, 27, 73, .075);
}

.bgn-contact-course__icon {
  width: 66px;
  height: 66px;
  margin-bottom: 23px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-contact-green);
  background: var(--bgn-contact-green-soft);
  border-radius: 50%;
}

.bgn-contact-course__icon .fa {
  font-size: 28px;
}

.bgn-contact-course h3 {
  margin: 0 0 11px;
  color: var(--bgn-contact-navy);
  font-size: 17px;
  font-weight: 760;
  line-height: 1.25;
}

.bgn-contact-course p {
  margin: 0 0 22px;
  color: var(--bgn-contact-muted);
  font-size: 13.5px;
  line-height: 1.58;
}

.bgn-contact-course__link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--bgn-contact-green);
  font-size: 14px;
  font-weight: 730;
}

.bgn-contact-course__link .fa {
  transition: transform .2s ease;
}

.bgn-contact-course:hover .bgn-contact-course__link .fa,
.bgn-contact-course:focus .bgn-contact-course__link .fa {
  transform: translateX(4px);
}

.bgn-contact-courses__all {
  margin-top: 26px;
  text-align: center;
}

.bgn-contact-courses__all a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--bgn-contact-green);
  font-size: 14.5px;
  font-weight: 740;
  text-decoration: none;
}

.bgn-contact-courses__all a:hover,
.bgn-contact-courses__all a:focus {
  color: var(--bgn-contact-green-dark);
}

.bgn-contact-courses__all .fa {
  transition: transform .2s ease;
}

.bgn-contact-courses__all a:hover .fa,
.bgn-contact-courses__all a:focus .fa {
  transform: translateX(4px);
}


/* RESPONSIVE
   ========================================================================== */

@media (max-width: 1199px) {
  .bgn-contact-hero__copy {
    padding: 44px 42px;
  }

  .bgn-contact-channels__layout {
    grid-template-columns: minmax(230px, .68fr) minmax(0, 1.65fr);
    gap: 36px;
  }

  .bgn-contact-course {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 991px) {
  .bgn-contact-section {
    padding: 52px 0;
  }

  .bgn-contact-hero {
    padding-top: 30px;
  }

  .bgn-contact-hero__grid {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .bgn-contact-hero__media {
    min-height: 310px;
  }

  .bgn-contact-hero__media img {
    min-height: 310px;
  }

  .bgn-contact-hero__copy {
    padding: 38px 36px 42px;
  }

  .bgn-contact-channels__layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .bgn-contact-channels__intro {
    padding-top: 0;
  }

  .bgn-contact-channels__intro h2,
  .bgn-contact-channels__intro > p:last-child {
    max-width: 680px;
  }

  .bgn-contact-channels__note {
    margin-left: 0;
  }

  .bgn-contact-courses__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  .bgn-contact__boxed {
    width: min(100% - 28px, var(--bgn-contact-boxed));
  }

  .bgn-contact-hero__media,
  .bgn-contact-hero__media img {
    min-height: 260px;
  }

  .bgn-contact-hero__copy {
    padding: 30px 24px 34px;
  }

  .bgn-contact-hero h1 {
    font-size: clamp(34px, 10vw, 44px);
  }

  .bgn-contact-hero__lead {
    font-size: 15.5px;
  }

  .bgn-contact-channels__grid,
  .bgn-contact-courses__grid {
    grid-template-columns: 1fr;
  }

  .bgn-contact-card {
    min-height: 0;
  }

  .bgn-contact-course {
    min-height: 0;
  }
}

@media (max-width: 419px) {
  .bgn-contact-card {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    padding: 23px 20px;
  }

  .bgn-contact-card__icon {
    width: 46px;
    height: 46px;
  }

  .bgn-contact-card__icon .fa {
    font-size: 21px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bgn-contact *,
  .bgn-contact *::before,
  .bgn-contact *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}























/* ==========================================================================
   BEGINIUM 2026 · RECURSOS PARA EMPRENDEDORES
   Requiere beginium-2026.css como base.
   Sin header, breadcrumb, prefooter ni footer.
   El contenido termina en el bloque final de práctica aplicada.
   ========================================================================== */

.bgn-resources {
  --bgn-res-navy: var(--bgn-navy, #071B49);
  --bgn-res-green: var(--bgn-green, #15803D);
  --bgn-res-green-dark: var(--bgn-green-hover, #116A33);
  --bgn-res-text: var(--bgn-text, #111827);
  --bgn-res-muted: var(--bgn-text-soft, #5F6B76);
  --bgn-res-border: var(--bgn-border, #E3E8E5);
  --bgn-res-soft: #F7F9F8;
  --bgn-res-green-soft: #EDF7F0;
  --bgn-res-boxed: var(--bgn-container, 1240px);

  width: 100%;
  overflow: hidden;
  color: var(--bgn-res-text);
  background: #fff;
  font-family: var(--bgn-font-family, "Figtree", system-ui, sans-serif);
}

.bgn-resources *,
.bgn-resources *::before,
.bgn-resources *::after {
  box-sizing: border-box;
}

.bgn-resources__boxed {
  width: min(var(--bgn-res-boxed), calc(100% - 40px));
  margin: 0 auto;
}

.bgn-resources-section {
  padding: 62px 0;
}

.bgn-resources__eyebrow {
  margin: 0 0 15px;
  color: var(--bgn-res-green);
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.bgn-resources__section-heading {
  margin-bottom: 31px;
}

.bgn-resources__section-heading--center {
  text-align: center;
}

.bgn-resources__section-heading h2,
.bgn-resources-orientation__help > h2,
.bgn-resources-orientation__course h2 {
  margin: 0;
  color: var(--bgn-res-navy);
  font-weight: 780;
  letter-spacing: -.025em;
}

.bgn-resources__section-heading h2 {
  font-size: clamp(27px, 2.45vw, 36px);
  line-height: 1.15;
}

.bgn-resources__section-line {
  display: block;
  width: 46px;
  height: 3px;
  margin: 13px auto 0;
  border-radius: 99px;
  background: var(--bgn-res-green);
}


/* HERO
   ========================================================================== */

.bgn-resources-hero {
  padding: 40px 0 22px;
}

.bgn-resources-hero__grid {
  min-height: 365px;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(470px, 1.05fr);
  align-items: stretch;
  overflow: hidden;
  background: linear-gradient(90deg, #fff 0%, #fff 51%, #F8FAF9 100%);
  border: 1px solid rgba(7, 27, 73, .055);
  border-radius: 22px;
  box-shadow: 0 12px 34px rgba(7, 27, 73, .045);
}

.bgn-resources-hero__copy {
  padding: 53px 55px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.bgn-resources-hero h1 {
  max-width: 600px;
  margin: 0 0 22px;
  color: var(--bgn-res-navy);
  font-size: clamp(38px, 4.15vw, 57px);
  font-weight: 790;
  line-height: 1.055;
  letter-spacing: -.045em;
}

.bgn-resources-hero__lead {
  max-width: 610px;
  margin: 0;
  color: var(--bgn-res-muted);
  font-size: 16px;
  line-height: 1.72;
}

.bgn-resources-hero__media {
  margin: 0;
  min-height: 365px;
  overflow: hidden;
  background: #EEF2EF;
}

.bgn-resources-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 365px;
  display: block;
  object-fit: cover;
  object-position: center;
}


/* CHECKLISTS
   ========================================================================== */

.bgn-resources-checklists {
  padding-top: 58px;
}

.bgn-resources-checklists__list {
  display: grid;
  gap: 17px;
}

.bgn-resource-check {
  --topic: var(--bgn-res-green);
  --topic-soft: var(--bgn-res-green-soft);

  min-height: 178px;
  display: grid;
  grid-template-columns: 142px minmax(0, 1.65fr) minmax(210px, .72fr) 150px;
  align-items: stretch;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--bgn-res-border);
  border-radius: 16px;
  box-shadow: 0 7px 22px rgba(7, 27, 73, .045);
}

.bgn-resource-check--seo {
  --topic: #15803D;
  --topic-soft: #EFF8F1;
}

.bgn-resource-check--google {
  --topic: #2563A9;
  --topic-soft: #EFF5FC;
}

.bgn-resource-check--social {
  --topic: #7657A7;
  --topic-soft: #F5F1FA;
}

.bgn-resource-check--content {
  --topic: #D97706;
  --topic-soft: #FFF6E9;
}

.bgn-resource-check__visual {
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--topic);
  background: var(--topic-soft);
  border-right: 1px solid rgba(7, 27, 73, .055);
}

.bgn-resource-check__visual .fa {
  font-size: 48px;
}

.bgn-resource-check__main {
  padding: 23px 27px;
}

.bgn-resource-check__main h3 {
  margin: 0 0 13px;
  color: var(--bgn-res-navy);
  font-size: 18px;
  font-weight: 780;
  line-height: 1.25;
}

.bgn-resource-check__main ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.bgn-resource-check__main li {
  position: relative;
  margin: 0 0 7px;
  padding-left: 23px;
  color: var(--bgn-res-text);
  font-size: 13.5px;
  line-height: 1.4;
}

.bgn-resource-check__main li:last-child {
  margin-bottom: 0;
}

.bgn-resource-check__main li::before {
  content: "\f058";
  position: absolute;
  left: 0;
  top: 1px;
  color: var(--bgn-res-green);
  font-family: FontAwesome;
  font-size: 14px;
}

.bgn-resource-check__teaser {
  position: relative;
  padding: 25px 24px;
  display: flex;
  align-items: center;
}

.bgn-resource-check__teaser::before {
  content: "";
  position: absolute;
  left: 0;
  top: 26px;
  bottom: 26px;
  width: 1px;
  background: var(--bgn-res-border);
}

.bgn-resource-check__teaser p {
  margin: 0;
  color: var(--bgn-res-muted);
  font-size: 13.5px;
  line-height: 1.55;
}

.bgn-resource-check__action {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bgn-resource-check__action::before {
  content: "";
  position: absolute;
  left: 0;
  top: 26px;
  bottom: 26px;
  width: 1px;
  background: var(--bgn-res-border);
}

.bgn-resource-check__action a {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--bgn-res-green);
  font-size: 15px;
  font-weight: 780;
  text-decoration: none;
}

.bgn-resource-check__action a:hover,
.bgn-resource-check__action a:focus {
  color: var(--bgn-res-green-dark);
}

.bgn-resource-check__action .fa {
  font-size: 20px;
  transition: transform .2s ease;
}

.bgn-resource-check__action a:hover .fa,
.bgn-resource-check__action a:focus .fa {
  transform: translateX(4px);
}


/* ORIENTACIÓN / QUÉ APORTA LA PÁGINA
   ========================================================================== */

.bgn-resources-orientation {
  padding-top: 16px;
  padding-bottom: 28px;
}

.bgn-resources-orientation__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(350px, .8fr);
  gap: 20px;
}

.bgn-resources-orientation__help {
  padding: 23px 24px;
  background: #fff;
  border: 1px solid var(--bgn-res-border);
  border-radius: 16px;
}

.bgn-resources-orientation__help > h2 {
  margin-bottom: 20px;
  text-align: center;
  font-size: 22px;
  line-height: 1.2;
}

.bgn-resources-orientation__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
}

.bgn-resources-mini {
  min-height: 172px;
  padding: 20px 16px 17px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--bgn-res-border);
  border-radius: 13px;
}

.bgn-resources-mini__icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-res-green);
  background: var(--bgn-res-green-soft);
  border-radius: 50%;
}

.bgn-resources-mini__icon .fa {
  font-size: 23px;
}

.bgn-resources-mini h3 {
  margin: 0 0 8px;
  color: var(--bgn-res-navy);
  font-size: 15px;
  font-weight: 760;
  line-height: 1.25;
}

.bgn-resources-mini p {
  margin: 0;
  color: var(--bgn-res-muted);
  font-size: 12.5px;
  line-height: 1.5;
}

.bgn-resources-orientation__course {
  padding: 29px 30px;
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  align-items: center;
  gap: 21px;
  background: linear-gradient(135deg, #F5FAF6 0%, #EDF7F0 100%);
  border: 1px solid rgba(21, 128, 61, .13);
  border-radius: 16px;
}

.bgn-resources-orientation__course-icon {
  width: 72px;
  height: 72px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-res-green);
  background: #fff;
  border-radius: 19px;
  box-shadow: 0 5px 16px rgba(21, 128, 61, .07);
}

.bgn-resources-orientation__course-icon .fa {
  font-size: 31px;
}

.bgn-resources-orientation__course h2 {
  margin-bottom: 11px;
  font-size: 22px;
  line-height: 1.17;
}

.bgn-resources-orientation__course p {
  margin: 0;
  color: var(--bgn-res-muted);
  font-size: 14px;
  line-height: 1.62;
}


/* MENSAJE FINAL
   ========================================================================== */

.bgn-resources-final {
  padding: 0 0 72px;
}

.bgn-resources-final__panel {
  min-height: 76px;
  padding: 13px 25px;
  display: flex;
  align-items: center;
  gap: 21px;
  background: linear-gradient(
    90deg,
    rgba(21, 128, 61, .08),
    rgba(21, 128, 61, .035)
  );
  border: 1px solid rgba(21, 128, 61, .13);
  border-radius: 13px;
}

.bgn-resources-final__icon {
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--bgn-res-green);
  border-radius: 50%;
  box-shadow: 0 5px 14px rgba(21, 128, 61, .14);
}

.bgn-resources-final__icon .fa {
  font-size: 23px;
}

.bgn-resources-final__panel p {
  margin: 0;
  color: var(--bgn-res-navy);
  font-size: 17px;
  font-weight: 660;
  line-height: 1.45;
}


/* RESPONSIVE
   ========================================================================== */

@media (max-width: 1199px) {
  .bgn-resources-hero__grid {
    grid-template-columns: minmax(0, .95fr) minmax(410px, 1.05fr);
  }

  .bgn-resources-hero__copy {
    padding: 44px 42px;
  }

  .bgn-resource-check {
    grid-template-columns: 115px minmax(0, 1.6fr) minmax(190px, .75fr) 125px;
  }

  .bgn-resource-check__main {
    padding-left: 22px;
    padding-right: 22px;
  }

  .bgn-resource-check__teaser {
    padding-left: 19px;
    padding-right: 19px;
  }
}

@media (max-width: 991px) {
  .bgn-resources-section {
    padding: 52px 0;
  }

  .bgn-resources-hero {
    padding-top: 30px;
  }

  .bgn-resources-hero__grid {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .bgn-resources-hero__copy {
    padding: 38px 36px 40px;
  }

  .bgn-resources-hero__media,
  .bgn-resources-hero__media img {
    min-height: 320px;
  }

  .bgn-resource-check {
    grid-template-columns: 100px minmax(0, 1fr) 135px;
  }

  .bgn-resource-check__teaser {
    grid-column: 2 / 3;
    padding-top: 0;
    padding-bottom: 22px;
  }

  .bgn-resource-check__teaser::before {
    display: none;
  }

  .bgn-resource-check__action {
    grid-column: 3 / 4;
    grid-row: 1 / 3;
  }

  .bgn-resource-check__visual {
    grid-row: 1 / 3;
  }

  .bgn-resources-orientation__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .bgn-resources__boxed {
    width: min(100% - 28px, var(--bgn-res-boxed));
  }

  .bgn-resources-hero h1 {
    font-size: clamp(34px, 10vw, 46px);
  }

  .bgn-resource-check {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .bgn-resource-check__visual {
    grid-column: 1;
    grid-row: 1;
    min-height: 96px;
    border-right: 0;
    border-bottom: 1px solid rgba(7, 27, 73, .055);
  }

  .bgn-resource-check__visual .fa {
    font-size: 31px;
  }

  .bgn-resource-check__main {
    grid-column: 2;
    grid-row: 1 / 3;
    padding: 20px 18px;
  }

  .bgn-resource-check__teaser {
    grid-column: 1 / -1;
    padding: 17px 20px;
    border-top: 1px solid var(--bgn-res-border);
  }

  .bgn-resource-check__action {
    grid-column: 1 / -1;
    grid-row: auto;
    justify-content: flex-start;
    padding: 15px 20px 18px;
    border-top: 1px solid var(--bgn-res-border);
  }

  .bgn-resource-check__action::before {
    display: none;
  }

  .bgn-resources-orientation__cards {
    grid-template-columns: 1fr;
  }

  .bgn-resources-mini {
    min-height: 0;
  }

  .bgn-resources-orientation__course {
    grid-template-columns: 58px minmax(0, 1fr);
    padding: 24px 21px;
  }

  .bgn-resources-orientation__course-icon {
    width: 56px;
    height: 56px;
    border-radius: 15px;
  }

  .bgn-resources-orientation__course-icon .fa {
    font-size: 25px;
  }

  .bgn-resources-final__panel {
    align-items: flex-start;
  }
}

@media (max-width: 479px) {
  .bgn-resources-hero__copy {
    padding: 30px 23px 33px;
  }

  .bgn-resources-hero__media,
  .bgn-resources-hero__media img {
    min-height: 250px;
  }

  .bgn-resource-check {
    display: block;
  }

  .bgn-resource-check__visual {
    min-height: 78px;
    justify-content: flex-start;
    padding-left: 21px;
  }

  .bgn-resource-check__main,
  .bgn-resource-check__teaser,
  .bgn-resource-check__action {
    padding-left: 21px;
    padding-right: 21px;
  }

  .bgn-resources-orientation__course {
    grid-template-columns: 1fr;
  }

  .bgn-resources-final__panel {
    padding: 17px;
    gap: 14px;
  }

  .bgn-resources-final__icon {
    flex-basis: 46px;
    width: 46px;
    height: 46px;
  }

  .bgn-resources-final__panel p {
    font-size: 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bgn-resources *,
  .bgn-resources *::before,
  .bgn-resources *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}



















/* ==========================================================================
   BEGINIUM 2026 · CÓMO FUNCIONA
   Requiere beginium-2026.css como base.
   ========================================================================== */

.bgn-how {
  --bgn-how-navy: var(--bgn-navy, #071B49);
  --bgn-how-green: var(--bgn-green, #15803D);
  --bgn-how-green-dark: #116A33;
  --bgn-how-text: var(--bgn-text, #111827);
  --bgn-how-muted: var(--bgn-text-soft, #5F6B76);
  --bgn-how-border: var(--bgn-border, #E3E8E5);
  --bgn-how-soft: #F7F9F8;
  --bgn-how-green-soft: #EFF8F1;
  --bgn-how-blue-soft: #F0F5FC;
  --bgn-how-container: var(--bgn-container, 1240px);

  width: 100%;
  color: var(--bgn-how-text);
  background: #fff;
  font-family: var(--bgn-font-family, "Figtree", system-ui, sans-serif);
}

.bgn-how *,
.bgn-how *::before,
.bgn-how *::after {
  box-sizing: border-box;
}

.bgn-how__boxed {
  width: min(var(--bgn-how-container), calc(100% - 40px));
  margin: 0 auto;
}

.bgn-how__boxed--faq {
  max-width: 1120px;
}

.bgn-how-section {
  padding: 56px 0;
}

.bgn-how__eyebrow {
  margin: 0 0 14px;
  color: var(--bgn-how-green);
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.bgn-how__heading {
  margin-bottom: 30px;
}

.bgn-how__heading--center {
  text-align: center;
}

.bgn-how__heading h2 {
  margin: 0;
  color: var(--bgn-how-navy);
  font-size: clamp(26px, 2.3vw, 34px);
  font-weight: 780;
  line-height: 1.15;
  letter-spacing: -.028em;
}

.bgn-how__line {
  display: block;
  width: 44px;
  height: 3px;
  margin: 12px auto 0;
  background: var(--bgn-how-green);
  border-radius: 99px;
}


/* HERO
   ========================================================================== */

.bgn-how-hero {
  padding: 38px 0 18px;
}

.bgn-how-hero__grid {
  min-height: 350px;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(470px, 1.05fr);
  align-items: stretch;
  overflow: hidden;
  background: linear-gradient(90deg, #fff 0%, #fff 49%, #F8FAF9 100%);
  border: 1px solid rgba(7, 27, 73, .06);
  border-radius: 22px;
  box-shadow: 0 10px 30px rgba(7, 27, 73, .045);
}

.bgn-how-hero__copy {
  padding: 48px 52px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.bgn-how-hero h1 {
  max-width: 560px;
  margin: 0 0 20px;
  color: var(--bgn-how-navy);
  font-size: clamp(39px, 4.3vw, 58px);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -.045em;
}

.bgn-how-hero__lead {
  max-width: 590px;
  margin: 0;
  color: var(--bgn-how-muted);
  font-size: 16px;
  line-height: 1.7;
}

.bgn-how-hero__points {
  margin-top: 27px;
  display: flex;
  flex-wrap: wrap;
  gap: 17px 29px;
}

.bgn-how-hero__points span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--bgn-how-navy);
  font-size: 14px;
  font-weight: 650;
}

.bgn-how-hero__points .fa {
  color: var(--bgn-how-green);
  font-size: 17px;
}

.bgn-how-hero__media {
  min-height: 350px;
  margin: 0;
  overflow: hidden;
  background: #EEF2EF;
}

.bgn-how-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 350px;
  display: block;
  object-fit: cover;
  object-position: center;
}


/* 3 PASOS
   ========================================================================== */

.bgn-how-process {
  padding-top: 42px;
  padding-bottom: 42px;
}

.bgn-how-process__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr) 44px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.bgn-how-step {
  position: relative;
  min-height: 258px;
  padding: 38px 27px 28px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--bgn-how-border);
  border-radius: 17px;
  box-shadow: 0 7px 22px rgba(7, 27, 73, .045);
}

.bgn-how-step__number {
  position: absolute;
  top: -18px;
  left: 50%;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateX(-50%);
  color: #fff;
  background: var(--bgn-how-green);
  border: 4px solid #fff;
  border-radius: 50%;
  font-size: 15px;
  font-weight: 800;
  box-shadow: 0 3px 9px rgba(21, 128, 61, .15);
}

.bgn-how-step__icon {
  width: 78px;
  height: 78px;
  margin: 0 auto 19px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-how-green);
  background: var(--bgn-how-green-soft);
  border-radius: 50%;
}

.bgn-how-step__icon .fa {
  font-size: 34px;
}

.bgn-how-step h3 {
  margin: 0 0 11px;
  color: var(--bgn-how-navy);
  font-size: 19px;
  font-weight: 770;
  line-height: 1.25;
}

.bgn-how-step p {
  max-width: 315px;
  margin: 0 auto;
  color: var(--bgn-how-muted);
  font-size: 13.8px;
  line-height: 1.58;
}

.bgn-how-process__arrow {
  display: flex;
  justify-content: center;
  color: var(--bgn-how-green);
  font-size: 25px;
}


/* PROYECTO
   ========================================================================== */

.bgn-how-project {
  padding: 0 0 36px;
}

.bgn-how-project__panel {
  min-height: 278px;
  padding: 34px 42px;
  display: grid;
  grid-template-columns: minmax(330px, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: 58px;
  background: linear-gradient(135deg, #FFFFFF 0%, #F7FBF8 100%);
  border: 1px solid var(--bgn-how-border);
  border-radius: 18px;
}

.bgn-how-project__visual {
  position: relative;
  width: min(100%, 390px);
  height: 190px;
  margin: 0 auto;
}

.bgn-how-project__screen {
  position: absolute;
  left: 10px;
  bottom: 15px;
  width: 285px;
  height: 160px;
  padding: 31px 24px 20px;
  background: #fff;
  border: 5px solid var(--bgn-how-navy);
  border-bottom-width: 10px;
  border-radius: 10px;
  box-shadow: 0 8px 18px rgba(7, 27, 73, .09);
}

.bgn-how-project__screen::after {
  content: "";
  position: absolute;
  left: -24px;
  right: -24px;
  bottom: -21px;
  height: 12px;
  background: #D9DFE3;
  border-radius: 2px 2px 10px 10px;
}

.bgn-how-project__dot {
  position: absolute;
  top: 11px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
}

.bgn-how-project__dot--1 { left: 13px; background: #75D697; }
.bgn-how-project__dot--2 { left: 24px; background: #D8DCDF; }
.bgn-how-project__dot--3 { left: 35px; background: #D8DCDF; }

.bgn-how-project__rows {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px 28px;
}

.bgn-how-project__rows span {
  position: relative;
  height: 17px;
  display: block;
  background: #EEF2F0;
  border-radius: 4px;
}

.bgn-how-project__rows span .fa {
  position: absolute;
  left: 0;
  top: 0;
  width: 21px;
  height: 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--bgn-how-green);
  border-radius: 4px;
  font-size: 11px;
}

.bgn-how-project__mini {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 112px;
  height: 116px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-how-green);
  background: #fff;
  border: 1px solid var(--bgn-how-border);
  border-radius: 11px;
  box-shadow: 0 8px 20px rgba(7, 27, 73, .09);
}

.bgn-how-project__mini .fa {
  font-size: 38px;
}

.bgn-how-project__copy h2 {
  margin: 0 0 14px;
  color: var(--bgn-how-navy);
  font-size: clamp(27px, 2.6vw, 38px);
  font-weight: 790;
  line-height: 1.12;
  letter-spacing: -.035em;
}

.bgn-how-project__copy > p {
  max-width: 600px;
  margin: 0 0 19px;
  color: var(--bgn-how-muted);
  font-size: 15px;
  line-height: 1.65;
}

.bgn-how-project__copy ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.bgn-how-project__copy li {
  position: relative;
  margin: 0 0 9px;
  padding-left: 26px;
  color: var(--bgn-how-text);
  font-size: 14px;
  line-height: 1.45;
}

.bgn-how-project__copy li::before {
  content: "\f058";
  position: absolute;
  top: 1px;
  left: 0;
  color: var(--bgn-how-green);
  font-family: FontAwesome;
}


/* SESIÓN
   ========================================================================== */

.bgn-how-session {
  padding-top: 18px;
  padding-bottom: 46px;
}

.bgn-how-session__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.bgn-how-session-card {
  min-height: 195px;
  padding: 27px 30px;
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  align-items: center;
  gap: 23px;
  border: 1px solid var(--bgn-how-border);
  border-radius: 16px;
}

.bgn-how-session-card--questions {
  background: linear-gradient(135deg, #F7FBF8, #F1F8F3);
}

.bgn-how-session-card--practice {
  background: linear-gradient(135deg, #F7FAFD, #F1F5FB);
}

.bgn-how-session-card__icon {
  width: 76px;
  height: 76px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.bgn-how-session-card--questions .bgn-how-session-card__icon {
  color: #fff;
  background: var(--bgn-how-green);
}

.bgn-how-session-card--practice .bgn-how-session-card__icon {
  color: #2563A9;
  background: #E9F1FC;
}

.bgn-how-session-card__icon .fa {
  font-size: 31px;
}

.bgn-how-session-card h3 {
  margin: 0 0 10px;
  color: var(--bgn-how-navy);
  font-size: 19px;
  font-weight: 770;
  line-height: 1.25;
}

.bgn-how-session-card p {
  margin: 0 0 11px;
  color: var(--bgn-how-muted);
  font-size: 14px;
  line-height: 1.55;
}

.bgn-how-session-card strong {
  margin-right: 4px;
  color: var(--bgn-how-green);
  font-size: 13px;
}

.bgn-how-session-card span:not(.bgn-how-session-card__icon) {
  color: var(--bgn-how-text);
  font-size: 13px;
}


/* FAQ
   ========================================================================== */

.bgn-how-faq {
  padding-top: 32px;
  padding-bottom: 72px;
}

.bgn-how-faq .bgn-how__heading {
  margin-bottom: 27px;
}

.bgn-how-faq__list {
  display: grid;
  gap: 10px;
}

.bgn-how-faq__item {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--bgn-how-border);
  border-radius: 13px;
  box-shadow: 0 4px 15px rgba(7, 27, 73, .025);
}

.bgn-how-faq__item summary {
  min-height: 61px;
  padding: 14px 19px;
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 13px;
  color: var(--bgn-how-navy);
  cursor: pointer;
  list-style: none;
  font-size: 15px;
  font-weight: 720;
  line-height: 1.35;
}

.bgn-how-faq__item summary::-webkit-details-marker {
  display: none;
}

.bgn-how-faq__number {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--bgn-how-green);
  border-radius: 50%;
  font-size: 12px;
  font-weight: 800;
}

.bgn-how-faq__item summary > .fa {
  color: var(--bgn-how-green);
  font-size: 17px;
  transition: transform .2s ease;
}

.bgn-how-faq__item[open] summary > .fa {
  transform: rotate(180deg);
}

.bgn-how-faq__item[open] summary {
  border-bottom: 1px solid var(--bgn-how-border);
}

.bgn-how-faq__answer {
  padding: 17px 19px 19px 63px;
  background: #FCFDFC;
}

.bgn-how-faq__professional,
.bgn-how-faq__human {
  padding: 15px 18px;
  border-radius: 10px;
}

.bgn-how-faq__professional {
  background: #fff;
  border: 1px solid #EBEFED;
}

.bgn-how-faq__human {
  margin-top: 9px;
  background: linear-gradient(90deg, #EDF7F0 0%, #F6FAF7 100%);
}

.bgn-how-faq__professional strong,
.bgn-how-faq__human strong {
  display: block;
  margin-bottom: 6px;
  color: var(--bgn-how-green);
  font-size: 12px;
  font-weight: 800;
}

.bgn-how-faq__professional p,
.bgn-how-faq__human p {
  margin: 0;
  color: var(--bgn-how-text);
  font-size: 13.5px;
  line-height: 1.58;
}


/* RESPONSIVE
   ========================================================================== */

@media (max-width: 1199px) {
  .bgn-how-hero__grid {
    grid-template-columns: minmax(0, .95fr) minmax(410px, 1.05fr);
  }

  .bgn-how-hero__copy {
    padding: 43px 39px;
  }

  .bgn-how-project__panel {
    gap: 36px;
  }
}

@media (max-width: 991px) {
  .bgn-how-hero__grid {
    grid-template-columns: 1fr;
  }

  .bgn-how-hero__media,
  .bgn-how-hero__media img {
    min-height: 320px;
  }

  .bgn-how-process__grid {
    grid-template-columns: 1fr;
    gap: 31px;
  }

  .bgn-how-process__arrow {
    display: none;
  }

  .bgn-how-step {
    min-height: 0;
  }

  .bgn-how-project__panel {
    grid-template-columns: 1fr;
  }

  .bgn-how-session__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .bgn-how__boxed {
    width: min(100% - 28px, var(--bgn-how-container));
  }

  .bgn-how-section {
    padding-top: 46px;
    padding-bottom: 46px;
  }

  .bgn-how-hero__copy {
    padding: 34px 27px;
  }

  .bgn-how-hero h1 {
    font-size: clamp(36px, 10vw, 48px);
  }

  .bgn-how-hero__points {
    gap: 12px 20px;
  }

  .bgn-how-project__panel {
    padding: 28px 23px;
  }

  .bgn-how-project__visual {
    transform: scale(.9);
    transform-origin: center;
  }

  .bgn-how-session-card {
    grid-template-columns: 64px minmax(0, 1fr);
    padding: 23px 20px;
    gap: 16px;
  }

  .bgn-how-session-card__icon {
    width: 58px;
    height: 58px;
  }

  .bgn-how-session-card__icon .fa {
    font-size: 25px;
  }

  .bgn-how-faq__answer {
    padding: 13px 13px 16px;
  }
}

@media (max-width: 479px) {
  .bgn-how-hero__media,
  .bgn-how-hero__media img {
    min-height: 250px;
  }

  .bgn-how-project__visual {
    width: 310px;
    height: 166px;
    transform: scale(.82);
    transform-origin: left center;
  }

  .bgn-how-project__screen {
    width: 250px;
  }

  .bgn-how-project__mini {
    width: 88px;
    height: 100px;
  }

  .bgn-how-session-card {
    grid-template-columns: 1fr;
  }

  .bgn-how-faq__item summary {
    grid-template-columns: 27px minmax(0, 1fr) 18px;
    padding: 13px;
    gap: 9px;
    font-size: 14px;
  }

  .bgn-how-faq__professional,
  .bgn-how-faq__human {
    padding: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bgn-how *,
  .bgn-how *::before,
  .bgn-how *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}































/* ==========================================================================
   BEGINIUM 2026 · CURSOS PRÁCTICOS ONLINE
   Requiere beginium-2026.css como base.
   Sin header, prefooter ni footer.
   ========================================================================== */

.bgn-courses-hub {
  --bgn-ch-navy: var(--bgn-navy, #071B49);
  --bgn-ch-green: var(--bgn-green, #15803D);
  --bgn-ch-green-dark: #116A33;
  --bgn-ch-text: var(--bgn-text, #111827);
  --bgn-ch-muted: var(--bgn-text-soft, #5F6B76);
  --bgn-ch-border: var(--bgn-border, #E3E8E5);
  --bgn-ch-soft: #F7F9F8;
  --bgn-ch-green-soft: #EFF8F1;
  --bgn-ch-container: var(--bgn-container, 1240px);

  width: 100%;
  color: var(--bgn-ch-text);
  background: #fff;
  font-family: var(--bgn-font-family, "Figtree", system-ui, sans-serif);
}

.bgn-courses-hub *,
.bgn-courses-hub *::before,
.bgn-courses-hub *::after {
  box-sizing: border-box;
}

.bgn-courses-hub__boxed {
  width: min(var(--bgn-ch-container), calc(100% - 40px));
  margin: 0 auto;
}

.bgn-courses-section {
  padding: 60px 0;
}

.bgn-courses-hub__eyebrow {
  margin: 0 0 14px;
  color: var(--bgn-ch-green);
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.bgn-courses-hub__heading {
  margin-bottom: 30px;
}

.bgn-courses-hub__heading--center {
  text-align: center;
}

.bgn-courses-hub__heading h2 {
  margin: 0;
  color: var(--bgn-ch-navy);
  font-size: clamp(27px, 2.45vw, 36px);
  font-weight: 790;
  line-height: 1.16;
  letter-spacing: -.03em;
}

.bgn-courses-hub__line {
  display: block;
  width: 46px;
  height: 3px;
  margin: 12px auto 0;
  border-radius: 99px;
  background: var(--bgn-ch-green);
}

/* HERO */

.bgn-courses-hero {
  padding: 38px 0 26px;
}

.bgn-courses-hero__grid {
  min-height: 385px;
  display: grid;
  grid-template-columns: minmax(0, .98fr) minmax(440px, 1.02fr);
  gap: 40px;
  align-items: center;
}

.bgn-courses-hero__copy {
  padding-right: 8px;
}

.bgn-courses-hero h1 {
  max-width: 620px;
  margin: 0 0 21px;
  color: var(--bgn-ch-navy);
  font-size: clamp(40px, 4.25vw, 60px);
  font-weight: 800;
  line-height: 1.03;
  letter-spacing: -.05em;
}

.bgn-courses-hero__lead {
  max-width: 590px;
  margin: 0;
  color: var(--bgn-ch-muted);
  font-size: 16px;
  line-height: 1.72;
}

.bgn-courses-hero__features {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.bgn-courses-hero__feature {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
}

.bgn-courses-hero__feature-icon {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-ch-green);
  font-size: 24px;
}

.bgn-courses-hero__feature strong {
  display: block;
  margin-bottom: 6px;
  color: var(--bgn-ch-navy);
  font-size: 16px;
  font-weight: 760;
  line-height: 1.2;
}

.bgn-courses-hero__feature p {
  margin: 0;
  color: var(--bgn-ch-muted);
  font-size: 13.3px;
  line-height: 1.5;
}

.bgn-courses-hero__media {
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(7, 27, 73, .07);
}

.bgn-courses-hero__media img {
  width: 100%;
  height: auto;
  display: block;
}

/* CURSOS */

.bgn-courses-list {
  padding-top: 30px;
}

.bgn-courses-list__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.bgn-course-card {
  min-height: 188px;
  padding: 28px 30px;
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--bgn-ch-border);
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(7, 27, 73, .035);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.bgn-course-card:hover,
.bgn-course-card:focus-within {
  transform: translateY(-3px);
  border-color: rgba(21, 128, 61, .22);
  box-shadow: 0 12px 28px rgba(7, 27, 73, .07);
}

.bgn-course-card__icon {
  width: 88px;
  height: 88px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-ch-green);
  background: var(--bgn-ch-green-soft);
  border-radius: 14px;
  font-size: 46px;
}

.bgn-course-card__body h3 {
  margin: 0 0 10px;
  color: var(--bgn-ch-navy);
  font-size: 19px;
  font-weight: 770;
  line-height: 1.25;
}

.bgn-course-card__body p {
  margin: 0 0 13px;
  color: var(--bgn-ch-muted);
  font-size: 14px;
  line-height: 1.58;
}

.bgn-course-card__body a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--bgn-ch-green);
  font-size: 14px;
  font-weight: 760;
  text-decoration: none;
}

.bgn-course-card__body a:hover,
.bgn-course-card__body a:focus {
  color: var(--bgn-ch-green-dark);
}

.bgn-course-card__body a .fa {
  transition: transform .2s ease;
}

.bgn-course-card__body a:hover .fa,
.bgn-course-card__body a:focus .fa {
  transform: translateX(4px);
}

/* INFO */

.bgn-courses-info {
  padding-top: 26px;
  padding-bottom: 46px;
}

.bgn-courses-info__grid {
  display: grid;
  grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr);
  gap: 46px;
  align-items: center;
}

.bgn-courses-info__media {
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(7, 27, 73, .055);
}

.bgn-courses-info__media img {
  width: 100%;
  height: auto;
  display: block;
}

.bgn-courses-info__copy h2 {
  margin: 0 0 18px;
  color: var(--bgn-ch-navy);
  font-size: clamp(31px, 2.95vw, 43px);
  font-weight: 790;
  line-height: 1.13;
  letter-spacing: -.035em;
}

.bgn-courses-info__copy p {
  margin: 0 0 12px;
  color: var(--bgn-ch-muted);
  font-size: 15px;
  line-height: 1.68;
}

.bgn-courses-info__copy ul {
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.bgn-courses-info__copy li {
  position: relative;
  margin: 0 0 9px;
  padding-left: 24px;
  color: var(--bgn-ch-text);
  font-size: 14px;
  line-height: 1.48;
}

.bgn-courses-info__copy li::before {
  content: "\f058";
  position: absolute;
  top: 1px;
  left: 0;
  color: var(--bgn-ch-green);
  font-family: FontAwesome;
  font-size: 14px;
}

/* BENEFITS */

.bgn-courses-benefits {
  padding-top: 26px;
  padding-bottom: 30px;
}

.bgn-courses-benefits__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.bgn-mini-benefit {
  min-height: 178px;
  padding: 24px 20px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--bgn-ch-border);
  border-radius: 14px;
}

.bgn-mini-benefit__icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-ch-green);
  background: var(--bgn-ch-green-soft);
  border-radius: 50%;
  font-size: 24px;
}

.bgn-mini-benefit h3 {
  margin: 0 0 8px;
  color: var(--bgn-ch-navy);
  font-size: 17px;
  font-weight: 760;
  line-height: 1.25;
}

.bgn-mini-benefit p {
  margin: 0;
  color: var(--bgn-ch-muted);
  font-size: 13.5px;
  line-height: 1.55;
}

/* NEEDS */

.bgn-courses-needs {
  padding-top: 22px;
  padding-bottom: 82px;
}

.bgn-courses-needs__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.bgn-need-card {
  min-height: 205px;
  padding: 24px 22px;
  background: #fff;
  border: 1px solid var(--bgn-ch-border);
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(7, 27, 73, .025);
}

.bgn-need-card__head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  margin-bottom: 11px;
}

.bgn-need-card__icon {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-ch-green);
  background: var(--bgn-ch-green-soft);
  border-radius: 50%;
  font-size: 18px;
}

.bgn-need-card h3 {
  margin: 0;
  color: var(--bgn-ch-navy);
  font-size: 16px;
  font-weight: 760;
  line-height: 1.3;
}

.bgn-need-card p {
  min-height: 46px;
  margin: 0 0 14px;
  color: var(--bgn-ch-muted);
  font-size: 13.5px;
  line-height: 1.55;
}

.bgn-need-card a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--bgn-ch-green);
  font-size: 13.7px;
  font-weight: 760;
  text-decoration: none;
}

.bgn-need-card a:hover,
.bgn-need-card a:focus {
  color: var(--bgn-ch-green-dark);
}

.bgn-need-card a .fa {
  transition: transform .2s ease;
}

.bgn-need-card a:hover .fa,
.bgn-need-card a:focus .fa {
  transform: translateX(4px);
}

/* RESPONSIVE */

@media (max-width: 1199px) {
  .bgn-courses-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(390px, .95fr);
    gap: 28px;
  }

  .bgn-courses-info__grid {
    gap: 30px;
  }

  .bgn-courses-benefits__grid,
  .bgn-courses-needs__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .bgn-courses-section {
    padding-top: 52px;
    padding-bottom: 52px;
  }

  .bgn-courses-hero {
    padding-top: 28px;
  }

  .bgn-courses-hero__grid,
  .bgn-courses-info__grid {
    grid-template-columns: 1fr;
  }

  .bgn-courses-hero__features {
    grid-template-columns: 1fr;
  }

  .bgn-courses-list__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .bgn-courses-hub__boxed {
    width: min(100% - 28px, var(--bgn-ch-container));
  }

  .bgn-courses-hero h1 {
    font-size: clamp(35px, 11vw, 48px);
  }

  .bgn-course-card {
    grid-template-columns: 1fr;
    text-align: left;
  }

  .bgn-course-card__icon {
    width: 76px;
    height: 76px;
    font-size: 38px;
  }

  .bgn-mini-benefit,
  .bgn-need-card {
    min-height: 0;
  }

  .bgn-courses-benefits__grid,
  .bgn-courses-needs__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 479px) {
  .bgn-courses-hero__feature {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  .bgn-courses-hero__feature-icon {
    width: 24px;
    height: 24px;
    font-size: 20px;
  }

  .bgn-courses-hero__copy {
    padding-right: 0;
  }

  .bgn-courses-info__grid {
    gap: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bgn-courses-hub *,
  .bgn-courses-hub *::before,
  .bgn-courses-hub *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}








































.bgn-course-page {
  --bgn-course-navy: var(--bgn-navy, #071B49);
  --bgn-course-green: var(--bgn-green, #15803D);
  --bgn-course-green-dark: #116A33;
  --bgn-course-text: var(--bgn-text, #111827);
  --bgn-course-muted: var(--bgn-text-soft, #5F6B76);
  --bgn-course-border: var(--bgn-border, #E3E8E5);
  --bgn-course-green-soft: #EFF8F1;
  --bgn-course-container: var(--bgn-container, 1240px);
  color: var(--bgn-course-text);
  background: #fff;
  font-family: var(--bgn-font-family, "Figtree", system-ui, sans-serif);
}
.bgn-course-page *, .bgn-course-page *::before, .bgn-course-page *::after { box-sizing:border-box; }
.bgn-course__boxed { width:min(var(--bgn-course-container), calc(100% - 40px)); margin:0 auto; }
.bgn-course__section { padding:62px 0; }
.bgn-course__eyebrow { margin:0 0 14px; color:var(--bgn-course-green); font-size:12.5px; font-weight:800; letter-spacing:.075em; text-transform:uppercase; }
.bgn-course__heading { margin:0 0 30px; text-align:center; }
.bgn-course__heading h2 { margin:0; color:var(--bgn-course-navy); font-size:clamp(27px,2.45vw,36px); font-weight:790; line-height:1.15; letter-spacing:-.03em; }
.bgn-course__heading-line { display:block; width:46px; height:3px; margin:12px auto 0; border-radius:99px; background:var(--bgn-course-green); }

.bgn-course-hero { padding:40px 0 30px; }
.bgn-course-hero__grid { display:grid; grid-template-columns:minmax(0,.94fr) minmax(480px,1.06fr); gap:52px; align-items:center; }
.bgn-course-hero h1 { max-width:650px; margin:0 0 18px; color:var(--bgn-course-navy); font-size:clamp(42px,4.6vw,64px); font-weight:810; line-height:1.02; letter-spacing:-.05em; }
.bgn-course-hero__lead { max-width:650px; margin:0 0 16px; color:var(--bgn-course-text); font-size:17px; line-height:1.65; }
.bgn-course-hero__intro { max-width:650px; margin:0 0 24px; color:var(--bgn-course-muted); font-size:14.5px; line-height:1.65; }
.bgn-course-hero__benefits { display:grid; gap:13px; margin-top:21px; }
.bgn-course-hero__benefit { display:grid; grid-template-columns:30px minmax(0,1fr); gap:12px; align-items:start; }
.bgn-course-hero__benefit .fa { color:var(--bgn-course-green); font-size:21px; margin-top:2px; }
.bgn-course-hero__benefit strong { display:block; margin-bottom:2px; color:var(--bgn-course-navy); font-size:14px; }
.bgn-course-hero__benefit p { margin:0; color:var(--bgn-course-muted); font-size:13px; line-height:1.45; }

.bgn-course-hero__media { position:relative; margin:0; min-height:480px; overflow:hidden; background:#EEF2EF; border-radius:20px; box-shadow:0 14px 34px rgba(7,27,73,.07); }
.bgn-course-hero__media img { width:100%; height:100%; min-height:480px; display:block; object-fit:cover; }
.bgn-course-price { position:absolute; right:22px; top:22px; width:250px; padding:24px; background:rgba(255,255,255,.97); border:1px solid rgba(7,27,73,.07); border-radius:16px; box-shadow:0 14px 32px rgba(7,27,73,.12); }
.bgn-course-price__label { display:block; margin-bottom:4px; color:var(--bgn-course-navy); font-size:13px; font-weight:650; }
.bgn-course-price__amount { display:block; margin-bottom:17px; color:var(--bgn-course-navy); font-size:44px; line-height:1; font-weight:820; }
.bgn-course-price__features { display:grid; gap:9px; margin-bottom:18px; }
.bgn-course-price__features span { display:flex; gap:9px; align-items:center; color:var(--bgn-course-text); font-size:12.5px; }
.bgn-course-price__features .fa { color:var(--bgn-course-green); }
.bgn-course-order-btn { width:100%; min-height:48px; display:inline-flex; justify-content:center; align-items:center; gap:12px; padding:11px 18px; border:0; border-radius:8px; color:#fff; background:var(--bgn-course-green); font:inherit; font-weight:760; text-decoration:none; cursor:pointer; transition:.2s ease; }
.bgn-course-order-btn:hover,.bgn-course-order-btn:focus { color:#fff; background:var(--bgn-course-green-dark); transform:translateY(-1px); }
.bgn-course-price__how { margin-top:10px; display:block; padding:11px 14px; color:var(--bgn-course-navy); border:1px solid #AAB4C3; border-radius:8px; text-align:center; text-decoration:none; font-size:13px; font-weight:700; }

.bgn-course-learn__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.bgn-course-card { min-height:188px; padding:24px 21px; background:#fff; border:1px solid var(--bgn-course-border); border-radius:14px; }
.bgn-course-card__icon { width:56px; height:56px; margin-bottom:14px; display:inline-flex; align-items:center; justify-content:center; color:var(--bgn-course-green); background:var(--bgn-course-green-soft); border-radius:13px; font-size:25px; }
.bgn-course-card h3 { margin:0 0 9px; color:var(--bgn-course-navy); font-size:16px; font-weight:760; line-height:1.25; }
.bgn-course-card p { margin:0; color:var(--bgn-course-muted); font-size:13.5px; line-height:1.55; }

.bgn-course-includes { padding-top:24px; }
.bgn-course-includes__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.bgn-course-include { min-height:154px; padding:24px; display:grid; grid-template-columns:66px minmax(0,1fr); gap:16px; align-items:start; border:1px solid var(--bgn-course-border); border-radius:14px; }
.bgn-course-include__icon { width:60px; height:60px; display:inline-flex; align-items:center; justify-content:center; color:var(--bgn-course-green); background:var(--bgn-course-green-soft); border-radius:14px; font-size:28px; }
.bgn-course-include h3 { margin:2px 0 7px; color:var(--bgn-course-navy); font-size:16px; font-weight:760; }
.bgn-course-include p { margin:0; color:var(--bgn-course-muted); font-size:13.5px; line-height:1.55; }

.bgn-course-practice { padding-top:34px; }
.bgn-course-practice__panel { display:grid; grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr); gap:42px; align-items:center; overflow:hidden; background:linear-gradient(135deg,#fff 0%,#F4F9F5 100%); border:1px solid var(--bgn-course-border); border-radius:18px; }
.bgn-course-practice__media { margin:0; min-height:320px; }
.bgn-course-practice__media img { width:100%; height:100%; min-height:320px; display:block; object-fit:cover; }
.bgn-course-practice__copy { padding:34px 38px 34px 0; }
.bgn-course-practice__copy h2 { margin:0 0 14px; color:var(--bgn-course-navy); font-size:clamp(28px,2.8vw,40px); line-height:1.12; font-weight:790; letter-spacing:-.035em; }
.bgn-course-practice__copy p { margin:0 0 15px; color:var(--bgn-course-muted); font-size:14.5px; line-height:1.65; }
.bgn-course-practice__copy ul { margin:18px 0 0; padding:0; list-style:none; }
.bgn-course-practice__copy li { position:relative; margin-bottom:9px; padding-left:25px; font-size:14px; line-height:1.5; }
.bgn-course-practice__copy li::before { content:"\f058"; position:absolute; left:0; top:1px; color:var(--bgn-course-green); font-family:FontAwesome; }

.bgn-course-audience { padding-top:38px; }
.bgn-course-audience__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.bgn-course-audience__item { min-height:132px; padding:22px; display:grid; grid-template-columns:56px minmax(0,1fr); gap:15px; border:1px solid var(--bgn-course-border); border-radius:14px; }
.bgn-course-audience__icon { width:52px; height:52px; display:inline-flex; align-items:center; justify-content:center; color:var(--bgn-course-green); background:var(--bgn-course-green-soft); border-radius:50%; font-size:23px; }
.bgn-course-audience__item h3 { margin:2px 0 6px; color:var(--bgn-course-navy); font-size:15px; font-weight:760; }
.bgn-course-audience__item p { margin:0; color:var(--bgn-course-muted); font-size:13px; line-height:1.5; }

.bgn-course-faq { padding-top:38px; padding-bottom:82px; }
.bgn-course-faq__list { display:grid; gap:9px; }
.bgn-course-faq details { overflow:hidden; border:1px solid var(--bgn-course-border); border-radius:12px; background:#fff; }
.bgn-course-faq summary { min-height:58px; padding:14px 18px; display:grid; grid-template-columns:minmax(0,1fr) 20px; align-items:center; gap:12px; list-style:none; cursor:pointer; color:var(--bgn-course-navy); font-size:14.5px; font-weight:730; }
.bgn-course-faq summary::-webkit-details-marker { display:none; }
.bgn-course-faq summary .fa { color:var(--bgn-course-green); transition:transform .2s ease; }
.bgn-course-faq details[open] summary .fa { transform:rotate(180deg); }
.bgn-course-faq__answer { padding:0 18px 18px; border-top:1px solid var(--bgn-course-border); background:#FCFDFC; }
.bgn-course-faq__pro,.bgn-course-faq__human { padding:14px 16px; border-radius:10px; }
.bgn-course-faq__pro { margin-top:14px; background:#fff; border:1px solid #EBEFED; }
.bgn-course-faq__human { margin-top:8px; background:var(--bgn-course-green-soft); }
.bgn-course-faq__answer strong { display:block; margin-bottom:5px; color:var(--bgn-course-green); font-size:12px; }
.bgn-course-faq__answer p { margin:0; color:var(--bgn-course-text); font-size:13.5px; line-height:1.58; }

.bgn-course-modal[hidden] { display:none; }
.bgn-course-modal { position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; padding:24px; }
.bgn-course-modal__backdrop { position:absolute; inset:0; background:rgba(7,27,73,.62); backdrop-filter:blur(2px); }
.bgn-course-modal__dialog { position:relative; z-index:2; width:min(520px,100%); max-height:calc(100vh - 48px); overflow:auto; padding:30px; background:#fff; border-radius:18px; box-shadow:0 24px 60px rgba(7,27,73,.28); }
.bgn-course-modal__close { position:absolute; top:14px; right:14px; width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:50%; background:#F2F5F3; color:var(--bgn-course-navy); cursor:pointer; font-size:19px; }
.bgn-course-modal h2 { margin:0 42px 7px 0; color:var(--bgn-course-navy); font-size:28px; line-height:1.15; }
.bgn-course-modal__intro { margin:0 0 20px; color:var(--bgn-course-muted); font-size:14px; line-height:1.55; }
.bgn-course-modal__contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.bgn-course-modal__contact { min-height:150px; padding:20px 16px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; text-decoration:none; background:#fff; border:1px solid var(--bgn-course-border); border-radius:14px; transition:.2s ease; }
.bgn-course-modal__contact:hover,.bgn-course-modal__contact:focus { transform:translateY(-2px); border-color:rgba(21,128,61,.3); box-shadow:0 10px 24px rgba(7,27,73,.06); }
.bgn-course-modal__contact-icon { width:54px; height:54px; margin-bottom:10px; display:inline-flex; align-items:center; justify-content:center; color:#fff; background:var(--bgn-course-green); border-radius:50%; font-size:25px; }
.bgn-course-modal__contact strong { color:var(--bgn-course-navy); font-size:15px; }
.bgn-course-modal__contact span:last-child { margin-top:4px; color:var(--bgn-course-green); font-weight:760; font-size:15px; }
.bgn-course-modal__divider { display:flex; align-items:center; gap:12px; margin:22px 0 15px; color:var(--bgn-course-navy); font-size:15px; font-weight:760; }
.bgn-course-modal__divider::before,.bgn-course-modal__divider::after { content:""; flex:1; height:1px; background:var(--bgn-course-border); }
.bgn-course-modal__benefits { display:grid; gap:9px; }
.bgn-course-modal__benefit { padding:13px 14px; display:grid; grid-template-columns:42px minmax(0,1fr); gap:12px; align-items:center; background:#FAFCFA; border:1px solid var(--bgn-course-border); border-radius:11px; }
.bgn-course-modal__benefit-icon { width:40px; height:40px; display:inline-flex; align-items:center; justify-content:center; color:var(--bgn-course-green); background:var(--bgn-course-green-soft); border-radius:10px; font-size:18px; }
.bgn-course-modal__benefit strong { display:block; margin-bottom:2px; color:var(--bgn-course-navy); font-size:13.5px; }
.bgn-course-modal__benefit p { margin:0; color:var(--bgn-course-muted); font-size:12.5px; line-height:1.4; }
body.bgn-modal-open { overflow:hidden; }

@media (max-width:991px) {
  .bgn-course-hero__grid,.bgn-course-practice__panel { grid-template-columns:1fr; }
  .bgn-course-hero__media,.bgn-course-hero__media img { min-height:420px; }
  .bgn-course-learn__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bgn-course-includes__grid { grid-template-columns:1fr; }
  .bgn-course-practice__copy { padding:28px; }
  .bgn-course-audience__grid { grid-template-columns:1fr; }
}
@media (max-width:767px) {
  .bgn-course__boxed { width:min(100% - 28px,var(--bgn-course-container)); }
  .bgn-course__section { padding:48px 0; }
  .bgn-course-price { position:static; width:auto; margin:14px; }
  .bgn-course-learn__grid { grid-template-columns:1fr; }
  .bgn-course-modal__contact-grid { grid-template-columns:1fr; }
}
@media (max-width:479px) {
  .bgn-course-hero h1 { font-size:38px; }
  .bgn-course-include { grid-template-columns:56px minmax(0,1fr); padding:18px; }
  .bgn-course-practice__panel { gap:0; }
  .bgn-course-modal__dialog { padding:24px 18px 20px; }
}



































/* ==========================================================================
   BEGINIUM 2026 · HOME
   Requiere beginium-2026.css.
   Máximo 4 columnas; mayor parte del contenido en 1–3 columnas.
   ========================================================================== */

.bgn-home {
  --bgn-home-navy: var(--bgn-navy, #071B49);
  --bgn-home-green: var(--bgn-green, #15803D);
  --bgn-home-green-dark: #116A33;
  --bgn-home-text: var(--bgn-text, #111827);
  --bgn-home-muted: var(--bgn-text-soft, #5F6B76);
  --bgn-home-border: var(--bgn-border, #E3E8E5);
  --bgn-home-soft: #F7F9F8;
  --bgn-home-green-soft: #EFF8F1;
  --bgn-home-container: var(--bgn-container, 1240px);

  width: 100%;
  color: var(--bgn-home-text);
  background: #fff;
  font-family: var(--bgn-font-family, "Figtree", system-ui, sans-serif);
}

.bgn-home *,
.bgn-home *::before,
.bgn-home *::after {
  box-sizing: border-box;
}

.bgn-home__boxed {
  width: min(var(--bgn-home-container), calc(100% - 40px));
  margin: 0 auto;
}

.bgn-home-section {
  padding: 72px 0 0;
}

.bgn-home__eyebrow {
  margin: 0 0 13px;
  color: var(--bgn-home-green);
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.bgn-home__heading {
  margin-bottom: 34px;
}

.bgn-home__heading--center {
  max-width: 790px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.bgn-home__heading h2 {
  margin: 0;
  color: var(--bgn-home-navy);
  font-size: clamp(28px, 2.55vw, 38px);
  font-weight: 790;
  line-height: 1.13;
  letter-spacing: -.032em;
}

.bgn-home__heading > p:not(.bgn-home__eyebrow) {
  max-width: 690px;
  margin: 12px auto 0;
  color: var(--bgn-home-muted);
  font-size: 15px;
  line-height: 1.65;
}

.bgn-home__line {
  display: block;
  width: 46px;
  height: 3px;
  margin: 14px auto 0;
  background: var(--bgn-home-green);
  border-radius: 99px;
}

.bgn-home__center-link {
  margin-top: 27px;
  text-align: center;
}

.bgn-home__center-link a,
.bgn-home-text-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--bgn-home-green);
  font-size: 14px;
  font-weight: 760;
  text-decoration: none;
}

.bgn-home__center-link a:hover,
.bgn-home__center-link a:focus,
.bgn-home-text-link:hover,
.bgn-home-text-link:focus {
  color: var(--bgn-home-green-dark);
}


/* HERO
   ========================================================================== */

.bgn-home-hero {
  padding: 38px 0 18px;
}

.bgn-home-hero__panel {
  min-height: 520px;
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(470px, 1.05fr);
  gap: 48px;
  align-items: center;
}

.bgn-home-hero h1 {
  max-width: 650px;
  margin: 0 0 20px;
  color: var(--bgn-home-navy);
  font-size: clamp(42px, 4.55vw, 63px);
  font-weight: 810;
  line-height: 1.02;
  letter-spacing: -.05em;
}

.bgn-home-hero__lead {
  max-width: 650px;
  margin: 0 0 10px;
  color: var(--bgn-home-text);
  font-size: 16.5px;
  line-height: 1.65;
}

.bgn-home-hero__text {
  max-width: 650px;
  margin: 0;
  color: var(--bgn-home-muted);
  font-size: 14.5px;
  line-height: 1.65;
}

.bgn-home-hero__actions {
  margin-top: 26px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.bgn-home-btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 760;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}

.bgn-home-btn--primary {
  color: #fff;
  background: var(--bgn-home-green);
  border: 1px solid var(--bgn-home-green);
}

.bgn-home-btn--secondary {
  color: var(--bgn-home-green);
  background: #fff;
  border: 1px solid var(--bgn-home-green);
}

.bgn-home-btn:hover,
.bgn-home-btn:focus {
  transform: translateY(-1px);
}

.bgn-home-btn--primary:hover,
.bgn-home-btn--primary:focus {
  color: #fff;
  background: var(--bgn-home-green-dark);
}

.bgn-home-btn--secondary:hover,
.bgn-home-btn--secondary:focus {
  color: var(--bgn-home-green-dark);
  border-color: var(--bgn-home-green-dark);
}

.bgn-home-hero__highlights {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px 24px;
}

.bgn-home-hero__highlight {
  display: grid;
  grid-template-columns: 25px minmax(0,1fr);
  gap: 10px;
  align-items: start;
}

.bgn-home-hero__highlight .fa {
  color: var(--bgn-home-green);
  font-size: 18px;
  margin-top: 2px;
}

.bgn-home-hero__highlight span {
  color: var(--bgn-home-muted);
  font-size: 12.5px;
  line-height: 1.45;
}

.bgn-home-hero__highlight strong {
  display: block;
  margin-bottom: 2px;
  color: var(--bgn-home-navy);
  font-size: 13.5px;
}

.bgn-home-hero__media {
  position: relative;
  min-height: 470px;
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #EEF2EF;
  box-shadow: 0 12px 30px rgba(7,27,73,.06);
}

.bgn-home-hero__media img {
  width: 100%;
  height: 100%;
  min-height: 470px;
  display: block;
  object-fit: cover;
}

.bgn-home-hero__note {
  position: absolute;
  right: 22px;
  bottom: 22px;
  max-width: 220px;
  padding: 15px 17px;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr);
  gap: 11px;
  align-items: center;
  color: var(--bgn-home-muted);
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(7,27,73,.06);
  border-radius: 13px;
  box-shadow: 0 9px 22px rgba(7,27,73,.12);
  font-size: 12px;
  line-height: 1.4;
}

.bgn-home-hero__note .fa {
  color: var(--bgn-home-green);
  font-size: 31px;
}

.bgn-home-hero__note strong {
  display: block;
  color: var(--bgn-home-navy);
  font-size: 13px;
}


/* INTRO
   ========================================================================== */

.bgn-home-intro {
  padding: 34px 0 0;
}

.bgn-home-intro__panel {
  padding: 27px 30px;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
  gap: 38px;
  align-items: center;
  background: linear-gradient(135deg, #FAFCFB 0%, #F4F8F5 100%);
  border: 1px solid var(--bgn-home-border);
  border-radius: 16px;
}

.bgn-home-intro__main {
  display: grid;
  grid-template-columns: 62px minmax(0,1fr);
  gap: 17px;
  align-items: center;
}

.bgn-home-intro__mark {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-home-green);
  background: var(--bgn-home-green-soft);
  border-radius: 50%;
  font-size: 25px;
}

.bgn-home-intro__main h2 {
  margin: 0 0 7px;
  color: var(--bgn-home-navy);
  font-size: 21px;
  font-weight: 780;
  line-height: 1.2;
}

.bgn-home-intro__main p {
  margin: 0;
  color: var(--bgn-home-muted);
  font-size: 13.5px;
  line-height: 1.55;
}

.bgn-home-intro__points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 9px;
}

.bgn-home-intro__points a {
  min-width: 0;
  padding: 10px;
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  gap: 8px;
  color: inherit;
  text-decoration: none;
  border-radius: 10px;
}

.bgn-home-intro__points a:hover {
  background: #fff;
}

.bgn-home-intro__points .fa {
  color: var(--bgn-home-green);
  font-size: 20px;
}

.bgn-home-intro__points strong {
  display: block;
  margin-bottom: 2px;
  color: var(--bgn-home-navy);
  font-size: 12.5px;
}

.bgn-home-intro__points span {
  color: var(--bgn-home-muted);
  font-size: 11.5px;
  line-height: 1.35;
}


/* CURSOS
   ========================================================================== */

.bgn-home-courses__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
}

.bgn-home-course {
  min-height: 270px;
  padding: 25px 22px;
  text-align: center;
  background: #fff;
  border: 1px solid var(--bgn-home-border);
  border-radius: 15px;
}

.bgn-home-course__icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-home-green);
  background: var(--bgn-home-green-soft);
  border-radius: 50%;
  font-size: 31px;
}

.bgn-home-course h3 {
  margin: 0 0 9px;
  color: var(--bgn-home-navy);
  font-size: 17px;
  font-weight: 770;
  line-height: 1.25;
}

.bgn-home-course p {
  margin: 0 0 15px;
  color: var(--bgn-home-muted);
  font-size: 13px;
  line-height: 1.55;
}

.bgn-home-course a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--bgn-home-green);
  font-size: 13.5px;
  font-weight: 760;
  text-decoration: none;
}


/* MÉTODO
   ========================================================================== */

.bgn-home-method__panel {
  display: grid;
  grid-template-columns: minmax(380px, .95fr) minmax(0, 1.05fr);
  gap: 52px;
  align-items: center;
}

.bgn-home-method__media {
  min-height: 365px;
  margin: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #EEF2EF;
}

.bgn-home-method__media img {
  width: 100%;
  height: 100%;
  min-height: 365px;
  display: block;
  object-fit: cover;
}

.bgn-home-method__copy h2 {
  margin: 0 0 15px;
  color: var(--bgn-home-navy);
  font-size: clamp(31px, 3vw, 43px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.038em;
}

.bgn-home-method__copy > p {
  margin: 0;
  color: var(--bgn-home-muted);
  font-size: 14.5px;
  line-height: 1.65;
}

.bgn-home-method__steps {
  margin: 24px 0;
  display: grid;
  gap: 12px;
}

.bgn-home-method__step {
  display: grid;
  grid-template-columns: 35px minmax(0,1fr);
  gap: 13px;
}

.bgn-home-method__step > span {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: var(--bgn-home-green);
  border-radius: 50%;
  font-size: 13px;
  font-weight: 800;
}

.bgn-home-method__step strong {
  display: block;
  margin-bottom: 2px;
  color: var(--bgn-home-navy);
  font-size: 14px;
}

.bgn-home-method__step p {
  margin: 0;
  color: var(--bgn-home-muted);
  font-size: 13px;
  line-height: 1.45;
}


/* EXPLORAR
   ========================================================================== */

.bgn-home-explore__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
}

.bgn-home-explore-card {
  min-height: 154px;
  padding: 24px;
  display: grid;
  grid-template-columns: 60px minmax(0,1fr);
  gap: 17px;
  color: inherit;
  text-decoration: none;
  background: #fff;
  border: 1px solid var(--bgn-home-border);
  border-radius: 14px;
  transition: transform .2s ease, box-shadow .2s ease;
}

.bgn-home-explore-card:hover,
.bgn-home-explore-card:focus {
  color: inherit;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(7,27,73,.05);
}

.bgn-home-explore-card__icon {
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bgn-home-green);
  background: var(--bgn-home-green-soft);
  border-radius: 50%;
  font-size: 23px;
}

.bgn-home-explore-card h3 {
  margin: 0 0 7px;
  color: var(--bgn-home-navy);
  font-size: 17px;
  font-weight: 770;
}

.bgn-home-explore-card p {
  margin: 0 0 10px;
  color: var(--bgn-home-muted);
  font-size: 13px;
  line-height: 1.5;
}

.bgn-home-explore-card__link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--bgn-home-green);
  font-size: 13px;
  font-weight: 760;
}


/* RECURSOS
   ========================================================================== */

.bgn-home-resources__intro {
  margin-bottom: 28px;
  display: grid;
  grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr);
  gap: 52px;
  align-items: end;
}

.bgn-home-resources__intro h2 {
  margin: 0;
  color: var(--bgn-home-navy);
  font-size: clamp(28px, 2.7vw, 39px);
  font-weight: 790;
  line-height: 1.12;
  letter-spacing: -.035em;
}

.bgn-home-resources__intro > p {
  margin: 0;
  color: var(--bgn-home-muted);
  font-size: 14.5px;
  line-height: 1.65;
}

.bgn-home-resources__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
}

.bgn-home-resource {
  min-height: 160px;
  padding: 22px 24px;
  background: #fff;
  border: 1px solid var(--bgn-home-border);
  border-radius: 14px;
}

.bgn-home-resource__tag {
  display: inline-block;
  margin-bottom: 9px;
  color: var(--bgn-home-green);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.bgn-home-resource h3 {
  margin: 0 0 7px;
  color: var(--bgn-home-navy);
  font-size: 16px;
  font-weight: 760;
}

.bgn-home-resource p {
  margin: 0 0 12px;
  color: var(--bgn-home-muted);
  font-size: 13px;
  line-height: 1.5;
}

.bgn-home-resource a {
  color: var(--bgn-home-green);
  font-size: 13px;
  font-weight: 760;
  text-decoration: none;
}


/* SOBRE
   ========================================================================== */

.bgn-home-about {
  padding-bottom: 80px;
}

.bgn-home-about__panel {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(380px,.92fr);
  gap: 52px;
  align-items: center;
  padding: 34px;
  background: linear-gradient(135deg, #F8FBF9, #F1F7F3);
  border: 1px solid var(--bgn-home-border);
  border-radius: 18px;
}

.bgn-home-about__copy h2 {
  margin: 0 0 15px;
  color: var(--bgn-home-navy);
  font-size: clamp(29px, 2.8vw, 40px);
  font-weight: 790;
  line-height: 1.12;
  letter-spacing: -.035em;
}

.bgn-home-about__copy > p {
  margin: 0;
  color: var(--bgn-home-muted);
  font-size: 14.5px;
  line-height: 1.65;
}

.bgn-home-about__copy ul {
  margin: 20px 0 20px;
  padding: 0;
  list-style: none;
}

.bgn-home-about__copy li {
  position: relative;
  margin-bottom: 9px;
  padding-left: 25px;
  color: var(--bgn-home-text);
  font-size: 13.5px;
  line-height: 1.5;
}

.bgn-home-about__copy li::before {
  content: "\f058";
  position: absolute;
  left: 0;
  top: 1px;
  color: var(--bgn-home-green);
  font-family: FontAwesome;
}

.bgn-home-about__media {
  min-height: 305px;
  margin: 0;
  overflow: hidden;
  border-radius: 15px;
}

.bgn-home-about__media img {
  width: 100%;
  height: 100%;
  min-height: 305px;
  display: block;
  object-fit: cover;
}


/* RESPONSIVE
   ========================================================================== */

@media (max-width: 1199px) {
  .bgn-home-hero__panel {
    grid-template-columns: minmax(0,1fr) minmax(420px,.95fr);
    gap: 32px;
  }

  .bgn-home-intro__panel {
    grid-template-columns: 1fr;
  }

  .bgn-home-intro__points {
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
}

@media (max-width: 991px) {
  .bgn-home-hero__panel,
  .bgn-home-method__panel,
  .bgn-home-about__panel,
  .bgn-home-resources__intro {
    grid-template-columns: 1fr;
  }

  .bgn-home-courses__grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .bgn-home-hero__media,
  .bgn-home-hero__media img {
    min-height: 400px;
  }

  .bgn-home-resources__intro {
    gap: 12px;
    align-items: start;
  }

  .bgn-home-about__media {
    min-height: 340px;
  }
}

@media (max-width: 767px) {
  .bgn-home__boxed {
    width: min(100% - 28px, var(--bgn-home-container));
  }

  .bgn-home-section {
    padding-top: 56px;
  }

  .bgn-home-hero {
    padding-top: 28px;
  }

  .bgn-home-hero h1 {
    font-size: clamp(37px, 10vw, 50px);
  }

  .bgn-home-hero__highlights,
  .bgn-home-courses__grid,
  .bgn-home-explore__grid,
  .bgn-home-resources__grid,
  .bgn-home-intro__points {
    grid-template-columns: 1fr;
  }

  .bgn-home-hero__note {
    position: static;
    max-width: none;
    margin: 12px;
  }

  .bgn-home-intro__panel {
    padding: 23px;
  }

  .bgn-home-intro__main {
    grid-template-columns: 1fr;
  }

  .bgn-home-method__panel {
    gap: 28px;
  }

  .bgn-home-about__panel {
    padding: 25px;
    gap: 28px;
  }
}

@media (max-width: 479px) {
  .bgn-home-hero__actions {
    display: grid;
  }

  .bgn-home-btn {
    width: 100%;
  }

  .bgn-home-explore-card {
    grid-template-columns: 1fr;
  }

  .bgn-home-hero__media,
  .bgn-home-hero__media img {
    min-height: 300px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bgn-home *,
  .bgn-home *::before,
  .bgn-home *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}