/* ================================================
   PROCHE PLEDGE - FULLY RESPONSIVE STYLESHEET
   Replaces style.css for all-device compatibility
   ================================================ */

/* --- CSS VARIABLES --- */
:root {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary: #FFC600;
  --secondary: #23A036;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #F5F5F5;
  --dark: #0a1026;
  --font-family-sans-serif: "Poppins", sans-serif;
}

/* --- RESET & BASE --- */
*, *::before, *::after { box-sizing: border-box; }
html { font-family: sans-serif; line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: rgba(0,0,0,0); }
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { display: block; }
body { margin: 0; font-family: "Poppins", sans-serif; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #777; text-align: left; background-color: #fff; overflow-x: hidden; }
[tabindex="-1"]:focus:not(:focus-visible) { outline: 0 !important; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
h1,h2,h3,h4,h5,h6 { margin-top: 0; margin-bottom: .5rem; }
p { margin-top: 0; margin-bottom: 1rem; }
abbr[title],abbr[data-original-title] { text-decoration: underline; text-decoration: underline dotted; cursor: help; border-bottom: 0; }
address { margin-bottom: 1rem; font-style: normal; line-height: inherit; }
ol,ul,dl { margin-top: 0; margin-bottom: 1rem; }
ol ol,ul ul,ol ul,ul ol { margin-bottom: 0; }
dt { font-weight: 700; }
dd { margin-bottom: .5rem; margin-left: 0; }
blockquote { margin: 0 0 1rem; }
b,strong { font-weight: bolder; }
small { font-size: 80%; }
sub,sup { position: relative; font-size: 75%; line-height: 0; vertical-align: baseline; }
sub { bottom: -.25em; }
sup { top: -.5em; }
a { color: #FFC600; text-decoration: none; background-color: transparent; }
a:hover { color: #b38b00; text-decoration: underline; }
a:not([href]):not([class]) { color: inherit; text-decoration: none; }
a:not([href]):not([class]):hover { color: inherit; text-decoration: none; }
pre,code,kbd,samp { font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; font-size: 1em; }
pre { margin-top: 0; margin-bottom: 1rem; overflow: auto; }
figure { margin: 0 0 1rem; }
img { vertical-align: middle; border-style: none; }
svg { overflow: hidden; vertical-align: middle; }
table { border-collapse: collapse; }
caption { padding-top: .75rem; padding-bottom: .75rem; color: #6c757d; text-align: left; caption-side: bottom; }
th { text-align: inherit; }
label { display: inline-block; margin-bottom: .5rem; }
button { border-radius: 0; }
button:focus { outline: 1px dotted; outline: 5px auto -webkit-focus-ring-color; }
input,button,select,optgroup,textarea { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; }
button,input { overflow: visible; }
button,select { text-transform: none; }
[role="button"] { cursor: pointer; }
button:not(:disabled),[type="button"]:not(:disabled),[type="reset"]:not(:disabled),[type="submit"]:not(:disabled) { cursor: pointer; }
button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner { padding: 0; border-style: none; }
input[type="radio"],input[type="checkbox"] { box-sizing: border-box; padding: 0; }
textarea { overflow: auto; resize: vertical; }
fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
legend { display: block; width: 100%; max-width: 100%; padding: 0; margin-bottom: .5rem; font-size: 1.5rem; line-height: inherit; color: inherit; white-space: normal; }
progress { vertical-align: baseline; }
[type="number]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { outline-offset: -2px; -webkit-appearance: none; }
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { font: inherit; -webkit-appearance: button; }
summary { display: list-item; cursor: pointer; }
template { display: none; }
[hidden] { display: none !important; }

/* --- TYPOGRAPHY --- */
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 { margin-bottom: .5rem; font-weight: 500; line-height: 1.2; color: #0a1026; }
h1,.h1 { font-size: 2.5rem; }
h2,.h2 { font-size: 2rem; }
h3,.h3 { font-size: 1.75rem; }
h4,.h4 { font-size: 1.5rem; }
h5,.h5 { font-size: 1.25rem; }
h6,.h6 { font-size: 1rem; }
.display-1 { font-size: 6rem; font-weight: 300; line-height: 1.2; }
.display-2 { font-size: 5.5rem; font-weight: 300; line-height: 1.2; }
.display-3 { font-size: 4.5rem; font-weight: 300; line-height: 1.2; }
.display-4 { font-size: 3.5rem; font-weight: 300; line-height: 1.2; }
hr { margin-top: 1rem; margin-bottom: 1rem; border: 0; border-top: 1px solid rgba(0,0,0,.1); }
small,.small { font-size: 80%; font-weight: 400; }
mark,.mark { padding: .2em; background-color: #fcf8e3; }
.list-unstyled { padding-left: 0; list-style: none; }
.list-inline { padding-left: 0; list-style: none; }
.list-inline-item { display: inline-block; }
.list-inline-item:not(:last-child) { margin-right: .5rem; }
.blockquote { margin-bottom: 1rem; font-size: 1.25rem; }
.blockquote-footer { display: block; font-size: 80%; color: #6c757d; }
.blockquote-footer::before { content: "\2014\00A0"; }
.img-fluid { max-width: 100%; height: auto; }
.img-thumbnail { padding: .25rem; background-color: #fff; border: 1px solid #dee2e6; border-radius: 5px; max-width: 100%; height: auto; }
.figure { display: inline-block; }
.figure-img { margin-bottom: .5rem; line-height: 1; }
.figure-caption { font-size: 90%; color: #6c757d; }
code { font-size: 87.5%; color: #e83e8c; word-wrap: break-word; }
a > code { color: inherit; }
kbd { padding: .2rem .4rem; font-size: 87.5%; color: #fff; background-color: #212529; border-radius: .2rem; }
kbd kbd { padding: 0; font-size: 100%; font-weight: 700; }
pre { display: block; font-size: 87.5%; color: #212529; }
pre code { font-size: inherit; color: inherit; word-break: normal; }
.text-monospace { font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace !important; }
.text-justify { text-align: justify !important; }
.text-wrap { white-space: normal !important; }
.text-nowrap { white-space: nowrap !important; }
.text-truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }
.text-center { text-align: center !important; }
.text-lowercase { text-transform: lowercase !important; }
.text-uppercase { text-transform: uppercase !important; }
.text-capitalize { text-transform: capitalize !important; }
.font-weight-light { font-weight: 300 !important; }
.font-weight-lighter { font-weight: lighter !important; }
.font-weight-normal { font-weight: 400 !important; }
.font-weight-bold { font-weight: 700 !important; }
.font-weight-bolder { font-weight: bolder !important; }
.font-italic { font-style: italic !important; }
.text-white { color: #fff !important; }
.text-primary { color: #FFC600 !important; }
a.text-primary:hover,a.text-primary:focus { color: #b38b00 !important; }
.text-secondary { color: #23A036 !important; }
a.text-secondary:hover,a.text-secondary:focus { color: #156121 !important; }
.text-success { color: #28a745 !important; }
.text-info { color: #17a2b8 !important; }
.text-warning { color: #ffc107 !important; }
.text-danger { color: #dc3545 !important; }
.text-light { color: #F5F5F5 !important; }
.text-dark { color: #0a1026 !important; }
.text-body { color: #777 !important; }
.text-muted { color: #6c757d !important; }
.text-black-50 { color: rgba(0,0,0,.5) !important; }
.text-white-50 { color: rgba(255,255,255,.5) !important; }
.text-decoration-none { text-decoration: none !important; }
.text-break { word-break: break-word !important; word-wrap: break-word !important; }
.visible { visibility: visible !important; }
.invisible { visibility: hidden !important; }

/* --- CONTAINER & GRID --- */
.container,.container-fluid,.container-sm,.container-md,.container-lg,.container-xl { width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; }
@media (min-width:576px) { .container,.container-sm { max-width: 540px; } }
@media (min-width:768px) { .container,.container-sm,.container-md { max-width: 720px; } }
@media (min-width:992px) { .container,.container-sm,.container-md,.container-lg { max-width: 960px; } }
@media (min-width:1200px) { .container,.container-sm,.container-md,.container-lg,.container-xl { max-width: 1140px; } }
.row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }
.no-gutters { margin-right: 0; margin-left: 0; }
.no-gutters > .col,.no-gutters > [class*="col-"] { padding-right: 0; padding-left: 0; }
.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; }
.col { flex-basis: 0; flex-grow: 1; max-width: 100%; }
.col-auto { flex: 0 0 auto; width: auto; max-width: 100%; }
.col-1 { flex: 0 0 8.33333%; max-width: 8.33333%; }
.col-2 { flex: 0 0 16.66667%; max-width: 16.66667%; }
.col-3 { flex: 0 0 25%; max-width: 25%; }
.col-4 { flex: 0 0 33.33333%; max-width: 33.33333%; }
.col-5 { flex: 0 0 41.66667%; max-width: 41.66667%; }
.col-6 { flex: 0 0 50%; max-width: 50%; }
.col-7 { flex: 0 0 58.33333%; max-width: 58.33333%; }
.col-8 { flex: 0 0 66.66667%; max-width: 66.66667%; }
.col-9 { flex: 0 0 75%; max-width: 75%; }
.col-10 { flex: 0 0 83.33333%; max-width: 83.33333%; }
.col-11 { flex: 0 0 91.66667%; max-width: 91.66667%; }
.col-12 { flex: 0 0 100%; max-width: 100%; }
.order-first { order: -1; }
.order-last { order: 13; }
.order-0 { order: 0; }
.order-1 { order: 1; }
.order-2 { order: 2; }
.order-3 { order: 3; }

/* --- FORMS --- */
.form-control { display: block; width: 100%; height: calc(1.5em + .75rem + 2px); padding: .375rem .75rem; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #495057; background-color: #fff; background-clip: padding-box; border: 1px solid #ced4da; border-radius: 30px; transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out; }
.form-control:focus { color: #495057; background-color: #fff; border-color: #ffe380; outline: 0; box-shadow: 0 0 0 .2rem rgba(255,198,0,.25); }
.form-control::placeholder { color: #6c757d; opacity: 1; }
.form-control:disabled,.form-control[readonly] { background-color: #e9ecef; opacity: 1; }
.form-group { margin-bottom: 1rem; }
.form-row { display: flex; flex-wrap: wrap; margin-right: -5px; margin-left: -5px; }
.form-row > .col,.form-row > [class*="col-"] { padding-right: 5px; padding-left: 5px; }
.input-group { position: relative; display: flex; flex-wrap: wrap; align-items: stretch; width: 100%; }
.input-group > .form-control { position: relative; flex: 1 1 auto; width: 1%; min-width: 0; margin-bottom: 0; }
.input-group > .form-control:focus { z-index: 3; }
.input-group-append { display: flex; }
.input-group-append .btn { position: relative; z-index: 2; }
.input-group-text { display: flex; align-items: center; padding: .375rem .75rem; margin-bottom: 0; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #495057; text-align: center; white-space: nowrap; background-color: #e9ecef; border: 1px solid #ced4da; border-radius: 30px; }

/* --- BUTTONS --- */
.btn { display: inline-block; font-weight: 500; color: #777; text-align: center; vertical-align: middle; user-select: none; background-color: transparent; border: 1px solid transparent; padding: 10px 25px; font-size: 1rem; line-height: 1.5; border-radius: 100px; transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; }
.btn:hover { color: #777; text-decoration: none; }
.btn:focus,.btn.focus { outline: 0; box-shadow: 0 0 0 .2rem rgba(255,198,0,.25); }
.btn.disabled,.btn:disabled { opacity: .65; }
.btn:not(:disabled):not(.disabled) { cursor: pointer; }
.btn-primary { color: #212529; background-color: #FFC600; border-color: #FFC600; }
.btn-primary:hover { color: #212529; background-color: #d9a800; border-color: #cc9e00; }
.btn-primary:focus,.btn-primary.focus { color: #212529; background-color: #d9a800; border-color: #cc9e00; box-shadow: 0 0 0 .2rem rgba(222,174,6,.5); }
.btn-secondary { color: #fff; background-color: #23A036; border-color: #23A036; }
.btn-secondary:hover { color: #fff; background-color: #1c812b; border-color: #1a7628; }
.btn-secondary:focus,.btn-secondary.focus { box-shadow: 0 0 0 .2rem rgba(68,174,84,.5); }
.btn-light { color: #212529; background-color: #F5F5F5; border-color: #F5F5F5; }
.btn-light:hover { color: #212529; background-color: #e2e2e2; border-color: gainsboro; }
.btn-dark { color: #fff; background-color: #0a1026; border-color: #0a1026; }
.btn-dark:hover { color: #fff; background-color: #020308; border-color: #000; }
.btn-sm,.btn-group-sm > .btn { padding: .25rem .5rem; font-size: .875rem; line-height: 1.5; border-radius: 100px; }
.btn-block { display: block; width: 100%; }
.btn-block + .btn-block { margin-top: .5rem; }
.btn-social { width: 45px; height: 45px; padding-left: 0; padding-right: 0; text-align: center; border-radius: 45px; }

/* --- NAVBAR --- */
.navbar { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: .5rem 1rem; }
.navbar > .container,.navbar > .container-fluid { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; }
.navbar-brand { display: inline-block; padding-top: .3125rem; padding-bottom: .3125rem; margin-right: 1rem; font-size: 1.25rem; line-height: inherit; white-space: nowrap; }
.navbar-brand:hover,.navbar-brand:focus { text-decoration: none; }
.navbar-nav { display: flex; flex-direction: column; padding-left: 0; margin-bottom: 0; list-style: none; }
.navbar-nav .nav-link { padding-right: 0; padding-left: 0; }
.navbar-nav .dropdown-menu { position: static; float: none; }
.navbar-collapse { flex-basis: 100%; flex-grow: 1; align-items: center; }
.navbar-toggler { padding: .25rem .75rem; font-size: 1.25rem; line-height: 1; background-color: transparent; border: 1px solid transparent; border-radius: 5px; }
.navbar-toggler:hover,.navbar-toggler:focus { text-decoration: none; }
.navbar-toggler-icon { display: inline-block; width: 1.5em; height: 1.5em; vertical-align: middle; content: ""; background: no-repeat center center; background-size: 100% 100%; }
.navbar-light .navbar-brand { color: rgba(0,0,0,.9); }
.navbar-light .navbar-nav .nav-link { padding: 30px 15px; color: #0a1026; font-size: 17px; font-weight: 600; outline: none; }
.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link.active { color: #23A036; }
.navbar-light .navbar-toggler { color: rgba(0,0,0,.5); border-color: rgba(0,0,0,.1); }
.navbar-light .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280,0,0,0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
.navbar-dark .navbar-brand { color: #fff; }
.navbar-dark .navbar-nav .nav-link { color: rgba(255,255,255,.5); }
.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link.active { color: #fff; }
.navbar-dark .navbar-toggler { color: rgba(255,255,255,.5); border-color: rgba(255,255,255,.1); }
.navbar-dark .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

/* --- NAV --- */
.nav { display: flex; flex-wrap: wrap; padding-left: 0; margin-bottom: 0; list-style: none; }
.nav-link { display: block; padding: .5rem 1rem; }
.nav-link:hover,.nav-link:focus { text-decoration: none; }
.nav-link.disabled { color: #6c757d; pointer-events: none; }

/* --- DROPDOWN --- */
.dropdown,.dropleft,.dropright,.dropup { position: relative; }
.dropdown-toggle { white-space: nowrap; }
.dropdown-toggle::after { display: inline-block; margin-left: .255em; vertical-align: .255em; content: ""; border-top: .3em solid; border-right: .3em solid transparent; border-bottom: 0; border-left: .3em solid transparent; }
.dropdown-menu { position: absolute; top: 100%; left: 0; z-index: 1000; display: none; float: left; min-width: 10rem; padding: .5rem 0; margin: .125rem 0 0; font-size: 1rem; color: #777; text-align: left; list-style: none; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0,0,0,.15); border-radius: 5px; }
.dropdown-menu-right { right: 0; left: auto; }
.dropdown-menu.show { display: block; }
.dropdown-item { display: block; width: 100%; padding: .25rem 1.5rem; clear: both; font-weight: 400; color: #212529; text-align: inherit; white-space: nowrap; background-color: transparent; border: 0; }
.dropdown-item:hover,.dropdown-item:focus { color: #16181b; text-decoration: none; background-color: #f8f9fa; }
.dropdown-item.active,.dropdown-item:active { color: #fff; text-decoration: none; background-color: #FFC600; }

/* --- COLLAPSE --- */
.collapse:not(.show) { display: none; }
.collapsing { position: relative; height: 0; overflow: hidden; transition: height .35s ease; }

/* --- MODAL --- */
.modal-open { overflow: hidden; }
.modal-open .modal { overflow-x: hidden; overflow-y: auto; }
.modal { position: fixed; top: 0; left: 0; z-index: 1050; display: none; width: 100%; height: 100%; overflow: hidden; outline: 0; }
.modal-dialog { position: relative; width: auto; margin: .5rem; pointer-events: none; }
.modal.fade .modal-dialog { transition: transform .3s ease-out; transform: translate(0,-50px); }
.modal.show .modal-dialog { transform: none; }
.modal-content { position: relative; display: flex; flex-direction: column; width: 100%; pointer-events: auto; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0,0,0,.2); border-radius: .3rem; outline: 0; }
.modal-backdrop { position: fixed; top: 0; left: 0; z-index: 1040; width: 100vw; height: 100vh; background-color: #000; }
.modal-backdrop.fade { opacity: 0; }
.modal-backdrop.show { opacity: .5; }
.modal-header { display: flex; align-items: flex-start; justify-content: space-between; padding: 1rem; border-bottom: 1px solid #dee2e6; border-top-left-radius: calc(.3rem - 1px); border-top-right-radius: calc(.3rem - 1px); }
.modal-body { position: relative; flex: 1 1 auto; padding: 1rem; }
.modal-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; padding: .75rem; border-top: 1px solid #dee2e6; border-bottom-right-radius: calc(.3rem - 1px); border-bottom-left-radius: calc(.3rem - 1px); }
.modal-footer > * { margin: .25rem; }
.close { float: right; font-size: 1.5rem; font-weight: 700; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; opacity: .5; }
.close:hover { color: #000; text-decoration: none; }
.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus { opacity: .75; }
button.close { padding: 0; background-color: transparent; border: 0; }

/* --- CAROUSEL --- */
.carousel { position: relative; }
.carousel.pointer-event { touch-action: pan-y; }
.carousel-inner { position: relative; width: 100%; overflow: hidden; }
.carousel-inner::after { display: block; clear: both; content: ""; }
.carousel-item { position: relative; display: none; float: left; width: 100%; margin-right: -100%; backface-visibility: hidden; transition: transform .6s ease-in-out; max-height: 600px; }
.carousel-item.active,.carousel-item-next,.carousel-item-prev { display: block; }
.carousel-item-next:not(.carousel-item-left),.active.carousel-item-right { transform: translateX(100%); }
.carousel-item-prev:not(.carousel-item-right),.active.carousel-item-left { transform: translateX(-100%); }
.carousel-fade .carousel-item { opacity: 0; transition-property: opacity; transform: none; }
.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right { z-index: 1; opacity: 1; }
.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right { z-index: 0; opacity: 0; transition: opacity 0s .6s; }
.carousel-control-prev,.carousel-control-next { position: absolute; top: 0; bottom: 0; z-index: 1; display: flex; align-items: center; justify-content: center; width: 15%; color: #fff; text-align: center; opacity: .5; transition: opacity .15s ease; }
.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus { color: #fff; text-decoration: none; outline: 0; opacity: .9; }
.carousel-control-prev { left: 0; }
.carousel-control-next { right: 0; }
.carousel-control-prev-icon,.carousel-control-next-icon { display: inline-block; width: 20px; height: 20px; background: no-repeat 50%/100% 100%; }
.carousel-control-prev-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); }
.carousel-control-next-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); }
.carousel-indicators { position: absolute; right: 0; bottom: 0; left: 0; z-index: 15; display: flex; justify-content: center; padding-left: 0; margin-right: 15%; margin-left: 15%; list-style: none; }
.carousel-indicators li { box-sizing: content-box; flex: 0 1 auto; width: 30px; height: 3px; margin-right: 3px; margin-left: 3px; text-indent: -999px; cursor: pointer; background-color: #fff; background-clip: padding-box; border-top: 10px solid transparent; border-bottom: 10px solid transparent; opacity: .5; transition: opacity .6s ease; }
.carousel-indicators .active { opacity: 1; }
.carousel-caption { position: absolute; right: 15%; bottom: 20px; left: 15%; z-index: 10; padding-top: 20px; padding-bottom: 20px; color: #fff; text-align: center; }

/* --- EMBED RESPONSIVE --- */
.embed-responsive { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; }
.embed-responsive::before { display: block; content: ""; }
.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; height: 100%; border: 0; }
.embed-responsive-16by9::before { padding-top: 56.25%; }

/* --- BADGE --- */
.badge { display: inline-block; padding: .25em .4em; font-size: 75%; font-weight: 700; line-height: 1; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: 5px; transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out; }
a.badge:hover,a.badge:focus { text-decoration: none; }
.badge:empty { display: none; }
.badge-primary { color: #212529; background-color: #FFC600; }
.badge-secondary { color: #fff; background-color: #23A036; }

/* --- DISPLAY UTILITIES --- */
.d-none { display: none !important; }
.d-inline { display: inline !important; }
.d-inline-block { display: inline-block !important; }
.d-block { display: block !important; }
.d-table { display: table !important; }
.d-flex { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }

/* --- FLEX UTILITIES --- */
.flex-row { flex-direction: row !important; }
.flex-column { flex-direction: column !important; }
.flex-wrap { flex-wrap: wrap !important; }
.flex-fill { flex: 1 1 auto !important; }
.flex-grow-1 { flex-grow: 1 !important; }
.justify-content-start { justify-content: flex-start !important; }
.justify-content-end { justify-content: flex-end !important; }
.justify-content-center { justify-content: center !important; }
.justify-content-between { justify-content: space-between !important; }
.align-items-start { align-items: flex-start !important; }
.align-items-end { align-items: flex-end !important; }
.align-items-center { align-items: center !important; }
.align-items-stretch { align-items: stretch !important; }
.align-self-center { align-self: center !important; }

/* --- POSITION UTILITIES --- */
.position-static { position: static !important; }
.position-relative { position: relative !important; }
.position-absolute { position: absolute !important; }
.position-fixed { position: fixed !important; }
.fixed-top { position: fixed; top: 0; right: 0; left: 0; z-index: 1030; }

/* --- SIZING UTILITIES --- */
.w-25 { width: 25% !important; }
.w-50 { width: 50% !important; }
.w-75 { width: 75% !important; }
.w-100 { width: 100% !important; }
.w-auto { width: auto !important; }
.h-25 { height: 25% !important; }
.h-50 { height: 50% !important; }
.h-75 { height: 75% !important; }
.h-100 { height: 100% !important; }
.h-auto { height: auto !important; }
.mw-100 { max-width: 100% !important; }
.mh-100 { max-height: 100% !important; }

/* --- SPACING UTILITIES --- */
.m-0 { margin: 0 !important; }
.mt-0,.my-0 { margin-top: 0 !important; }
.mr-0,.mx-0 { margin-right: 0 !important; }
.mb-0,.my-0 { margin-bottom: 0 !important; }
.ml-0,.mx-0 { margin-left: 0 !important; }
.m-1 { margin: .25rem !important; }
.mt-1,.my-1 { margin-top: .25rem !important; }
.mr-1,.mx-1 { margin-right: .25rem !important; }
.mb-1,.my-1 { margin-bottom: .25rem !important; }
.ml-1,.mx-1 { margin-left: .25rem !important; }
.m-2 { margin: .5rem !important; }
.mt-2,.my-2 { margin-top: .5rem !important; }
.mr-2,.mx-2 { margin-right: .5rem !important; }
.mb-2,.my-2 { margin-bottom: .5rem !important; }
.ml-2,.mx-2 { margin-left: .5rem !important; }
.m-3 { margin: 1rem !important; }
.mt-3,.my-3 { margin-top: 1rem !important; }
.mr-3,.mx-3 { margin-right: 1rem !important; }
.mb-3,.my-3 { margin-bottom: 1rem !important; }
.ml-3,.mx-3 { margin-left: 1rem !important; }
.m-4 { margin: 1.5rem !important; }
.mt-4,.my-4 { margin-top: 1.5rem !important; }
.mr-4,.mx-4 { margin-right: 1.5rem !important; }
.mb-4,.my-4 { margin-bottom: 1.5rem !important; }
.ml-4,.mx-4 { margin-left: 1.5rem !important; }
.m-5 { margin: 3rem !important; }
.mt-5,.my-5 { margin-top: 3rem !important; }
.mr-5,.mx-5 { margin-right: 3rem !important; }
.mb-5,.my-5 { margin-bottom: 3rem !important; }
.ml-5,.mx-5 { margin-left: 3rem !important; }
.m-n1 { margin: -.25rem !important; }
.mt-n1,.my-n1 { margin-top: -.25rem !important; }
.mr-n1,.mx-n1 { margin-right: -.25rem !important; }
.mb-n1,.my-n1 { margin-bottom: -.25rem !important; }
.ml-n1,.mx-n1 { margin-left: -.25rem !important; }
.m-n3 { margin: -1rem !important; }
.mt-n3,.my-n3 { margin-top: -1rem !important; }
.m-auto { margin: auto !important; }
.mt-auto,.my-auto { margin-top: auto !important; }
.mr-auto,.mx-auto { margin-right: auto !important; }
.mb-auto,.my-auto { margin-bottom: auto !important; }
.ml-auto,.mx-auto { margin-left: auto !important; }
.p-0 { padding: 0 !important; }
.pt-0,.py-0 { padding-top: 0 !important; }
.pr-0,.px-0 { padding-right: 0 !important; }
.pb-0,.py-0 { padding-bottom: 0 !important; }
.pl-0,.px-0 { padding-left: 0 !important; }
.p-1 { padding: .25rem !important; }
.pt-1,.py-1 { padding-top: .25rem !important; }
.pr-1,.px-1 { padding-right: .25rem !important; }
.pb-1,.py-1 { padding-bottom: .25rem !important; }
.pl-1,.px-1 { padding-left: .25rem !important; }
.p-2 { padding: .5rem !important; }
.pt-2,.py-2 { padding-top: .5rem !important; }
.pr-2,.px-2 { padding-right: .5rem !important; }
.pb-2,.py-2 { padding-bottom: .5rem !important; }
.pl-2,.px-2 { padding-left: .5rem !important; }
.p-3 { padding: 1rem !important; }
.pt-3,.py-3 { padding-top: 1rem !important; }
.pr-3,.px-3 { padding-right: 1rem !important; }
.pb-3,.py-3 { padding-bottom: 1rem !important; }
.pl-3,.px-3 { padding-left: 1rem !important; }
.p-4 { padding: 1.5rem !important; }
.pt-4,.py-4 { padding-top: 1.5rem !important; }
.pr-4,.px-4 { padding-right: 1.5rem !important; }
.pb-4,.py-4 { padding-bottom: 1.5rem !important; }
.pl-4,.px-4 { padding-left: 1.5rem !important; }
.p-5 { padding: 3rem !important; }
.pt-5,.py-5 { padding-top: 3rem !important; }
.pr-5,.px-5 { padding-right: 3rem !important; }
.pb-5,.py-5 { padding-bottom: 3rem !important; }
.pl-5,.px-5 { padding-left: 3rem !important; }

/* --- BORDER UTILITIES --- */
.border { border: 1px solid #dee2e6 !important; }
.border-top { border-top: 1px solid #dee2e6 !important; }
.border-right { border-right: 1px solid #dee2e6 !important; }
.border-bottom { border-bottom: 1px solid #dee2e6 !important; }
.border-left { border-left: 1px solid #dee2e6 !important; }
.border-0 { border: 0 !important; }
.border-top-0 { border-top: 0 !important; }
.border-primary { border-color: #FFC600 !important; }

/* --- RADIUS UTILITIES --- */
.rounded { border-radius: 5px !important; }
.rounded-top { border-top-left-radius: 5px !important; border-top-right-radius: 5px !important; }
.rounded-right { border-top-right-radius: 5px !important; border-bottom-right-radius: 5px !important; }
.rounded-bottom { border-bottom-right-radius: 5px !important; border-bottom-left-radius: 5px !important; }
.rounded-left { border-top-left-radius: 5px !important; border-bottom-left-radius: 5px !important; }
.rounded-circle { border-radius: 50% !important; }
.rounded-0 { border-radius: 0 !important; }

/* --- SHADOW UTILITIES --- */
.shadow-sm { box-shadow: 0 .125rem .25rem rgba(0,0,0,.075) !important; }
.shadow { box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important; }
.shadow-none { box-shadow: none !important; }

/* --- OVERFLOW --- */
.overflow-hidden { overflow: hidden !important; }
.overflow-auto { overflow: auto !important; }

/* --- CLEARFIX --- */
.clearfix::after { display: block; clear: both; content: ""; }

/* --- STRETCHED LINK --- */
.stretched-link::after { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; pointer-events: auto; content: ""; background-color: rgba(0,0,0,0); }

/* --- USER SELECT --- */
.user-select-none { user-select: none !important; }

/* --- FLOAT --- */
.float-left { float: left !important; }
.float-right { float: right !important; }
.float-none { float: none !important; }

/* ================================================
   CUSTOM THEME STYLES
   ================================================ */

/* --- FONT WEIGHT OVERRIDES --- */
h1,.font-weight-bolder { font-weight: 800 !important; }
h2,h3,.font-weight-bold { font-weight: 700 !important; }
h5,.font-weight-semi-bold { font-weight: 600 !important; }
h6,.font-weight-medium { font-weight: 500 !important; }

/* --- ICON BOX --- */
.icon-box { width: 75px; height: 75px; display: flex; align-items: center; justify-content: center; border-radius: 75px; }

/* --- BACK TO TOP --- */
.back-to-top { position: fixed; display: none; right: 30px; bottom: 30px; z-index: 11; }

/* --- SECTION TITLE --- */
.section-title { position: relative; padding-left: 60px; }
.section-title::before { position: absolute; content: ""; top: 10px; left: 0; width: 45px; height: 2px; background: #FFC600; }
.section-title::after { position: absolute; content: ""; top: 14px; left: 0; width: 45px; height: 2px; background: #23A036; }

/* --- CAROUSEL THEME --- */
.carousel-caption { top: 0; left: 0; right: 0; bottom: 0; text-align: left; background: rgba(0,0,0,.7); z-index: 1; }
.carousel-indicators { width: 60px; top: 0; right: calc(100% - 60px); margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.carousel-indicators li { width: 30px; height: 30px; border-radius: 100%; background-color: #FFC600; opacity: 1; }
.carousel-indicators .active { background-color: #23A036; }

/* --- CONTACT INFO --- */
@media (min-width:992px) {
  .contact-info .contact-info-item { min-height: 200px; }
}

/* --- PLAY BUTTON --- */
.btn-play { position: relative; display: block; box-sizing: content-box; width: 16px; height: 26px; border-radius: 100%; border: none; outline: none !important; padding: 18px 20px 20px 28px; background: #23A036; }
.btn-play:before { content: ""; position: absolute; z-index: 0; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); display: block; width: 60px; height: 60px; background: #23A036; border-radius: 100%; animation: pulse-border 1500ms ease-out infinite; }
.btn-play:after { content: ""; position: absolute; z-index: 1; left: 50%; top: 50%; transform: translateX(-50%) translateY(-50%); display: block; width: 60px; height: 60px; background: #23A036; border-radius: 100%; transition: all 200ms; }
.btn-play span { display: block; position: relative; z-index: 3; width: 0; height: 0; left: -1px; border-left: 16px solid #FFC600; border-top: 11px solid transparent; border-bottom: 11px solid transparent; }
@keyframes pulse-border { 0% { transform: translateX(-50%) translateY(-50%) translateZ(0) scale(1); opacity: 1; } 100% { transform: translateX(-50%) translateY(-50%) translateZ(0) scale(2); opacity: 0; } }

/* --- VIDEO MODAL --- */
#videoModal .modal-dialog { position: relative; max-width: 800px; margin: 60px auto 0 auto; }
#videoModal .modal-body { position: relative; padding: 0; }
#videoModal .close { position: absolute; width: 30px; height: 30px; right: 0; top: -30px; z-index: 999; font-size: 30px; font-weight: normal; color: #fff; background: #000; opacity: 1; }

/* --- BACKGROUND PATTERNS --- */
.bg-about { background: linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)),url(../img/about.jpg) no-repeat center center; background-size: cover; }
.bg-service { background: linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)),url(../img/carousel-1.jpg) no-repeat center center; background-size: cover; }
.bg-portfolio { background: linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)),url(../img/carousel-2.jpg) no-repeat center center; background-size: cover; }
.bg-testimonial { background: linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)),url(../img/carousel-3.jpg) no-repeat center center; background-size: cover; }

/* --- BACKGROUND COLORS --- */
.bg-primary { background-color: #FFC600 !important; }
.bg-secondary { background-color: #23A036 !important; }
.bg-dark { background-color: #0a1026 !important; }
.bg-light { background-color: #F5F5F5 !important; }
.bg-white { background-color: #fff !important; }

/* --- OWL CAROUSEL NAV --- */
.owl-carousel .owl-nav { position: absolute; width: 100%; height: 40px; top: 50%; left: 0; margin-top: -20px; padding: 0 45px; display: flex; align-items: center; justify-content: space-between; z-index: 1; }
.owl-carousel .owl-nav .owl-prev,.owl-carousel .owl-nav .owl-next { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; color: #23A036; background: #FFC600; border-radius: 40px; font-size: 22px; opacity: .1; transition: .3s; }
.owl-carousel:hover .owl-nav .owl-prev,.owl-carousel:hover .owl-nav .owl-next { opacity: 1; }

/* --- PORTFOLIO --- */
.portfolio-item .portfolio-img { position: relative; width: 100%; height: 100%; top: 0; left: 0; display: flex; align-items: center; justify-content: center; transition: .5s; }
.portfolio-item:hover .portfolio-img { top: 100%; }
.portfolio-item .portfolio-text { position: absolute; width: 100%; height: 100%; top: -100%; left: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; transition: .5s; }
.portfolio-item:hover .portfolio-text { top: 0; }

/* --- TEAM --- */
.team .team-img { position: relative; width: 100%; height: 100%; top: 0; left: 0; display: flex; align-items: center; justify-content: center; transition: .5s; }
.team:hover .team-img { left: 75px; }
.team .team-social { position: absolute; width: 75px; top: 0; bottom: 0; left: -75px; z-index: 1; transition: .5s; }
.team:hover .team-social { left: 0; }

/* --- TESTIMONIAL --- */
.testimonial-carousel .owl-item img { width: 75px; height: 75px; border-radius: 75px; }
.testimonial-carousel .owl-dot { display: inline-block; margin: 0 5px; width: 12px; height: 12px; border-radius: 10px; background: #ddd; }
.testimonial-carousel .owl-dot.active { background: #FFC600; }

/* --- BLOG DATE --- */
.blog-date { position: absolute; width: 60px; height: 60px; top: 0; right: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; border-radius: 0 5px 0 0; background: #FFC600; }

/* --- CONTACT FORM --- */
.contact-form .help-block ul { margin: 0; padding: 0; list-style-type: none; }

/* ================================================
   RESPONSIVE BREAKPOINTS
   ================================================ */

/* --- XL: <=1199px --- */
@media (max-width:1199.98px) {
  h1,.h1 { font-size: calc(1.375rem + 1.5vw); }
  h2,.h2 { font-size: calc(1.325rem + .9vw); }
  h3,.h3 { font-size: calc(1.3rem + .6vw); }
  h4,.h4 { font-size: calc(1.275rem + .3vw); }
  .display-1 { font-size: calc(1.725rem + 5.7vw); }
  .display-2 { font-size: calc(1.675rem + 5.1vw); }
  .display-3 { font-size: calc(1.575rem + 3.9vw); }
  .display-4 { font-size: calc(1.475rem + 2.7vw); }
  .close { font-size: calc(1.275rem + .3vw); }
}

/* --- LG: <=991px (TABLET) --- */
@media (max-width:991.98px) {
  .d-lg-none { display: none !important; }
  .d-lg-block { display: block !important; }
  .d-lg-flex { display: flex !important; }
  .d-lg-inline-flex { display: inline-flex !important; }
  .d-none.d-lg-block { display: block !important; }
  .d-block.d-lg-none { display: none !important; }
  .col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto { flex: 0 0 100%; max-width: 100%; }
  .navbar-expand-lg > .container,.navbar-expand-lg > .container-fluid { flex-wrap: wrap; }
  .navbar-expand-lg .navbar-collapse { flex-basis: 100%; }
  .navbar-expand-lg .navbar-toggler { display: block; }

  /* MOBILE NAV */
  .navbar-light .navbar-nav .nav-link { padding: 5px 0; }
  .navbar-collapse { background-color: #fff; padding: 15px; border-top: 2px solid #FFC600; position: absolute; top: 100%; left: 0; width: 100%; z-index: 1050; box-shadow: 0 10px 30px rgba(0,0,0,.15); }
  .navbar-nav .nav-link { padding: 12px 15px !important; border-bottom: 1px solid #f0f0f0; font-size: 15px; }
  .navbar-nav .dropdown-menu { background-color: #f8f9fa; border: none; box-shadow: none; padding: 0 0 0 15px; margin: 0; border-radius: 0; }
  .navbar-nav .dropdown-item { padding: 8px 15px; font-size: 14px; }

  /* CAROUSEL */
  .carousel-item { max-height: 500px; }
  .carousel-caption { padding: 20px; }
  .carousel-caption .p-5 { padding: 1rem !important; }
  .carousel-caption h5 { font-size: 12px; margin-bottom: .5rem !important; }
  .carousel-caption h1.display-3 { font-size: 1.5rem; margin-bottom: 1rem !important; }
  .carousel-caption .btn { padding: 8px 20px; font-size: 13px; }
  .carousel-indicators { width: 40px; right: calc(100% - 40px); }
  .carousel-indicators li { width: 20px; height: 20px; }

  /* CONTACT INFO */
  .contact-info .row { flex-direction: column; }
  .contact-info-item { padding: 20px 15px !important; flex-direction: row !important; text-align: left !important; justify-content: flex-start !important; }
  .contact-info-item i.fa-3x { font-size: 2rem !important; margin-right: 15px !important; margin-bottom: 0 !important; }
  .contact-info-item h5 { font-size: .9rem; margin-bottom: 2px !important; }
  .contact-info-item p { font-size: .85rem; margin: 0; }

  /* ABOUT */
  .bg-about { min-height: 250px; margin-bottom: 30px; }
  .bg-about i.fa-5x { font-size: 3rem !important; margin-bottom: 15px !important; }
  .bg-about .display-2 { font-size: 2.5rem !important; }
  .bg-about h2 { font-size: 1rem !important; }
  .section-title { font-size: 1.5rem; padding-left: 40px; }
  .section-title::before,.section-title::after { width: 30px; }
  .btn-play { transform: scale(.85); }

  /* OWL NAV */
  .owl-carousel .owl-nav { padding: 0 15px; }
  .owl-carousel .owl-nav .owl-prev,.owl-carousel .owl-nav .owl-next { width: 35px; height: 35px; font-size: 16px; opacity: 1 !important; }

  /* FEATURES */
  .col-sm-4 h1 { font-size: 2rem !important; }
  .col-sm-4 h6 { font-size: .85rem !important; }
  [style*="min-height: 400px"] { min-height: 300px !important; margin-top: 30px; }

  /* PORTFOLIO */
  .portfolio-item .portfolio-img { position: relative; height: 250px; overflow: hidden; }
  .portfolio-item .portfolio-img img { height: 100%; object-fit: cover; }

  /* TEAM */
  .team .team-img { position: relative !important; left: 0 !important; height: 250px; overflow: hidden; }
  .team .team-img img { height: 100%; object-fit: cover; }
  .team .team-social { position: absolute !important; left: 0 !important; width: 100% !important; height: auto !important; flex-direction: row !important; padding: 10px 0; background: rgba(35,160,54,.9); top: auto; bottom: 0; }
  .team .team-social .btn-social { margin: 0 5px !important; width: 35px; height: 35px; }
  .team .d-flex.flex-column.bg-primary { padding: 15px 10px !important; }

  /* TESTIMONIAL */
  .testimonial-carousel .owl-item img { width: 60px; height: 60px; }
  .testimonial-carousel .owl-item h5 { font-size: 1rem; }
  .testimonial-carousel .owl-item i { font-size: .8rem; }
  .testimonial-carousel .owl-item p { font-size: .95rem; }

  /* SECTION SPACING */
  .container-fluid.py-5,.container.py-5 { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }
  .mb-5 { margin-bottom: 2.5rem !important; }
  .mb-4 { margin-bottom: 1.5rem !important; }

  /* FONT SIZES */
  h4 { font-size: 1.2rem; }
  h5 { font-size: 1rem; }
  h6 { font-size: .9rem; }
  p { font-size: .9rem; }
  small { font-size: .8rem; }

  /* PORTFOLIO NO PADDING */
  .portfolio-container [class*="col-"] { padding-right: 0; padding-left: 0; }
  .portfolio-container .row { margin-right: 0; margin-left: 0; }
}

/* --- MD: <=767px (LARGE PHONE) --- */
@media (max-width:767.98px) {
  .d-md-none { display: none !important; }
  .d-md-block { display: block !important; }
  .d-md-flex { display: flex !important; }
  .d-none.d-md-block { display: block !important; }
  .d-block.d-md-none { display: none !important; }
  .d-sm-block.d-md-none { display: none !important; }
  .col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto { flex: 0 0 100%; max-width: 100%; }

  /* CAROUSEL - indicators to bottom */
  .carousel-item { max-height: 400px; }
  .carousel-caption { padding: 15px; }
  .carousel-caption h5 { font-size: 11px; margin-bottom: .3rem !important; }
  .carousel-caption h1.display-3 { font-size: 1.2rem; line-height: 1.3; margin-bottom: .8rem !important; }
  .carousel-caption .btn { padding: 6px 15px; font-size: 12px; }
  .carousel-indicators { width: 100%; right: 0; bottom: 10px; top: auto; flex-direction: row; margin: 0; justify-content: center; }
  .carousel-indicators li { width: 25px; height: 4px; border-radius: 2px; margin: 0 3px; }

  /* CONTACT INFO */
  .contact-info-item { padding: 15px 10px !important; }
  .contact-info-item i.fa-3x { font-size: 1.5rem !important; margin-right: 10px !important; }
  .contact-info-item h5 { font-size: .8rem; }
  .contact-info-item p { font-size: .75rem; }

  /* ABOUT */
  .bg-about { min-height: 200px; }
  .bg-about i.fa-5x { font-size: 2.5rem !important; }
  .bg-about .display-2 { font-size: 2rem !important; }
  .section-title { font-size: 1.3rem; padding-left: 35px; }
  .section-title::before,.section-title::after { width: 25px; }

  /* OWL NAV */
  .owl-carousel .owl-nav { padding: 0 10px; }
  .owl-carousel .owl-nav .owl-prev,.owl-carousel .owl-nav .owl-next { width: 32px; height: 32px; font-size: 14px; }

  /* FEATURES */
  .row .col-sm-4 { margin-bottom: 15px; }
  .col-sm-4 h1 { font-size: 1.75rem !important; }
  [style*="min-height: 400px"] { min-height: 250px !important; }

  /* PORTFOLIO */
  .portfolio-item .portfolio-img { height: 200px; }

  /* TEAM */
  .team .team-img { height: 200px; }
  .team-carousel .owl-item { padding: 0 10px; }

  /* TESTIMONIAL */
  .bg-testimonial .section-title { font-size: 1.5rem; }
  .testimonial-carousel .owl-item img { width: 50px; height: 50px; }
  .testimonial-carousel .owl-item p { font-size: .9rem; }

  /* BLOG */
  .blog-date { width: 45px; height: 45px; }
  .blog-date h4 { font-size: 1rem; }
  .blog-date small { font-size: .6rem; }
  .mb-4 h5 { font-size: 1rem; }

  /* FOOTER */
  .navbar-brand h1.display-4 { font-size: 1.8rem !important; }
  .bg-dark .nav.d-inline-flex { flex-direction: column; width: 100%; }
  .bg-dark .nav.d-inline-flex .nav-item { width: 100%; text-align: center; }
  .bg-dark .nav.d-inline-flex .nav-link { padding: 8px 0 !important; display: block; font-size: .85rem; }
  .bg-dark .nav.d-inline-flex .nav-item + .nav-item { border-top: 1px solid rgba(255,255,255,.1); }

  /* BACK TO TOP */
  .back-to-top { right: 15px; bottom: 15px; }
  .back-to-top i { font-size: 14px; }

  /* VIDEO MODAL */
  #videoModal .modal-dialog { margin: 30px 10px 0 10px; max-width: 100%; }

  /* SECTION SPACING */
  .container-fluid.py-5,.container.py-5 { padding-top: 2rem !important; padding-bottom: 2rem !important; }
  .container-fluid.pb-5 { padding-bottom: 2rem !important; }
  .container-fluid.pt-5 { padding-top: 2rem !important; }
  .pt-5 { padding-top: 2rem !important; }
  .pb-5 { padding-bottom: 2rem !important; }
  .mb-5 { margin-bottom: 2rem !important; }
}

/* --- SM: <=575px (SMALL PHONE) --- */
@media (max-width:575.98px) {
  .d-sm-none { display: none !important; }
  .d-sm-block { display: block !important; }
  .d-sm-flex { display: flex !important; }
  .d-none.d-sm-block { display: block !important; }
  .d-block.d-sm-none { display: none !important; }
  .d-inline-flex.d-sm-none { display: none !important; }
  .col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto { flex: 0 0 100%; max-width: 100%; }

  .container-fluid { padding-left: 5px; padding-right: 5px; }
  .container { padding-left: 10px; padding-right: 10px; }
  .row { margin-right: -5px; margin-left: -5px; }
  [class*="col-"] { padding-right: 5px; padding-left: 5px; }
  .portfolio-container [class*="col-"] { padding-right: 0; padding-left: 0; }
  .portfolio-container .row { margin-right: 0; margin-left: 0; }

  /* CAROUSEL */
  .carousel-item { max-height: 350px; }
  .carousel-caption h1.display-3 { font-size: 1rem; }
  .carousel-caption h5 { font-size: 10px; }

  /* ABOUT */
  .section-title { font-size: 1.1rem; padding-left: 30px; }
  .section-title::before,.section-title::after { width: 20px; }
  .btn-play { transform: scale(.75); margin-left: 0 !important; }
  h5.font-weight-normal { font-size: .9rem !important; }

  /* OWL NAV */
  .owl-carousel .owl-nav { padding: 0 5px; }
  .owl-carousel .owl-nav .owl-prev,.owl-carousel .owl-nav .owl-next { width: 28px; height: 28px; font-size: 12px; }

  /* FEATURES - 3 columns */
  .row .col-sm-4 { flex: 0 0 33.33%; max-width: 33.33%; text-align: center; padding-right: 5px; padding-left: 5px; }
  .col-sm-4 h1 { font-size: 1.5rem !important; }
  .col-sm-4 h6 { font-size: .65rem !important; }

  /* PORTFOLIO */
  .portfolio-item .portfolio-img { height: 180px; }
  .portfolio-item .portfolio-text h4 { font-size: .9rem; padding: 0 10px; }
  .portfolio-item .portfolio-text .btn-sm { padding: 5px 12px; font-size: 12px; }

  /* TEAM */
  .team .team-img { height: 180px; }

  /* TESTIMONIAL */
  .bg-testimonial .section-title { font-size: 1.3rem; }

  /* BLOG */
  .mb-5 { margin-bottom: 1.5rem !important; }
  .mb-4 h5 { font-size: .95rem; line-height: 1.4; }
  .mb-4 p { font-size: .85rem; }
  .d-flex.mb-2 { flex-wrap: wrap; gap: 5px; }
  .d-flex.mb-2 a { font-size: .75rem; }

  /* FOOTER INPUT */
  .input-group { flex-direction: column; gap: 10px; }
  .input-group .form-control { border-radius: 30px !important; padding: 15px 20px !important; width: 100%; }
  .input-group-append { width: 100%; margin: 0; }
  .input-group-append .btn { width: 100%; border-radius: 30px !important; padding: 12px 20px; white-space: nowrap; }

  /* FOOTER */
  .navbar-brand h1.display-4 { font-size: 1.5rem !important; }

  /* NEWSLETTER MODAL */
  .modal-content.p-4 { padding: 1.5rem !important; }
  .modal-content h5 { font-size: 1.1rem; }

  /* BACK TO TOP */
  .back-to-top { right: 10px; bottom: 10px; padding: 8px 12px !important; }

  /* VIDEO MODAL */
  #videoModal .modal-dialog { margin: 20px 5px 0 5px; }
  #videoModal .close { width: 25px; height: 25px; top: -25px; font-size: 20px; }

  /* SECTION SPACING */
  .container-fluid.py-5,.container.py-5 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  .pt-5 { padding-top: 1.5rem !important; }
  .pb-5 { padding-bottom: 1.5rem !important; }
  .mb-5 { margin-bottom: 1.5rem !important; }

  /* FONT SIZES */
  h4 { font-size: 1.1rem; }
  h5 { font-size: .95rem; }
  h6 { font-size: .85rem; }
  p { font-size: .85rem; }
}

/* --- TOUCH DEVICE FIXES (NO HOVER) --- */
@media (hover: none) and (pointer: coarse) {
  .portfolio-item .portfolio-img { top: 0 !important; }
  .portfolio-item .portfolio-text { top: 0 !important; background: rgba(255,198,0,.92); opacity: 1; display: flex; }
  .portfolio-item .portfolio-text h4 { font-size: 1rem; margin-bottom: 10px !important; }
  .portfolio-item .portfolio-text p { font-size: .85rem; margin-bottom: 10px !important; }
  .owl-carousel .owl-nav .owl-prev,.owl-carousel .owl-nav .owl-next { opacity: 1 !important; }
}

/* --- SAFE AREA (NOTCHED DEVICES) --- */
@supports (padding: env(safe-area-inset-top)) {
  .navbar-brand.d-block.d-lg-none { padding-top: env(safe-area-inset-top); }
  .back-to-top { bottom: calc(15px + env(safe-area-inset-bottom)); }
}
@media (max-width:575.98px) and (supports (padding: env(safe-area-inset-bottom))) {
  .back-to-top { bottom: calc(10px + env(safe-area-inset-bottom)); }
}

/* --- LANDSCAPE PHONE --- */
@media (max-height:500px) and (orientation: landscape) {
  .carousel-item { max-height: 300px; }
  .carousel-caption { padding: 10px; }
  .carousel-caption h1.display-3 { font-size: 1rem; }
  .carousel-caption h5 { font-size: 10px; margin-bottom: 0 !important; }
  .bg-about { min-height: 150px; }
}

/* --- PRINT --- */
@media print {
  *,*::before,*::after { text-shadow: none !important; box-shadow: none !important; }
  a:not(.btn) { text-decoration: underline; }
  body { min-width: 992px !important; }
  .container { min-width: 992px !important; }
  .navbar { display: none; }
  .badge { border: 1px solid #000; }
}