#ul-list-complete{
    display: none;
}

#printable-profile-pic{
    border-radius: 8px;
}

.only-print{
    display: none;
}

@media print {
    body {
        overflow: visible !important;
    }


    .only-print{
        display: block;
    }

    .print-hide {
        display: none !important; /* Ensure only intended elements are hidden */
    }

    * {
        overflow: visible !important;
    }

    .section-container {
        page-break-inside: avoid;
    }

    .section-container-wrapper {
        page-break-after: always;
    }

    #resume .h3-style{
        padding-top: 32px;
    }

    #ul-list-complete{
        display: block !important;
    }

    .item-list li .col-md-8{
        padding-bottom: 16px;
    }
    .item-list li{
        
    }
    
    .item-list li {
        border-bottom: 1px solid rgba(0,0,0,0.1);
    }
}


#post p,
#post li
{
    text-align: justify;
    font-size: 17px;
    line-height: 1.9em;
    font-family: source-serif-pro, Georgia, Cambria, "Times New Roman", Times, serif;
    padding-bottom: 8px;
}

#post h2
{
    padding-bottom: 8px;
}

#post p:has(> img:only-child) {
    text-align: center;
}

#post img
{
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 768px) {
    #post h2
    {
        text-align: left;
    }
}

#post h2.h2-style{
    text-align: center;
}

.container {
    padding-left: 30px;
    padding-right: 30px
}

.panel-heading {
    padding: 0
}

.panel-heading a {
    display: block;
    padding: 10px 15px
}

.nav-tabs {
    text-transform: uppercase;
    font-family: "Roboto Condensed", Sans-Serif
}

.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
    color: #000
}

.tab-content {
    border: 1px solid #ddd;
    border-top: none;
    padding: 10px
}

.tab-content p:last-child {
    margin-bottom: 0
}

.btn, .btn-lg, .btn-sm, .btn-xs {
    border-radius: 0;
    margin-bottom: 4px;
    -webkit-transition: color 0.5s ease, background-color 0.5s ease, border-color 0.5s ease;
    -moz-transition: color 0.5s ease, background-color 0.5s ease, border-color 0.5s ease;
    -o-transition: color 0.5s ease, background-color 0.5s ease, border-color 0.5s ease;
    transition: color 0.5s ease, background-color 0.5s ease, border-color 0.5s ease
}

.btn:focus, .btn-lg:focus, .btn-sm:focus, .btn-xs:focus {
    outline: none
}

.btn > i.fa {
    margin-right: 5px
}

.btn-xl > i.fa {
    margin-right: 10px
}

.btn-lg {
    font-size: 16px
}

.btn-xl {
    font-size: 24px;
    padding: 20px
}

.btn-default {
    color: #666
}

.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active, .open .dropdown-toggle.btn-default {
    background-color: #6284c5;
    border-color: #4f75be;
    color: #fff
}

.btn-primary {
    color: #fff;
    background-color: #6284c5;
    border-color: #4f75be
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .open .dropdown-toggle.btn-primary {
    color: #fff;
    background-color: #4f75be;
    border-color: #4268b2
}

.carousel {
    margin-bottom: 20px
}

.carousel .carousel-inner > .item > img, .carousel .carousel-inner > .item > a > img {
    width: 100%
}

.carousel .carousel-control {
    background-image: none
}

.carousel .carousel-control span {
    opacity: 0
}

.carousel .carousel-caption {
    text-shadow: 0 0 5px #000
}

.carousel .carousel-control:hover, .carousel .carousel-control:focus {
    outline: 0;
    color: #6284c5;
    text-decoration: none;
    opacity: .9;
    text-shadow: none
}

.carousel .carousel-control:hover span, .carousel .carousel-control:focus span {
    opacity: 1;
    padding: 8px;
    background-color: #fff;
    margin-top: -8px
}

.carousel .carousel-indicators li {
    width: 14px;
    height: 14px;
    border-radius: 14px;
    margin: 0 3px
}

.carousel .carousel-indicators li.active {
    width: 14px;
    height: 14px
}

.list-inline > li:first-child {
    padding-left: 5px
}

.img-thumbnail {
    border-color: #ccc
}

::selection {
    background: #e7edf6
}

::-moz-selection {
    background: #e7edf6
}

@-webkit-keyframes ajax-loading {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

@keyframes ajax-loading {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

html {
    height: 100%;
    overflow: hidden
}

body {
    line-height: 22px;
    font-size: 14.5px;
    font-family: "PT Sans", Sans-Serif;
    color: #666;
    background-color: transparent;
    font-weight: 400;
    height: 100%;
    overflow: hidden;
    position: relative
}

body:before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #222;
    display: block;
    content: ''
}

/*div[class^="col-sm-"], div[class^="col-md-"] {*/
/*    margin-bottom: 40px*/
/*}*/

div[class^="col-sm-"]:last-child, div[class^="col-md-"]:last-child {
    margin-bottom: 0
}

h1, h2, h3, h4, h5, h6 {
    color: #000;
    font-family: "Roboto Condensed", Sans-Serif;
    font-weight: 700
}

h2, h3 {
    line-height: 1.25
}

h5, h6 {
    line-height: 22px
}

h1 {
    font-size: 40px
}

h4 {
    font-size: 20px
}

h5 {
    font-size: 16px
}

h6 {
    font-size: 14px
}

img {
    max-width: 100%
}

.img-pull-left {
    float: left !important;
    margin-right: 14px
}

.img-pull-right {
    float: right !important;
    margin-left: 14px
}

figcaption {
    font-family: "Roboto Condensed", Sans-Serif;
    color: #000;
    font-size: 12px;
    line-height: 20px;
    padding: 5px 0 10px;
    margin: 0 auto;
    text-align: left
}

a:not(.btn):link, a:not(.btn):visited, .btn-link {
    color: #6284c5;
    -webkit-transition: color 0.5s ease;
    -moz-transition: color 0.5s ease;
    -o-transition: color 0.5s ease;
    transition: color 0.5s ease
}

a:not(.btn):hover, a:not(.btn):active, .btn-link:hover, .btn-link:active {
    color: #a971ae
}

a:hover, a:active, a:focus {
    text-decoration: none;
    outline: none
}

.signature {
    font-family: "Satisfy", Sans-Serif;
    color: #000
}

.span-text {
    display: inline-block;
    vertical-align: top;
    font-size: 20px;
    line-height: 20px;
    white-space: nowrap
}

.uppercase {
    text-transform: uppercase
}

.letter-spacing {
    letter-spacing: 1px
}

.title-font {
    font-family: "Roboto Condensed", Sans-Serif
}

.title-text-color {
    color: #000
}

.title-font-weight {
    font-weight: 700
}

.title-style {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: "Roboto Condensed", Sans-Serif;
    font-weight: 700;
    color: #000
}

.footnote-size {
    font-size: 12px
}

.tag {
    text-align: center;
    padding: 0 11px;
    color: #fff;
    border-radius: 22px;
    line-height: 22px;
    margin: 2px 0 0;
    color: #6284c5;
    font-size: 12px;
    background-color: #e7edf6
}

.tag:last-child {
    margin-bottom: 10px
}

.tag.inline-block {
    margin-bottom: 1px
}

.tag.inline-block:last-child {
    margin-bottom: 0
}

.inline-block {
    display: inline-block
}

.ticker {
    margin-bottom: 10px
}

.ticker > * {
    margin: 0
}

.sm-text-center {
    text-align: inherit
}

p.drop-cap:first-letter {
    float: left;
    color: #000;
    font-size: 75px;
    line-height: 60px;
    padding-top: 4px;
    padding-right: 8px;
    padding-left: 3px
}

dt {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: "Roboto Condensed", Sans-Serif;
    font-weight: 700;
    color: #000
}

dt, dd {
    line-height: 22px
}

pre {
    border-radius: 0;
    border: none;
    background-color: transparent
}

blockquote {
    font-family: "Georgia", "Times New Roman", Serif;
    font-style: italic;
    line-height: 1.4;
    padding: 25px 50px;
    margin-bottom: 10px;
    border: none
}

blockquote.blockquote-reverse {
    padding: 25px 50px;
    border: none
}

blockquote footer {
    margin-top: 25px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: "Roboto Condensed", Sans-Serif;
    font-weight: 700;
    color: #000;
    font-style: normal;
    text-align: right
}

/* Enhanced Table Styles with Bootstrap-like appearance */
#post table {
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px;
    border-collapse: collapse;
    border-spacing: 0;
    background-color: transparent;
    font-size: 16px;
    line-height: 1.6;
}

#post table th,
#post table td {
    padding: 12px;
    text-align: left;
    vertical-align: top;
    border-top: 1px solid #e0e0e0;
}

#post table th {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: "Roboto Condensed", Sans-Serif;
    font-weight: 700;
    color: #000;
    background-color: #f8f9fa;
    border-bottom: 2px solid #6284c5;
    border-top: none;
    position: relative;
}

#post table th:after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, #6284c5 0%, #a971ae 100%);
}

#post table tbody tr {
    transition: background-color 0.3s ease;
}

#post table tbody tr:hover {
    background-color: #f5f5f5;
}

#post table tbody tr:nth-child(even) {
    background-color: #fafafa;
}

#post table tbody tr:nth-child(even):hover {
    background-color: #f0f0f0;
}

#post table td {
    border-bottom: 1px solid #e0e0e0;
}

#post table tbody tr:last-child td {
    border-bottom: 2px solid #6284c5;
}

/* Responsive table behavior */
@media (max-width: 768px) {
    #post table {
        font-size: 14px;
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
    
    #post table th,
    #post table td {
        padding: 8px;
        min-width: 120px;
    }
}

/* Table variants */
#post table.table-bordered {
    border: 1px solid #e0e0e0;
}

#post table.table-bordered th,
#post table.table-bordered td {
    border: 1px solid #e0e0e0;
}

#post table.table-striped tbody tr:nth-child(odd) {
    background-color: #f9f9f9;
}

#post table.table-condensed th,
#post table.table-condensed td {
    padding: 8px;
}

/* Table caption styling */
#post table caption {
    padding-top: 8px;
    padding-bottom: 8px;
    color: #777;
    text-align: center;
    font-style: italic;
    font-size: 14px;
}

/* Table container for better mobile scrolling */
#post .table-responsive {
    min-height: 0.01%;
    overflow-x: auto;
    margin-bottom: 20px;
}

/* Additional table enhancements */
#post table tbody tr:hover td {
    border-color: #6284c5;
}

#post table tbody tr td:first-child {
    font-weight: 500;
}

#post table th:first-child {
    border-top-left-radius: 4px;
}

#post table th:last-child {
    border-top-right-radius: 4px;
}

#post table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 4px;
}

#post table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 4px;
}

/* Better text alignment for numeric data */
#post table td[data-type="number"] {
    text-align: right;
}

/* Style for table in darker sections */
.section-dark table {
    background-color: rgba(255, 255, 255, 0.05);
}

.section-dark table th {
    background-color: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.section-dark table td {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.1);
}

/* Legacy table header styles for backward compatibility */
.table > thead > tr > th {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: "Roboto Condensed", Sans-Serif;
    font-weight: 700;
    color: #000;
    border-bottom-color: #666
}

.css-book {
    text-align: center;
    position: relative;
    z-index: 1
}

.css-book.flat {
    position: relative;
    display: inline-block;
    margin-bottom: 10px;
    cursor: default
}

.css-book.flat figcaption {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    opacity: 0;
    padding: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease
}

.css-book.flat figcaption .vertically-centered {
    text-align: center
}

.css-book.flat figcaption .vertically-centered h4 {
    color: #fff
}

.css-book.flat:hover figcaption {
    opacity: 1;
    top: 10px;
    left: 10px
}

.css-book .bookWrapper {
    position: relative;
    z-index: 999;
    -webkit-perspective: 800px;
    perspective: 800px;
    margin: 0 auto
}

.css-book .bookWrapper .book {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: -webkit-transform .5s;
    -moz-transition: -moz-transform .5s;
    -ms-transition: -ms-transform .5s;
    -o-transition: -o-transform .5s;
    transition: transform .5s
}

.css-book .bookWrapper .book .face {
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: #ccc;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d
}

.css-book .bookWrapper .book .face.top, .css-book .bookWrapper .book .face.bottom, .css-book .bookWrapper .book .face.right {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.css-book .bookWrapper .book .face.front {
    -webkit-transform-origin: 0 50% 0;
    -moz-transform-origin: 0 50% 0;
    -ms-transform-origin: 0 50% 0;
    -o-transform-origin: 0 50% 0;
    transform-origin: 0 50% 0;
    -webkit-transition: -webkit-transform .5s;
    -moz-transition: -moz-transform .5s;
    -ms-transition: -ms-transform .5s;
    -o-transition: -o-transform .5s;
    transition: transform .5s
}

.css-book .bookWrapper .book .face.front > .backface {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform-origin: 50% 50% 0;
    -moz-transform-origin: 50% 50% 0;
    -ms-transform-origin: 50% 50% 0;
    -o-transform-origin: 50% 50% 0;
    transform-origin: 50% 50% 0;
    -webkit-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
    -o-transform: rotateY(180deg);
    transform: rotateY(180deg)
}

.css-book .bookWrapper .book .face.front > .backface, .css-book .bookWrapper .book .face.front > img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d
}

.css-book .bookWrapper .book .face.front-inner {
    padding: 10px;
    overflow: hidden
}

.css-book .bookWrapper .book .face.front-inner .vertically-centered {
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
    font-weight: 700
}

.css-book .bookWrapper .book .face.front-inner .vertically-centered h4 {
    margin-top: -10px;
    margin-bottom: 20px
}

.vertically-centered-container {
    height: 100%
}

.vertically-centered-container:before {
    content: '';
    display: inline-block;
    height: 100%;
    width: 0;
    vertical-align: middle;
    margin-left: -5px
}

.vertically-centered-container > .vertically-centered {
    display: inline-block;
    vertical-align: middle;
    width: 100%
}

.preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1999;
    background-color: #222;
    background-image: url('../images/preloader.gif');
    background-repeat: no-repeat;
    background-position: center center
}

.nav-toggle {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background-color: #6284c5;
    color: #fff;
    cursor: pointer;
    border-radius: 0;
    z-index: 4;
    -webkit-transition: -webkit-transform 0.5s ease, color 0.5s ease, background-color 0.5s ease;
    -moz-transition: -moz-transform 0.5s ease, color 0.5s ease, background-color 0.5s ease;
    -ms-transition: -ms-transform 0.5s ease, color 0.5s ease, background-color 0.5s ease;
    -o-transition: -o-transform 0.5s ease, color 0.5s ease, background-color 0.5s ease;
    transition: transform 0.5s ease, color 0.5s ease, background-color 0.5s ease
}

.nav-toggle.nav-pos-bottom {
    top: auto;
    bottom: 0;
    left: auto;
    right: 0
}

.nav-toggle.nav-pos-left {
    top: 0;
    bottom: auto;
    right: auto;
    left: 0
}

.nav-toggle.nav-pos-right {
    top: 0;
    bottom: auto;
    right: 0;
    left: 0
}

.nav-toggle:not(.btn):hover, .nav-toggle:not(.btn):active {
    text-decoration: none;
    color: #fff;
    background-color: #314263
}

.nav-toggle i.fa {
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 20px;
    vertical-align: middle
}

.nav-toggle:after {
    content: '';
    position: absolute;
    display: none;
    bottom: 0;
    left: 0;
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-bottom: 20px solid #fff
}

.nav-toggle:before {
    content: '';
    position: absolute;
    display: none;
    bottom: -15px;
    left: 0;
    width: 0;
    height: 0;
    border-top: 15px solid #6284c5;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent
}

nav {
    background-color: #333;
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: auto;
    z-index: 1;
    -webkit-transform: translate3d(0, -76px, 0);
    -moz-transform: translate3d(0, -76px, 0);
    -ms-transform: translate3d(0, -76px, 0);
    -o-transform: translate3d(0, -76px, 0);
    transform: translate3d(0, -76px, 0);
    -webkit-transition: -webkit-transform 0.5s ease;
    -moz-transition: -moz-transform 0.5s ease;
    -ms-transition: -ms-transform 0.5s ease;
    -o-transition: -o-transform 0.5s ease;
    transition: transform 0.5s ease
}

nav.nav-pos-bottom {
    top: auto;
    bottom: 0
}

nav.nav-pos-left, nav.nav-pos-right {
    width: 220px;
    height: 100%
}

nav.nav-pos-left .before-menu, nav.nav-pos-right .before-menu, nav.nav-pos-left .after-menu, nav.nav-pos-right .after-menu {
    display: block
}

nav.nav-pos-left ul.menu.nav, nav.nav-pos-right ul.menu.nav {
    text-align: left
}

nav.nav-pos-left ul.menu.nav li, nav.nav-pos-right ul.menu.nav li {
    display: block;
    padding: 0;
    margin: 1px 0;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
    -webkit-transition: background-color 0.5s ease;
    -moz-transition: background-color 0.5s ease;
    -o-transition: background-color 0.5s ease;
    transition: background-color 0.5s ease
}

nav.nav-pos-left ul.menu.nav li:first-child, nav.nav-pos-right ul.menu.nav li:first-child {
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1), 0 -1px 0 rgba(0, 0, 0, 0.1)
}

nav.nav-pos-left ul.menu.nav li.active, nav.nav-pos-right ul.menu.nav li.active {
    background-color: #314263
}

nav.nav-pos-left ul.menu.nav li a, nav.nav-pos-right ul.menu.nav li a {
    display: block;
    padding: 4px 10px
}

nav.nav-pos-left ul.menu.nav li i.fa, nav.nav-pos-right ul.menu.nav li i.fa, nav.nav-pos-left ul.menu.nav li span, nav.nav-pos-right ul.menu.nav li span {
    display: inline-block;
    vertical-align: middle;
    line-height: 32px
}

nav.nav-pos-left ul.menu.nav li i.fa, nav.nav-pos-right ul.menu.nav li i.fa {
    width: 32px;
    text-align: center;
    margin-left: 2px;
    float: right
}

nav.nav-pos-left ul.menu.nav li span, nav.nav-pos-right ul.menu.nav li span {
    margin-left: 8px
}

nav.nav-pos-right {
    left: auto;
    right: 0
}

nav .before-menu, nav .after-menu {
    display: none
}

nav .before-menu {
    text-align: center
}

nav .before-menu h2 {
    margin: 40px 0 20px;
    color: #fff;
    text-transform: uppercase
}

nav .after-menu ul.social {
    margin: 15px 0 10px;
    font-size: 20px
}

nav a:link, nav a:visited, nav ul.social a:link, nav ul.social a:visited {
    color: rgba(255, 255, 255, 0.2)
}

nav a:hover, nav a:active, nav ul.social a:hover, nav ul.social a:active {
    color: #fff
}

nav ul.menu.nav {
    margin: 0;
    text-align: center;
    z-index: 1
}

nav ul.menu.nav li {
    font-size: 12px;
    text-transform: uppercase;
    padding: 0;
    margin: 11px;
    display: inline-block
}

nav ul.menu.nav li a:link, nav ul.menu.nav li a:visited {
    color: rgba(255, 255, 255, 0.2)
}

nav ul.menu.nav li a:focus {
    background-color: transparent
}

nav ul.menu.nav li.active a:link, nav ul.menu.nav li.active a:visited {
    color: #fff
}

nav ul.menu.nav li a:hover, nav ul.menu.nav li a:active {
    color: #fff;
    background-color: transparent;
    text-decoration: none
}

nav ul.menu.nav li a {
    display: inline-block;
    padding: 0
}

nav ul.menu.nav li i.fa, nav ul.menu.nav li span {
    display: block
}

nav ul.menu.nav li i.fa {
    font-size: 24px;
    height: 32px;
    line-height: 32px
}

.section-container-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    z-index: 4;
    -webkit-transition: -webkit-transform 0.5s ease;
    -moz-transition: -moz-transform 0.5s ease;
    -ms-transition: -ms-transform 0.5s ease;
    -o-transition: -o-transform 0.5s ease;
    transition: transform 0.5s ease
}

.section-container-wrapper:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 100%;
    bottom: 100%;
    -webkit-transition: opacity 0.5s ease, right 0s 0.5s, bottom 0s 0.5s;
    -moz-transition: opacity 0.5s ease, right 0s 0.5s, bottom 0s 0.5s;
    -o-transition: opacity 0.5s ease, right 0s 0.5s, bottom 0s 0.5s;
    transition: opacity 0.5s ease, right 0s 0.5s, bottom 0s 0.5s;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.2);
    z-index: 2;
    display: block;
    overflow: hidden
}

.section-container-wrapper.opened:after {
    opacity: 1;
    right: 0;
    bottom: 0;
    -webkit-transition: opacity 0.5s ease;
    -moz-transition: opacity 0.5s ease;
    -o-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease
}

.section-container-wrapper.no-transition:after, .section-container-wrapper.no-transition:after.opened {
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    transition: none
}

.section-container-wrapper .section-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow-y: scroll;
    overflow-x: hidden;
    background-color: #fff;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d
}

.section-container-wrapper .section-container.momentum-scrolling {
    -webkit-overflow-scrolling: touch
}

.section-container-wrapper .section-container section {
    background-color: #fff;
    padding-bottom: 20px;
    position: relative
}

.section-container-wrapper .section-container section.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%
}

.section-container-wrapper .section-container section .row {
    margin-bottom: 40px
}

.section-container-wrapper .section-container section .row:last-child {
    margin-bottom: 0
}

.section-container-wrapper .section-container section:last-child {
    margin-bottom: 0
}

.section-container-wrapper .section-container section .h2-style {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: "Roboto Condensed", Sans-Serif;
    font-weight: 700;
    color: #000;
    position: relative;
    font-size: 36px;
    line-height: 40px;
    margin: 50px 0 40px;
    text-align: center;
    color: rgba(0, 0, 0, 0.8)
}

.section-container-wrapper .section-container section .h2-style:before, .section-container-wrapper .section-container section .h2-style:after {
    position: absolute;
    content: '';
    display: block;
    left: 50%;
    bottom: -12px;
    width: 10px;
    height: 6px;
    margin-left: -10px;
    margin-top: -2px;
    background-color: #6284c5
}

.section-container-wrapper .section-container section .h2-style:before {
    margin-left: 0;
    background-color: #a971ae
}

.section-container-wrapper .section-container section .h3-style {
    margin: 40px 0 20px;
    font-weight: 400;
    position: relative
}

.section-container-wrapper .section-container section .h3-style:after, .section-container-wrapper .section-container section .h3-style:before {
    content: '';
    display: block;
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 1px
}

.section-container-wrapper .section-container section .h3-style:before {
    background: -moz-linear-gradient(left, #6284c5 0, rgba(98, 132, 197, 0) 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0, #6284c5), color-stop(100%, rgba(98, 132, 197, 0)));
    background: -webkit-linear-gradient(left, #6284c5 0, rgba(98, 132, 197, 0) 100%);
    background: -o-linear-gradient(left, #6284c5 0, rgba(98, 132, 197, 0) 100%);
    background: -ms-linear-gradient(left, #6284c5 0, rgba(98, 132, 197, 0) 100%);
    background: linear-gradient(to right, #6284c5 0, rgba(98, 132, 197, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff6284c5, endColorstr=#006284c5, GradientType=1)
}

.section-container-wrapper .section-container section .h3-style:after {
    background: #a971ae;
    width: 50px;
    height: 3px;
    bottom: -6px
}

.section-container-wrapper .section-container section .h3-style:first-child {
    margin-top: 0
}

.section-container-wrapper .section-container section ul.item-list {
    margin: 0;
    padding: 0;
    list-style: none
}

.section-container-wrapper .section-container section ul.item-list.list-half-margin-bottom li {
    margin-bottom: 20px
}

.section-container-wrapper .section-container section ul.item-list li {
    margin: 0 0 40px;
    padding: 0
}

.section-container-wrapper .section-container section ul.item-list li div[class^="col-sm-"], .section-container-wrapper .section-container section ul.item-list li div[class^="col-md-"] {
    margin-bottom: 0
}

.section-container-wrapper .section-container section ul.item-list li:last-child {
    margin-bottom: 0
}

.section-container-wrapper .section-container section ul.social li {
    margin-bottom: 5px;
    padding: 0;
    text-align: center
}

.section-container-wrapper .section-container section ul.social li a {
    display: inline-block;
    vertical-align: top;
    margin-left: -3px;
    width: 50px;
    height: 50px;
    font-size: 28px;
    position: relative;
    overflow: hidden
}

.section-container-wrapper .section-container section ul.social li a i, .section-container-wrapper .section-container section ul.social li a:after {
    display: block;
    width: 50px;
    height: 50px;
    border-radius: 50px;
    line-height: 52px;
    color: #fff;
    background-color: #666;
    -webkit-transition: top .2s ease;
    -moz-transition: top .2s ease;
    -o-transition: top .2s ease;
    transition: top .2s ease
}

.section-container-wrapper .section-container section ul.social li a i {
    position: relative;
    top: 0
}

.section-container-wrapper .section-container section ul.social li a.facebook:after {
    background-color: #3b5998
}

.section-container-wrapper .section-container section ul.social li a.twitter:after {
    background-color: #56a3d9
}

.section-container-wrapper .section-container section ul.social li a.linkedin:after {
    background-color: #007bb6
}

.section-container-wrapper .section-container section ul.social li a.google-plus:after {
    background-color: #dd4b39
}

.section-container-wrapper .section-container section ul.social li a.dribbble:after {
    background-color: #ec4a89
}

.section-container-wrapper .section-container section ul.social li a.pinterest:after {
    background-color: #cb211d
}

.section-container-wrapper .section-container section ul.social li a.youtube:after {
    background-color: #df2d29
}

.section-container-wrapper .section-container section ul.social li a.flickr:after {
    background-color: #ff0084
}

.section-container-wrapper .section-container section ul.social li a.weibo:after {
    background-color: #fd752b
}

.section-container-wrapper .section-container section ul.social li a.github:after {
    background-color: #333
}

.section-container-wrapper .section-container section ul.social li a.instagram:after {
    background-color: #af7d5e
}

.section-container-wrapper .section-container section ul.social li a.stack-overflow:after {
    background-color: #f47a20
}

.section-container-wrapper .section-container section ul.social li a.tumblr:after {
    background-color: #44546b
}

.section-container-wrapper .section-container section ul.social li a.skype:after {
    background-color: #00aff0
}

.section-container-wrapper .section-container section ul.social li a.vimeo-square:after {
    background-color: #00b8ef
}

.section-container-wrapper .section-container section ul.social li a.xing:after {
    background-color: #005a5f
}

.section-container-wrapper .section-container section ul.social li a.dropbox:after {
    background-color: #6aaeed
}

.section-container-wrapper .section-container section ul.social li a.rss:after {
    background-color: #ff872c
}

.section-container-wrapper .section-container section ul.social li a.foursquare:after {
    background-color: #0066b9
}

.section-container-wrapper .section-container section ul.social li a.vk:after {
    background-color: #4f74a0
}

.section-container-wrapper .section-container section ul.social li a.renren:after {
    background-color: #005aab
}

.section-container-wrapper .section-container section ul.social li a:after {
    position: absolute;
    content: attr(data-hover);
    top: 100%;
    font-family: FontAwesome;
    background-color: #666;
    color: #fff;
    -webkit-font-smoothing: antialiased
}

.section-container-wrapper .section-container section ul.social li a:first-child {
    margin-left: 0
}

.section-container-wrapper .section-container section ul.social li a:link, .section-container-wrapper .section-container section ul.social li a:visited {
    text-decoration: none
}

.section-container-wrapper .section-container section ul.social li a:hover, .section-container-wrapper .section-container section ul.social li a:active {
    text-decoration: none
}

.section-container-wrapper .section-container section ul.social li a:hover i, .section-container-wrapper .section-container section ul.social li a:active i {
    top: -100%
}

.section-container-wrapper .section-container section ul.social li a:hover:after, .section-container-wrapper .section-container section ul.social li a:active:after {
    top: 0
}

.section-container-wrapper .section-container section .chart {
    display: none
}

.section-container-wrapper .section-container section#welcome {
    height: 80%;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-transition: top 0.5s ease;
    -moz-transition: top 0.5s ease;
    -o-transition: top 0.5s ease;
    transition: top 0.5s ease;
    background-color: #6284c5;
    background: -moz-linear-gradient(top, #6284c5 50%, #a971ae 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #6284c5), color-stop(100%, #a971ae));
    background: -webkit-linear-gradient(top, #6284c5 50%, #a971ae 100%);
    background: -o-linear-gradient(top, #6284c5 50%, #a971ae 100%);
    background: -ms-linear-gradient(top, #6284c5 50%, #a971ae 100%);
    background: linear-gradient(to bottom, #6284c5 50%, #a971ae 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff6284c5, endColorstr=#ffa971ae, GradientType=0)
}

.section-container-wrapper .section-container section#welcome:not(.fixed) + section, .section-container-wrapper .section-container section#welcome.fixed + .dummy + section {
    box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.5)
}

.section-container-wrapper .section-container section#welcome a:link, .section-container-wrapper .section-container section#welcome a:visited {
    color: #36496c
}

.section-container-wrapper .section-container section#welcome a:hover, .section-container-wrapper .section-container section#welcome a:active {
    color: #1c2639
}

.section-container-wrapper .section-container section#welcome .container, .section-container-wrapper .section-container section#welcome .row {
    height: 100%
}

.section-container-wrapper .section-container section#welcome .vertically-centered-container {
    text-align: center
}

.section-container-wrapper .section-container section#welcome .vertically-centered-container .vertically-centered {
    max-width: none
}

.section-container-wrapper .section-container section#welcome .vertically-centered-container .vertically-centered h1 {
    text-transform: uppercase;
    letter-spacing: 0;
    margin-top: 0;
    margin-bottom: 0;
    line-height: 20px;
    height: 20px
}

.section-container-wrapper .section-container section#welcome .vertically-centered-container .vertically-centered .name {
    font-size: 120px;
    color: #fff
}

.section-container-wrapper .section-container section#welcome .vertically-centered-container .vertically-centered .name + .after-name {
    margin-top: 10px
}

.section-container-wrapper .section-container section#welcome .vertically-centered-container .vertically-centered .before-name, .section-container-wrapper .section-container section#welcome .vertically-centered-container .vertically-centered .after-name {
    font-size: 55px
}

.section-container-wrapper .section-container section#welcome .vertically-centered-container .vertically-centered .before-name {
    color: #fff
}

.section-container-wrapper .section-container section#welcome .vertically-centered-container .vertically-centered .after-name {
    color: #36496c
}

.section-container-wrapper .section-container section#welcome .vertically-centered-container .vertically-centered .info {
    margin-top: 30px;
    margin-bottom: 10px;
    line-height: 48px;
    font-size: 16px;
    color: #36496c;
    text-align: left;
    height: auto
}

.section-container-wrapper .section-container section#welcome .vertically-centered-container .vertically-centered .info div[class^="col-md-"] {
    margin-bottom: 0
}

.section-container-wrapper .section-container section#welcome .vertically-centered-container .vertically-centered .info i.fa {
    font-size: 28px;
    width: 48px;
    height: 48px;
    line-height: 48px;
    border-radius: 48px;
    margin-right: 16px;
    color: #a971ae;
    background-color: #fff;
    text-align: center
}

.section-container-wrapper .section-container section#about .photo img {
    width: 100%;
    max-width: 300px
}

.section-container-wrapper .section-container section#about .intro p:last-child {
    margin-bottom: 0
}

.section-container-wrapper .section-container section#portfolio .loading-indicator {
    position: absolute;
    top: 90px;
    left: 50%;
    width: 0;
    height: 0;
    background-color: transparent
}

.section-container-wrapper .section-container section#portfolio .loading-indicator.loading {
    z-index: 4;
    -webkit-animation: ajax-loading 1s linear infinite alternate;
    animation: ajax-loading 1s linear infinite alternate
}

.section-container-wrapper .section-container section#portfolio .loading-indicator.loading:before, .section-container-wrapper .section-container section#portfolio .loading-indicator.loading:after {
    position: absolute;
    content: '';
    display: block;
    left: 50%;
    bottom: -12px;
    width: 10px;
    height: 6px;
    margin-left: -10px;
    margin-top: -2px;
    background-color: #fff
}

.section-container-wrapper .section-container section#portfolio .loading-indicator.loading:before {
    margin-left: 0;
    background-color: #fff
}

.section-container-wrapper .section-container section#portfolio ul.categories {
    text-align: center
}

.section-container-wrapper .section-container section#portfolio ul.categories li a:link, .section-container-wrapper .section-container section#portfolio ul.categories li a:visited {
    display: block;
    margin: 5px;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: "Roboto Condensed", Sans-Serif
}

.section-container-wrapper .section-container section#portfolio ul.categories li a:hover, .section-container-wrapper .section-container section#portfolio ul.categories li a:active, .section-container-wrapper .section-container section#portfolio ul.categories li a.current {
    text-decoration: none;
    color: #6284c5
}

.section-container-wrapper .section-container section#portfolio ul.ajax-portfolio-item-list {
    margin: 0;
    padding: 0;
    list-style: none;
    position: relative;
    overflow: hidden
}

.section-container-wrapper .section-container section#portfolio ul.ajax-portfolio-item-list li {
    margin: 0;
    padding: 10px;
    float: left;
    width: 33%
}

.section-container-wrapper .section-container section#portfolio ul.ajax-portfolio-item-list li a {
    display: block;
    height: 200px;
    width: 100%;
    background-size: cover;
    background-position: center center;
    text-decoration: none;
    position: relative
}

.section-container-wrapper .section-container section#portfolio ul.ajax-portfolio-item-list li a .caption {
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.7);
    text-align: center;
    padding: 20px;
    overflow: hidden;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease
}

.section-container-wrapper .section-container section#portfolio ul.ajax-portfolio-item-list li a .caption h3 {
    margin: 0 0 10px;
    line-height: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: "Roboto Condensed", Sans-Serif;
    font-weight: 700;
    color: #000;
    font-size: 14px;
    color: #fff
}

.section-container-wrapper .section-container section#portfolio ul.ajax-portfolio-item-list li a .caption h3:after {
    display: none
}

.section-container-wrapper .section-container section#portfolio ul.ajax-portfolio-item-list li a .caption p {
    color: rgba(255, 255, 255, 0.7);
    font-size: 12px;
    line-height: 18px;
    display: none
}

.section-container-wrapper .section-container section#portfolio ul.ajax-portfolio-item-list li a .caption .view-btn {
    color: #fff;
    background-color: #4268b2;
    padding: 5px 15px;
    display: inline-block;
    text-transform: uppercase;
    font-size: 12px
}

.section-container-wrapper .section-container section#portfolio ul.ajax-portfolio-item-list li a:hover .caption {
    opacity: 1;
    top: 10px;
    left: 10px
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details {
    display: none;
    opacity: 0
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details div[class^="col-sm-"], .section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details div[class^="col-md-"] {
    margin-bottom: 20px
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .portfolio-nav, .section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .portfolio-back-to-top {
    text-align: center;
    text-transform: uppercase;
    font-size: 12px
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .portfolio-nav a:link, .section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .portfolio-back-to-top a:link, .section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .portfolio-nav a:visited, .section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .portfolio-back-to-top a:visited {
    color: #666
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .portfolio-nav a:hover, .section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .portfolio-back-to-top a:hover, .section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .portfolio-nav a:active, .section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .portfolio-back-to-top a:active {
    color: #000;
    text-decoration: none
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .portfolio-nav a, .section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .portfolio-back-to-top a {
    margin-right: 20px
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .portfolio-nav a i.fa, .section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .portfolio-back-to-top a i.fa {
    display: inline-block;
    margin-right: 5px;
    color: #6284c5;
    font-size: 14px
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .portfolio-nav {
    margin-bottom: 20px
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .portfolio-back-to-top {
    margin-top: 10px
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details h3 {
    text-align: center;
    margin-bottom: 10px
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details iframe {
    width: 100%;
    height: 420px;
    margin-bottom: 20px
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .desc {
    margin-bottom: 0
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .desc dl {
    margin-bottom: 0
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .desc dl dt {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-family: "Roboto Condensed", Sans-Serif;
    font-weight: 700;
    color: #000;
    color: #6284c5;
    margin-bottom: 2px
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .desc dl dt:after {
    content: '';
    display: block;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    background: -moz-linear-gradient(left, #a971ae 0, rgba(169, 113, 174, 0) 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0, #a971ae), color-stop(100%, rgba(169, 113, 174, 0)));
    background: -webkit-linear-gradient(left, #a971ae 0, rgba(169, 113, 174, 0) 100%);
    background: -o-linear-gradient(left, #a971ae 0, rgba(169, 113, 174, 0) 100%);
    background: -ms-linear-gradient(left, #a971ae 0, rgba(169, 113, 174, 0) 100%);
    background: linear-gradient(to right, #a971ae 0, rgba(169, 113, 174, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffa971ae, endColorstr=#00a971ae, GradientType=1)
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .desc dl dd {
    margin-bottom: 20px
}

.section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .desc dl dd:last-child {
    margin-bottom: 0
}

.section-container-wrapper .section-container section#gallery ul.gallery {
    margin: 0;
    padding: 0;
    list-style-type: none
}

.section-container-wrapper .section-container section#gallery ul.gallery li {
    width: 50%;
    padding: 10px;
    float: left
}

.section-container-wrapper .section-container section#gallery ul.gallery li:nth-child(2n+1) {
    clear: left
}

.section-container-wrapper .section-container section#gallery ul.gallery li a.lightbox {
    display: block;
    position: relative
}

.section-container-wrapper .section-container section#gallery ul.gallery li a.lightbox img {
    width: 100%;
    height: auto
}

.section-container-wrapper .section-container section#gallery ul.gallery li a.lightbox:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #6284c5;
    opacity: 0;
    -webkit-transition: opacity 0.5s ease, top 0.5s ease, left 0.5s ease;
    -moz-transition: opacity 0.5s ease, top 0.5s ease, left 0.5s ease;
    -o-transition: opacity 0.5s ease, top 0.5s ease, left 0.5s ease;
    transition: opacity 0.5s ease, top 0.5s ease, left 0.5s ease
}

.section-container-wrapper .section-container section#gallery ul.gallery li a.lightbox:after {
    font-family: FontAwesome;
    -webkit-font-smoothing: antialiased;
    content: '\f002';
    display: block;
    font-size: 40px;
    width: 48px;
    height: 48px;
    top: 50%;
    left: 50%;
    margin-top: -24px;
    margin-left: -24px;
    position: absolute;
    text-align: center;
    line-height: 48px;
    opacity: 0;
    color: #fff;
    -webkit-transition: opacity 0.5s ease, margin-top 0.5s ease, margin-left 0.5s ease;
    -moz-transition: opacity 0.5s ease, margin-top 0.5s ease, margin-left 0.5s ease;
    -o-transition: opacity 0.5s ease, margin-top 0.5s ease, margin-left 0.5s ease;
    transition: opacity 0.5s ease, margin-top 0.5s ease, margin-left 0.5s ease
}

.section-container-wrapper .section-container section#gallery ul.gallery li a.lightbox.lightbox-image:after {
    content: '\f083'
}

.section-container-wrapper .section-container section#gallery ul.gallery li a.lightbox.lightbox-youtube:after {
    content: '\f008'
}

.section-container-wrapper .section-container section#gallery ul.gallery li a.lightbox.lightbox-vimeo:after {
    content: '\f008'
}

.section-container-wrapper .section-container section#gallery ul.gallery li a.lightbox.lightbox-webpage:after {
    content: '\f0ac'
}

.section-container-wrapper .section-container section#gallery ul.gallery li a.lightbox:hover:before {
    opacity: 1;
    top: 10px;
    left: 10px
}

.section-container-wrapper .section-container section#gallery ul.gallery li a.lightbox:hover:after {
    margin-top: -14px;
    margin-left: -14px;
    opacity: 1
}

.section-container-wrapper .section-container section#contact .contact-info-table, .section-container-wrapper .section-container section#contact .contact-info-table tr, .section-container-wrapper .section-container section#contact .contact-info-table td {
    border: none
}

.section-container-wrapper .section-container section#contact .contact-info-table td:first-child {
    vertical-align: top
}

.section-container-wrapper .section-container section#contact .contact-info-table i.fa {
    width: 44px;
    height: 44px;
    line-height: 42px;
    font-size: 24px;
    border-radius: 44px;
    margin-right: 10px;
    margin-bottom: 6px;
    color: #6284c5;
    border: 2px solid #6284c5;
    text-align: center
}

.section-container-wrapper .section-container section#contact #map-canvas {
    width: 100%;
    height: 200px
}

.section-container-wrapper .section-container section#contact #map-canvas img {
    max-width: none
}

.section-container-wrapper .section-container section#contact form .form-group {
    margin-left: 0;
    margin-right: 0
}

.section-container-wrapper .section-container section#contact form .form-group .form-control {
    height: auto;
    line-height: auto
}

.section-container-wrapper .section-container section#contact form .form-group #contact-form-submit-btn i.fa {
    margin-right: 0
}

.section-container-wrapper .section-container section#contact form .form-group input, .section-container-wrapper .section-container section#contact form .form-group textarea {
    width: 100%;
    margin: 0 auto;
    border-radius: 0;
    border: 1px solid rgba(0, 0, 0, 0.30000000000000004);
    font-size: 16px;
    padding: 6px 9px;
    box-shadow: none;
    color: #000
}

.section-container-wrapper .section-container section#contact form .form-group input:focus, .section-container-wrapper .section-container section#contact form .form-group textarea:focus {
    box-shadow: none
}

.section-container-wrapper .section-container section#contact form .form-group input::-webkit-input-placeholder, .section-container-wrapper .section-container section#contact form .form-group textarea::-webkit-input-placeholder {
    color: rgba(0, 0, 0, 0.5);
    text-transform: uppercase;
    font-family: "Roboto Condensed", Sans-Serif;
    letter-spacing: 1px;
    font-size: 14px
}

.section-container-wrapper .section-container section#contact form .form-group input:-moz-placeholder, .section-container-wrapper .section-container section#contact form .form-group textarea:-moz-placeholder {
    color: rgba(0, 0, 0, 0.5);
    text-transform: uppercase;
    font-family: "Roboto Condensed", Sans-Serif;
    letter-spacing: 1px;
    font-size: 14px
}

.section-container-wrapper .section-container section#contact form .form-group input::-moz-placeholder, .section-container-wrapper .section-container section#contact form .form-group textarea::-moz-placeholder {
    color: rgba(0, 0, 0, 0.5);
    text-transform: uppercase;
    font-family: "Roboto Condensed", Sans-Serif;
    letter-spacing: 1px;
    font-size: 14px
}

.section-container-wrapper .section-container section#contact form .form-group input:-ms-input-placeholder, .section-container-wrapper .section-container section#contact form .form-group textarea:-ms-input-placeholder {
    color: rgba(0, 0, 0, 0.5);
    text-transform: uppercase;
    font-family: "Roboto Condensed", Sans-Serif;
    letter-spacing: 1px;
    font-size: 14px
}

.section-container-wrapper .section-container section#contact form .form-group label {
    font-size: 16px
}

.section-container-wrapper .section-container > footer {
    background-color: #fff;
    text-align: center;
    color: #666;
    padding: 80px 0 50px;
    position: relative
}

.section-container-wrapper .section-container > footer .signature {
    margin-top: 30px;
    margin-bottom: 10px;
    font-size: 30px;
    line-height: 30px
}

.section-container-wrapper .section-container > footer .copyright {
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 700
}

@media (min-width: 768px) {
    .nav-toggle {
        width: 40px;
        top: 50px;
        left: 5%
    }

    .nav-toggle.nav-pos-bottom {
        bottom: 50px;
        right: 5%
    }

    .nav-toggle.nav-pos-left {
        top: 50px;
        left: 5%
    }

    .nav-toggle.nav-pos-right {
        top: 50px;
        left: auto;
        right: 5%
    }

    .section-container-wrapper .section-container section#gallery ul.gallery li {
        width: 33%
    }

    .section-container-wrapper .section-container section#gallery ul.gallery li:nth-child(2n+1) {
        clear: none
    }

    .section-container-wrapper .section-container section#gallery ul.gallery li:nth-child(3n+1) {
        clear: left
    }

    .sm-text-center {
        text-align: center
    }

    .container {
        padding-left: 15px;
        padding-right: 15px
    }

    blockquote {
        padding: 25px 80px
    }

    blockquote.blockquote-reverse {
        padding: 25px 80px
    }

    div[class^="col-sm-"] {
        margin-bottom: 0
    }

    .section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .desc .left-info-col {
        text-align: right
    }

    .section-container-wrapper .section-container section#portfolio article.ajax-portfolio-item-details .desc .left-info-col dl dt:after {
        background: -moz-linear-gradient(right, #a971ae 0, rgba(169, 113, 174, 0) 100%);
        background: -webkit-gradient(linear, right top, left top, color-stop(0, #a971ae), color-stop(100%, rgba(169, 113, 174, 0)));
        background: -webkit-linear-gradient(right, #a971ae 0, rgba(169, 113, 174, 0) 100%);
        background: -o-linear-gradient(right, #a971ae 0, rgba(169, 113, 174, 0) 100%);
        background: -ms-linear-gradient(right, #a971ae 0, rgba(169, 113, 174, 0) 100%);
        background: linear-gradient(to left, #a971ae 0, rgba(169, 113, 174, 0) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffa971ae, endColorstr=#00a971ae, GradientType=1)
    }

    .section-container-wrapper .section-container section#gallery ul.gallery li {
        width: 25%
    }

    .section-container-wrapper .section-container section#gallery ul.gallery li:nth-child(3n+1) {
        clear: none
    }

    .section-container-wrapper .section-container section#gallery ul.gallery li:nth-child(4n+1) {
        clear: left
    }
}

@media (min-width: 992px) {
    .section-container-wrapper .section-container section#welcome .vertically-centered-container .info > * {
        text-align: center
    }

    .section-container-wrapper .section-container section#welcome .vertically-centered-container .info > *:first-child {
        text-align: left
    }

    .section-container-wrapper .section-container section#welcome .vertically-centered-container .info > *:last-child {
        text-align: right
    }

    div[class^="col-md-"] {
        margin-bottom: 0
    }
}

/* ==========================================================================
   EDITORIAL READING REDESIGN (Medium-style)
   Scope: content between the hero header and the resume footer —
   #post (article) and #blog-posts (feed / category). Header & footer untouched.
   ========================================================================== */
#post, #blog-posts {
    /* Match the hire hero / site-nav content width (.hire-wrap = 1120px). */
    --read-w: 1120px;
    --ink: #242424;
    --ink-2: #6b6b6b;
    --ink-3: #9a9a9a;
    --line: #ececec;
    --accent: #0d6efd;
    --serif: "Charter", "Iowan Old Style", "Source Serif Pro", Georgia, Cambria, "Times New Roman", Times, serif;
    --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Centered reading column */
#post .read,
#blog-posts .read {
    max-width: var(--read-w);
    margin: 0 auto;
    padding: 0 24px 8px;
}
@media (max-width: 767px) {
    #post .read, #blog-posts .read { padding: 0 20px 8px; }
}

/* Neutralize the legacy off-canvas-menu `nav {position:absolute;...}` rule
   for the semantic <nav> elements (breadcrumb, pager, table of contents,
   post prev/next pager). */
nav[aria-label="Breadcrumb"],
nav.crumbs,
nav.pager,
nav.post-toc,
nav.post-nav,
nav.cat-nav {
    position: static; top: auto; left: auto; width: auto;
    overflow: visible; z-index: auto; transform: none; -webkit-transform: none; transition: none;
    background-color: transparent; color: inherit;
}

/* Separator between the "explore by topic" menu and the post list (listing/category). */
.list-rule { border: 0; border-top: 1px solid var(--line); margin: 0 0 22px; }

/* --- Blog top bar: breadcrumb (left) + language <select> (right), full width */
.blog-topbar {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; width: 100%; padding: 24px 0 0;
}
.blog-topbar .crumbs { padding-top: 0; }
.blog-topbar--end { justify-content: flex-end; }

.lang-select { flex: 0 0 auto; }
.lang-select__control {
    font-family: var(--sans); font-size: 13px; font-weight: 600; color: var(--ink-2);
    background-color: #fff; border: 1px solid #e6e6e6; border-radius: 100px;
    padding: 6px 32px 6px 14px; line-height: 1.4; cursor: pointer;
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'><path d='M3 4.5L6 7.5L9 4.5' stroke='%239a9a9a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat; background-position: right 12px center;
    transition: border-color .15s ease;
}
.lang-select__control:hover { border-color: var(--ink); }
.lang-select__control:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (max-width: 600px) {
    .blog-topbar { gap: 10px; }
    .lang-select__control { font-size: 12px; padding: 5px 28px 5px 12px; }
}

/* --- Breadcrumb --------------------------------------------------------- */
.crumbs {
    font-family: var(--sans);
    font-size: 13px;
    color: var(--ink-3);
    padding: 28px 0 0;
    display: flex; flex-wrap: wrap; align-items: center; gap: 7px;
    background: transparent;
}
.crumbs a:link, .crumbs a:visited { color: var(--ink-2); text-decoration: none; }
.crumbs a:hover { color: var(--accent); text-decoration: underline; }
.crumbs .sep { color: #cfcfcf; }
.crumbs__current {
    color: var(--ink-3);
    max-width: 340px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* --- Article header ----------------------------------------------------- */
.article { font-family: var(--sans); }
.article__title {
    font-family: var(--serif);
    font-weight: 700;
    font-size: 42px;
    line-height: 1.18;
    letter-spacing: -0.014em;
    color: var(--ink);
    margin: 26px 0 18px;
    text-align: left;
}
@media (max-width: 767px) { .article__title { font-size: 30px; margin-top: 20px; } }

.byline { display: flex; align-items: center; gap: 12px; margin: 0 0 30px; }
.byline__avatar { width: 44px; height: 44px; border-radius: 50%; flex: 0 0 auto; object-fit: cover; }
/* Neutralize legacy `#post img { margin:auto }` which would shove flex avatars right. */
#post .byline__avatar,
#post .author-box__avatar { margin: 0; }
.byline__name { font-family: var(--sans); font-size: 15px; font-weight: 600; color: var(--ink); display: block; line-height: 1.35; }
.byline__sub { font-family: var(--sans); font-size: 13.5px; color: var(--ink-2); display: block; line-height: 1.35; }
.byline__sub .chip { margin-left: 8px; }

.chip {
    display: inline-block; vertical-align: baseline;
    font-family: var(--sans); font-size: 12px; font-weight: 600;
    background: #eef4ff; border-radius: 100px; padding: 2px 11px; line-height: 1.7;
}
a.chip:link, a.chip:visited { color: var(--accent); text-decoration: none; }
a.chip:hover { background: #e0ebff; color: var(--accent); }

/* --- Sponsored RemoteCode placement ------------------------------------ */
.remote-code-ad {
    font-family: var(--sans);
    margin: 0 0 32px;
}
.remote-code-ad--bottom { margin: 42px 0 0; }

#post .remote-code-ad__link,
#post .remote-code-ad__link:link,
#post .remote-code-ad__link:visited {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    min-height: 72px;
    padding: 16px 18px;
    border: 1px solid #d9e6f7;
    border-radius: 8px;
    background: #f8fbff;
    color: var(--ink);
    text-decoration: none;
    box-shadow: 0 12px 30px rgba(13, 44, 92, 0.08);
}

#post .remote-code-ad__link:hover {
    border-color: #a8c5ef;
    color: var(--ink);
    box-shadow: 0 14px 34px rgba(13, 44, 92, 0.12);
}

#post .remote-code-ad__link:focus-visible {
    outline: 2px solid var(--accent);
    outline-offset: 3px;
}

.remote-code-ad__body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.remote-code-ad__title {
    color: var(--ink);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.25;
}

.remote-code-ad__text {
    color: var(--ink-2);
    font-size: 14px;
    line-height: 1.45;
}

.remote-code-ad__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 14px;
    border-radius: 100px;
    background: #111827;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

@media (prefers-reduced-motion: no-preference) {
    #post .remote-code-ad__link {
        transition: border-color 150ms ease, box-shadow 150ms ease;
    }
}

@media (max-width: 767px) {
    .remote-code-ad { margin-bottom: 28px; }
    .remote-code-ad--bottom { margin-top: 36px; }
    #post .remote-code-ad__link,
    #post .remote-code-ad__link:link,
    #post .remote-code-ad__link:visited {
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 16px;
    }
    .remote-code-ad__cta { width: 100%; }
}

/* --- Hero image --------------------------------------------------------- */
.article__hero {
    margin: 6px 0 36px; padding: 0; line-height: 0;
    border-radius: 10px; overflow: hidden;
    aspect-ratio: 16 / 9; background: #eee;
}
.article__hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 767px) { .article__hero { margin-left: -20px; margin-right: -20px; border-radius: 0; } }

/* --- Reading body ------------------------------------------------------- */
#post .post-content {
    font-family: var(--serif);
    font-size: 20px; line-height: 1.7; color: var(--ink);
    text-align: left; letter-spacing: -0.003em;
}
#post .post-content p,
#post .post-content li {
    font-family: var(--serif);
    font-size: 20px; line-height: 1.7; text-align: left;
}
#post .post-content p { margin: 0 0 1.45em; }
#post .post-content li { margin-bottom: 0.5em; }
#post .post-content h2,
#post .post-content h3,
#post .post-content h4 {
    font-family: var(--sans); font-weight: 700; color: var(--ink);
    line-height: 1.25; text-align: left; margin: 1.9em 0 0.5em; scroll-margin-top: 24px;
}
#post .post-content h2 { font-size: 1.5em; letter-spacing: -0.01em; }
#post .post-content h3 { font-size: 1.22em; }
#post .post-content h4 { font-size: 1.05em; }
#post .post-content a:link, #post .post-content a:visited {
    color: var(--ink); text-decoration: underline; text-decoration-color: #c4c4c4; text-underline-offset: 2px;
}
#post .post-content a:hover { color: var(--accent); text-decoration-color: var(--accent); }
#post .post-content ul,
#post .post-content ol { margin: 0 0 1.45em; padding-left: 1.4em; }
#post .post-content img { max-width: 100%; height: auto; border-radius: 6px; }
#post .post-content blockquote {
    margin: 1.6em 0; padding: 0.2em 0 0.2em 1.3em;
    border-left: 3px solid var(--ink); background: transparent;
    color: var(--ink-2); font-style: italic;
}
#post .post-content :not(pre) > code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    background: #f4f4f4; padding: 0.15em 0.4em; border-radius: 4px; font-size: 0.82em;
}
#post .post-content pre {
    overflow: auto; border-radius: 8px; padding: 18px; margin: 0 0 1.6em;
    font-size: 14.5px; line-height: 1.5;
}
.post-content .header-anchor { color: inherit; text-decoration: none; }
.post-content .header-anchor:hover { text-decoration: underline; }

/* --- Divider ------------------------------------------------------------ */
.rule { border: 0; border-top: 1px solid var(--line); margin: 44px 0; }

/* --- Author box --------------------------------------------------------- */
.author-box {
    font-family: var(--sans);
    display: flex; gap: 16px; align-items: flex-start;
    padding: 0; margin: 8px 0 0; background: transparent;
}
.author-box__avatar { width: 64px; height: 64px; border-radius: 50%; flex: 0 0 auto; object-fit: cover; }
.author-box__eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: 0.07em; color: var(--ink-3); margin: 0 0 4px; }
.author-box__name { font-size: 18px; font-weight: 700; color: var(--ink); margin: 0 0 6px; }
.author-box__bio { color: var(--ink-2); font-size: 14.5px; line-height: 1.55; margin: 0 0 10px; }
.author-box a:link, .author-box a:visited { color: var(--accent); text-decoration: none; font-weight: 600; font-size: 14px; }
.author-box a:hover { text-decoration: underline; }

/* --- "More from" / Related --------------------------------------------- */
.more { margin: 44px 0 0; }
.more__title {
    font-family: var(--sans); font-size: 13px; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.07em; color: var(--ink-2); margin: 0 0 4px;
}

/* --- Feed head (listing + category) ------------------------------------ */
.feed-head { padding: 30px 0 6px; }
.feed-head__title {
    font-family: var(--serif); font-weight: 700; font-size: 34px; line-height: 1.2;
    letter-spacing: -0.012em; color: var(--ink); margin: 0; text-align: left;
}
@media (max-width: 767px) { .feed-head__title { font-size: 27px; } }
.feed-head__sub { font-family: var(--sans); font-size: 16px; color: var(--ink-2); margin: 8px 0 0; line-height: 1.55; max-width: 100%; }
.feed-head__count { font-family: var(--sans); font-size: 14px; color: var(--ink-2); margin: 6px 0 0; }

/* --- Books shelf -------------------------------------------------------- */
.books-section {
    --ink: #242424;
    --ink-2: #6b6b6b;
    --ink-3: #9a9a9a;
    --accent: #0d6efd;
    --serif: "Charter", "Iowan Old Style", "Source Serif Pro", Georgia, Cambria, "Times New Roman", Times, serif;
    --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    background: #f6f8fc;
    border-top: 1px solid #edf0f5;
    border-bottom: 1px solid #edf0f5;
}
.books-section__inner {
    width: min(1120px, calc(100% - 48px));
    margin: 0 auto;
    padding: 64px 24px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    align-items: center;
    gap: 72px;
}
.books-section__copy { min-width: 0; }
.books-section__eyebrow {
    margin: 0 0 12px;
    color: #5478c7;
    font: 700 12px/1.2 var(--sans);
    letter-spacing: .13em;
    text-transform: uppercase;
}
.books-section__title {
    margin: 0;
    color: var(--ink);
    font: 700 clamp(32px, 4vw, 48px)/1.08 var(--serif);
    letter-spacing: -.02em;
}
.books-section__sub {
    margin: 14px 0 0;
    color: var(--ink);
    font: 600 20px/1.4 var(--sans);
    max-width: 34em;
}
.books-section__description {
    margin: 16px 0 0;
    color: var(--ink-2);
    font: 17px/1.6 var(--sans);
    max-width: 38em;
}
.books-section__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 22px;
    color: var(--ink-3);
    font: 700 12px/1.4 var(--sans);
    letter-spacing: .04em;
    text-transform: uppercase;
}
.books-section__cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 28px;
    padding: 11px 18px;
    border-radius: 999px;
    background: var(--accent);
    color: #fff !important;
    font: 700 14px/1.3 var(--sans);
    text-decoration: none !important;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.books-section__cta:hover { background: #075dcc; box-shadow: 0 8px 20px rgba(13, 110, 253, .2); transform: translateY(-1px); }
.books-section__cta:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.books-section__cover {
    display: block;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(16, 25, 43, .16);
    transform: rotate(1.5deg);
    transition: transform .2s ease, box-shadow .2s ease;
}
.books-section__cover:hover { transform: rotate(0) translateY(-3px); box-shadow: 0 22px 48px rgba(16, 25, 43, .22); }
.books-section__cover:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.books-section__cover img { display: block; width: 100%; height: auto; }
@media (max-width: 760px) {
    .books-section__inner { width: min(100% - 40px, 560px); padding: 48px 0; grid-template-columns: 1fr; gap: 34px; }
    .books-section__cover { width: min(100%, 390px); margin: 0 auto; }
    .books-section__sub { font-size: 18px; }
    .books-section__description { font-size: 16px; }
}

/* --- Story (one feed row) — text left, thumbnail right, hairline divider */
/* Visually-hidden but screen-reader/crawler accessible (keeps heading hierarchy intact) */
.sr-only {
    position: absolute !important;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0);
    white-space: nowrap; border: 0;
}
.feed { margin: 6px 0 0; }
.story {
    position: relative;
    display: flex; gap: 24px; align-items: flex-start;
    padding: 28px 0;
    border-top: 1px solid var(--line);
}
.feed .story:first-child { border-top: 0; }
.story__body { flex: 1 1 auto; min-width: 0; font-family: var(--sans); }
.story__title {
    font-family: var(--sans); font-size: 21px; font-weight: 700; line-height: 1.3;
    letter-spacing: -0.01em; margin: 0 0 6px;
}
.story__title a.story__link:link,
.story__title a.story__link:visited { color: var(--ink); text-decoration: none; }
.story:hover .story__title a.story__link { color: #000; text-decoration: underline; text-underline-offset: 2px; }
.story__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.story__link:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 3px; }
.story__excerpt {
    font-family: var(--serif); color: var(--ink-2); font-size: 16px; line-height: 1.5; margin: 0 0 12px;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.story__meta { font-family: var(--sans); font-size: 13px; color: var(--ink-3); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.story__meta time { color: var(--ink-3); }
.story .chip { position: relative; z-index: 2; }
.story__media { flex: 0 0 112px; width: 112px; height: 112px; border-radius: 6px; overflow: hidden; background: #eee; }
.story__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 600px) {
    .story { gap: 16px; }
    .story__media { flex-basis: 88px; width: 88px; height: 88px; }
    .story__title { font-size: 18px; }
    .story__excerpt { display: none; }
}

/* --- Pager + back ------------------------------------------------------- */
.pager { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 32px 0 8px; border-top: 1px solid var(--line); padding-top: 24px; }
.pager a:link, .pager a:visited {
    font-family: var(--sans); font-size: 14px; font-weight: 600; color: var(--ink);
    text-decoration: none; border: 1px solid #d8d8d8; border-radius: 100px; padding: 8px 18px;
    display: inline-flex; align-items: center; gap: 6px; transition: border-color 0.15s ease, background 0.15s ease;
}
.pager a:hover { border-color: var(--ink); background: #fafafa; }
.pager > span { flex: 0 0 auto; }
.back { font-family: var(--sans); margin: 28px 0 0; }
.back a:link, .back a:visited { color: var(--ink-2); text-decoration: none; font-size: 14px; }
.back a:hover { color: var(--accent); }

/* --- Table of contents (toc filter -> nav.post-toc) --------------------- */
.post-toc {
    font-family: var(--sans);
    background: #fafafa;
    border: 1px solid var(--line);
    border-radius: 10px;
    padding: 18px 22px;
    margin: 0 0 36px;
}
.post-toc-title {
    font-size: 12px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.07em; color: var(--ink-3); margin: 0 0 8px;
}
.post-toc ol { list-style: none; margin: 0; padding: 0; }
.post-toc ol ol { padding-left: 16px; }
.post-toc li { margin: 0; }
.post-toc a:link, .post-toc a:visited {
    display: inline-block; padding: 4px 0;
    font-size: 15px; line-height: 1.45; color: var(--ink-2); text-decoration: none;
}
.post-toc ol ol a:link, .post-toc ol ol a:visited { font-size: 14px; color: var(--ink-3); }
.post-toc a:hover { color: var(--accent); text-decoration: underline; }

/* Collapsible — default collapsed, click to hide/show (native <details>, no JS) */
.post-toc__box { margin: 0; }
.post-toc__box > summary {
    cursor: pointer; list-style: none; margin: 0;
    display: flex; align-items: center; justify-content: space-between;
    font-size: 12px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.07em; color: var(--ink-3);
}
.post-toc__box > summary::-webkit-details-marker { display: none; }
.post-toc__box > summary::after {
    content: ""; flex: 0 0 auto; width: 8px; height: 8px; margin-left: 12px;
    border-right: 2px solid var(--ink-3); border-bottom: 2px solid var(--ink-3);
    transform: rotate(45deg); transition: transform .2s ease;
}
.post-toc__box[open] > summary::after { transform: rotate(-135deg); }
.post-toc__box[open] > ol { margin-top: 14px; }
.post-toc__box > summary:hover { color: var(--ink); }
.post-toc__box > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-radius: 4px; }

/* --- Post prev/next pager (nav.post-nav) -------------------------------- */
.post-nav {
    display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 8px 0 0;
}
.post-nav__link {
    display: flex; flex-direction: column; gap: 6px;
    border: 1px solid var(--line); border-radius: 10px; padding: 16px 18px;
    text-decoration: none; transition: border-color 0.15s ease, background 0.15s ease;
}
.post-nav__link:hover { border-color: var(--ink); background: #fafafa; }
.post-nav__next { text-align: right; align-items: flex-end; }
.post-nav__dir { font-family: var(--sans); font-size: 13px; font-weight: 600; color: var(--ink-3); }
.post-nav__title { font-family: var(--sans); font-size: 15px; font-weight: 600; color: var(--ink); line-height: 1.35; }
.post-nav__link:hover .post-nav__title { color: var(--accent); }
@media (max-width: 600px) {
    .post-nav { grid-template-columns: 1fr; }
    .post-nav__next { text-align: left; align-items: flex-start; }
}

/* --- Category menu (chip row on home + listing + category pages) -------- */
.cat-nav {
    font-family: var(--sans);
    margin: 6px 0 32px;
    display: flex; align-items: flex-start; gap: 16px;
}
.cat-nav__label {
    flex: 0 0 auto;
    font-size: 11.5px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.08em; color: var(--ink-3);
    padding-top: 8px; white-space: nowrap;
}
.cat-nav__list {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-wrap: nowrap; gap: 9px; min-width: 0;
    overflow-x: auto; scrollbar-width: none;
}
.cat-nav__list::-webkit-scrollbar { display: none; }
/* Chip selectors are scoped under .cat-nav and pinned to :link/:visited so they
   override the legacy `nav a:link` rule and Bootstrap's base anchor color. */
.cat-nav a.cat-nav__item:link,
.cat-nav a.cat-nav__item:visited {
    display: inline-block;
    font-size: 13.5px; font-weight: 600; line-height: 1.5; letter-spacing: -0.005em;
    color: var(--ink-2); text-decoration: none; white-space: nowrap;
    background: #fff; border: 1px solid #e6e6e6; border-radius: 100px;
    padding: 6px 15px;
    transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.cat-nav a.cat-nav__item:hover { color: var(--ink); border-color: var(--ink); background: #fafafa; }
.cat-nav a.cat-nav__item.is-active:link,
.cat-nav a.cat-nav__item.is-active:visited {
    color: #fff; background: var(--accent); border-color: var(--accent);
}
.cat-nav a.cat-nav__item.is-active:hover { background: #0b5ed7; border-color: #0b5ed7; }

@media (max-width: 767px) {
    .cat-nav { flex-direction: column; gap: 10px; }
    .cat-nav__label { padding-top: 0; }
    .cat-nav__list { -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
}

/* ==========================================================================
   Hero (about) — clicking anywhere except the contact buttons goes home.
   A transparent stretched link covers the hero; buttons sit above it.
   ========================================================================== */
#about .hero-home-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    cursor: pointer;
}
#about .btn { position: relative; z-index: 2; }

/* ==========================================================================
   /hire — conversion landing page
   Self-contained design system scoped under #hire.
   System font stack, deep-navy + brand-blue palette, fact-first credibility.
   ========================================================================== */
#hire.hire {
    --hh-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --hh-ink: #10192b;
    --hh-body: #3d4859;
    --hh-dim: #667184;
    --hh-faint: #8b94a6;
    --hh-line: #e5e9f1;
    --hh-mist: #f5f7fb;
    --hh-navy: #0b1523;
    --hh-blue: #4f75be;
    --hh-blue-d: #3f64a8;
    --hh-blue-deep: #3d63ab;
    --hh-sky: #9db9ec;
    --hh-purple: #a971ae;
    --hh-green: #34d399;
    font-family: var(--hh-font);
    color: var(--hh-body);
    font-size: 17px;
    line-height: 1.65;
    background: #fff;
    padding-bottom: 0;
    -webkit-font-smoothing: antialiased;
}

/* Neutralize legacy absolute-nav rules that target bare <nav> */
#hire nav {
    position: static;
    top: auto;
    left: auto;
    width: auto;
    overflow: visible;
    z-index: auto;
    transform: none;
    -webkit-transform: none;
    transition: none;
    background-color: transparent;
    color: inherit;
}

/* Layout scaffolding ------------------------------------------------------ */
#hire .hire-wrap {
    max-width: 1120px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}
#hire .hire-wrap--narrow { max-width: 780px; }

#hire .hire-sec {
    padding: 84px 0 88px;
    background: #fff;
}
#hire .hire-sec--mist {
    background: var(--hh-mist);
    border-top: 1px solid #e9edf4;
    border-bottom: 1px solid #e9edf4;
}
#hire section[id] { scroll-margin-top: 80px; }
.section-container:has(#hire) { scroll-behavior: smooth; }

#hire .hire-eyebrow {
    font-size: 12.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--hh-blue);
    text-align: center;
    margin: 0 0 14px;
}
#hire .hire-h2 {
    font-family: var(--hh-font);
    font-size: clamp(28px, 3.6vw, 40px);
    line-height: 1.14;
    letter-spacing: -0.02em;
    font-weight: 800;
    color: var(--hh-ink);
    text-align: center;
    margin: 0 0 44px;
    text-transform: none;
}
#hire .hire-h2--left { text-align: left; }
#hire .hire-sec__foot {
    text-align: center;
    font-size: 15px;
    color: var(--hh-dim);
    margin: 40px 0 0;
}
#hire .hire-sec__foot a {
    color: var(--hh-blue-deep);
    font-weight: 600;
    text-decoration: none;
}
#hire .hire-sec__foot a:hover { text-decoration: underline; }

/* Buttons ----------------------------------------------------------------- */
#hire .hire-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-family: inherit;
    font-weight: 700;
    font-size: 15px;
    line-height: 1;
    border-radius: 10px;
    padding: 0 20px;
    height: 46px;
    text-decoration: none !important;
    border: 1px solid transparent;
    white-space: nowrap;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
#hire .hire-btn i { font-size: 17px; }
#hire .hire-btn--sm { height: 38px; font-size: 13.5px; padding: 0 14px; border-radius: 9px; }
#hire .hire-btn--lg { height: 52px; font-size: 16px; padding: 0 26px; }
#hire .hire-btn--block { width: 100%; }
#hire .hire-btn--primary {
    background: var(--hh-blue);
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(79, 117, 190, 0.30);
}
#hire .hire-btn--primary:hover,
#hire .hire-btn--primary:focus {
    background: var(--hh-blue-d);
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(79, 117, 190, 0.40);
}
#hire .hire-btn--primary:active { transform: translateY(0); }
#hire .hire-btn--ghost,
#hire .hire-btn--dark {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.28);
    color: #fff !important;
}
#hire .hire-btn--ghost:hover,
#hire .hire-btn--ghost:focus,
#hire .hire-btn--dark:hover,
#hire .hire-btn--dark:focus {
    background: rgba(255, 255, 255, 0.13);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-1px);
}

/* Shared sticky site nav (blog + /hire) -------------------------------------- */
.site-nav {
    --sn-ink: #10192b;
    --sn-muted: #56617a;
    --sn-line: #e5e9f1;
    --sn-blue: #4f75be;
    --sn-blue-d: #3f64a8;
    position: sticky !important;
    top: 0;
    z-index: 60;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--sn-line);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.site-nav.is-scrolled {
    box-shadow: 0 8px 24px rgba(16, 25, 43, 0.08);
    border-bottom-color: transparent;
}
/* Kill legacy absolute-nav rules that target bare <nav>.
   Desktop only: the mobile drawer needs position:absolute. */
@media (min-width: 841px) {
    .site-nav nav,
    .site-nav__links {
        position: static !important;
        top: auto !important;
        left: auto !important;
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
        z-index: auto !important;
        transform: none !important;
        -webkit-transform: none !important;
        transition: none;
        background: transparent !important;
        color: inherit !important;
    }
}
.site-nav__inner {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 24px;
    height: 62px;
    display: flex;
    align-items: center;
    gap: 20px;
}
.site-nav__brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 15.5px;
    font-weight: 700;
    color: var(--sn-ink) !important;
    text-decoration: none !important;
    white-space: nowrap;
}
.site-nav__avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
}
.site-nav__links {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 26px;
}
.site-nav__links a:link,
.site-nav__links a:visited {
    font-size: 14.5px;
    font-weight: 600;
    color: var(--sn-muted) !important;
    text-decoration: none !important;
    background: transparent !important;
}
.site-nav__links a:hover,
.site-nav__links a:active,
.site-nav__links a[aria-current="page"] {
    color: var(--sn-ink) !important;
}
.site-nav__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}
.site-nav__lang {
    display: flex;
    align-items: center;
}
.site-nav__lang-select {
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    color: var(--sn-ink);
    background-color: #fff;
    border: 1px solid var(--sn-line);
    border-radius: 999px;
    padding: 6px 28px 6px 12px;
    line-height: 1;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'><path d='M3 4.5L6 7.5L9 4.5' stroke='%2356617a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.site-nav__lang-select:hover { border-color: var(--sn-muted); }
.site-nav__lang-select:focus-visible { outline: 2px solid var(--sn-blue); outline-offset: 2px; }
@media (max-width: 840px) {
    .site-nav__lang-select { font-size: 12px; padding: 5px 24px 5px 10px; }
}
.site-nav__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    padding: 0 14px;
    border-radius: 9px;
    font-size: 13.5px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none !important;
    background: var(--sn-blue) !important;
    color: #fff !important;
    border: 1px solid transparent;
    box-shadow: 0 4px 12px rgba(79, 117, 190, 0.22);
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.site-nav__cta:hover,
.site-nav__cta:focus {
    background: var(--sn-blue-d) !important;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(79, 117, 190, 0.32);
}
.site-nav__cta:active { transform: translateY(0); }
.site-nav__cta--mobile { display: none !important; }
.site-nav__toggle {
    display: none;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 1px solid var(--sn-line);
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
}
.site-nav__toggle-bar {
    display: block;
    width: 16px;
    height: 2px;
    border-radius: 1px;
    background: var(--sn-ink);
    transition: transform 0.2s ease, opacity 0.2s ease;
}
.site-nav.is-open .site-nav__toggle-bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}
.site-nav.is-open .site-nav__toggle-bar:nth-child(2) {
    opacity: 0;
}
.site-nav.is-open .site-nav__toggle-bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}
.site-nav a:focus-visible,
.site-nav button:focus-visible {
    outline: 2px solid var(--sn-blue);
    outline-offset: 3px;
    border-radius: 6px;
}
@media (max-width: 840px) {
    .site-nav__inner {
        justify-content: space-between;
        position: relative;
        flex-wrap: nowrap;
    }
    .site-nav__brand {
        min-width: 0;
        flex: 1 1 auto;
        overflow: hidden;
    }
    .site-nav__brand span {
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .site-nav nav.site-nav__links {
        display: none;
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: auto !important;
        margin: 0;
        padding: 12px 16px 16px;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        overflow: visible !important;
        z-index: 61 !important;
        transform: none !important;
        -webkit-transform: none !important;
        background: #fff !important;
        color: inherit !important;
        border-bottom: 1px solid var(--sn-line);
        box-shadow: 0 16px 32px rgba(16, 25, 43, 0.10);
    }
    .site-nav.is-open nav.site-nav__links {
        display: flex !important;
    }
    .site-nav__links a:link,
    .site-nav__links a:visited {
        display: block;
        padding: 12px 14px;
        border-radius: 10px;
        font-size: 15px;
    }
    .site-nav__links a:hover,
    .site-nav__links a[aria-current="page"] {
        background: #f5f7fb !important;
    }
    .site-nav__cta--desktop { display: none !important; }
    .site-nav__cta--mobile,
    .site-nav__links a.site-nav__cta--mobile:link,
    .site-nav__links a.site-nav__cta--mobile:visited {
        display: inline-flex !important;
        width: 100%;
        height: 44px;
        margin-top: 8px;
        box-shadow: none;
        background: var(--sn-blue) !important;
        color: #fff !important;
        justify-content: center;
        align-items: center;
    }
    .site-nav__toggle { display: inline-flex; }
}
@media (max-width: 480px) {
    .site-nav__inner { padding: 0 16px; gap: 10px; height: 56px; }
    .site-nav__brand { font-size: 14px; gap: 8px; }
    .site-nav__avatar { width: 30px; height: 30px; }
}

/* Hero ---------------------------------------------------------------------- */
#hire .hire-hero,
#hire .hire-final {
    position: relative;
    background-color: var(--hh-navy);
    overflow: hidden;
}
#hire .hire-hero::before {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background: url(/files/bg.webp) center / cover no-repeat;
    opacity: 0.05;
    pointer-events: none;
}
#hire .hire-hero::after {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background:
        radial-gradient(900px 480px at 82% -12%, rgba(98, 132, 197, 0.30), transparent 62%),
        radial-gradient(700px 420px at -8% 108%, rgba(169, 113, 174, 0.13), transparent 60%);
    pointer-events: none;
}
#hire .hire-final::after {
    content: "";
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background:
        radial-gradient(760px 420px at 50% 118%, rgba(98, 132, 197, 0.30), transparent 65%),
        radial-gradient(600px 300px at 85% -10%, rgba(98, 132, 197, 0.12), transparent 60%);
    pointer-events: none;
}
#hire .hire-hero .hire-wrap,
#hire .hire-final .hire-wrap {
    position: relative;
    z-index: 1;
}
#hire .hire-hero { padding: 92px 0 88px; }
#hire .hire-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 384px;
    gap: 64px;
    align-items: center;
}
#hire .hire-badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    font-weight: 600;
    color: #d9e4f7;
    background: rgba(147, 180, 234, 0.12);
    border: 1px solid rgba(147, 180, 234, 0.28);
    border-radius: 999px;
    padding: 7px 14px;
    margin: 0 0 22px;
}
#hire .hire-badge__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--hh-green);
    animation: hire-pulse 2.4s ease-out infinite;
}
@keyframes hire-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(52, 211, 153, 0.45); }
    50% { box-shadow: 0 0 0 6px rgba(52, 211, 153, 0); }
}
#hire .hire-hero__title {
    font-family: var(--hh-font);
    font-size: clamp(38px, 4.6vw, 56px);
    line-height: 1.06;
    letter-spacing: -0.022em;
    font-weight: 800;
    color: #fff;
    margin: 0 0 22px;
    text-transform: none;
}
#hire .hire-hero__title-em { color: var(--hh-sky); }
#hire .hire-hero__lead {
    font-size: 18.5px;
    line-height: 1.62;
    color: rgba(255, 255, 255, 0.85);
    max-width: 34em;
    margin: 0 0 30px;
}
#hire .hire-hero__lead strong {
    color: #fff;
    font-weight: 700;
}
#hire .hire-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0 0 24px;
}
#hire .hire-hero__ticks {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
}
#hire .hire-hero__ticks li {
    font-size: 14.5px;
    color: rgba(255, 255, 255, 0.78);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
#hire .hire-hero__ticks li::before {
    content: "✓";
    font-size: 12.5px;
    font-weight: 700;
    color: var(--hh-sky);
}

/* Hero card + typical-request slider */
#hire .hire-card {
    background: #fff;
    border-radius: 16px;
    padding: 24px 24px 20px;
    box-shadow: 0 30px 70px rgba(2, 8, 20, 0.55);
}
#hire .hire-card__head {
    display: flex;
    align-items: center;
    gap: 14px;
}
#hire .hire-card__photo {
    width: 76px;
    height: 76px;
    border-radius: 14px;
    object-fit: cover;
}
#hire .hire-card__name {
    font-size: 17px;
    font-weight: 800;
    color: var(--hh-ink);
    margin: 0;
    line-height: 1.3;
}
#hire .hire-card__role {
    font-size: 13.5px;
    color: var(--hh-dim);
    margin: 2px 0 0;
}
#hire .hire-requests {
    margin: 18px 0 0;
    padding-top: 16px;
    border-top: 1px solid var(--hh-line);
}
#hire .hire-requests__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}
#hire .hire-requests__label {
    margin: 0;
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--hh-blue);
}
#hire .hire-requests__nav {
    display: flex;
    gap: 6px;
}
#hire .hire-requests__btn {
    width: 30px;
    height: 30px;
    border-radius: 8px;
    border: 1px solid var(--hh-line);
    background: #fff;
    color: var(--hh-body);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
#hire .hire-requests__btn:hover,
#hire .hire-requests__btn:focus-visible {
    background: #eef3fb;
    border-color: #cfd9ec;
    color: var(--hh-ink);
}
#hire .hire-requests__btn:focus-visible {
    outline: 2px solid var(--hh-blue);
    outline-offset: 2px;
}
#hire .hire-requests__btn i {
    font-size: 11px;
}
#hire .hire-requests__viewport {
    position: relative;
    overflow: hidden;
    min-height: 172px;
}
#hire .hire-requests__track {
    position: relative;
    min-height: 172px;
}
#hire .hire-request {
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(6px);
    transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease;
}
#hire .hire-request.is-active {
    position: relative;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}
#hire .hire-request__industry {
    display: inline-flex;
    align-items: center;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--hh-blue-deep);
    background: #eef3fb;
    border-radius: 999px;
    padding: 5px 10px;
    margin-bottom: 12px;
}
#hire .hire-request__quote {
    margin: 0 0 12px;
    font-size: 15px;
    line-height: 1.5;
    font-weight: 600;
    color: var(--hh-ink);
}
#hire .hire-request__deliver {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--hh-dim);
}
#hire .hire-request__deliver strong {
    color: var(--hh-ink);
    font-weight: 700;
}
#hire .hire-requests__dots {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 14px;
    min-height: 10px;
}
#hire .hire-requests__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 0;
    padding: 0;
    background: #d5dcea;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease;
}
#hire .hire-requests__dot[aria-selected="true"] {
    background: var(--hh-blue);
    transform: scale(1.15);
}
#hire .hire-requests__dot:hover {
    background: #aeb9ce;
}
#hire .hire-requests__dot:focus-visible {
    outline: 2px solid var(--hh-blue);
    outline-offset: 2px;
}
/* Companies strip ----------------------------------------------------------- */
#hire .hire-logos {
    background: #fff;
    border-bottom: 1px solid var(--hh-line);
    padding: 20px 0;
}
#hire .hire-logos__inner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 36px;
}
#hire .hire-logos__label {
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: #9aa3b5;
}
#hire .hire-logos ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px 30px;
}
#hire .hire-logos li {
    display: flex;
    align-items: center;
    white-space: nowrap;
}
#hire .hire-logo {
    display: block;
    object-fit: contain;
    /* Uniform monochrome wall: works for any brand color, incl. white-on-transparent marks */
    filter: brightness(0) opacity(0.48);
    transition: filter 0.2s ease;
}
#hire .hire-logos li:hover .hire-logo {
    filter: brightness(0) opacity(0.8);
}
#hire .hire-logo-word {
    font-size: 17.5px;
    font-weight: 800;
    letter-spacing: -0.02em;
    color: rgba(13, 18, 28, 0.48);
    transition: color 0.2s ease;
}
#hire .hire-logos li:hover .hire-logo-word {
    color: rgba(13, 18, 28, 0.8);
}
#hire .hire-logo-more {
    font-size: 13px;
    font-weight: 500;
    font-style: italic;
    color: #9aa3b5;
    white-space: nowrap;
}

/* Icon chip ------------------------------------------------------------------ */
#hire .hire-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #e9effa;
    color: var(--hh-blue-deep);
    font-size: 17px;
}

/* Pains ----------------------------------------------------------------------- */
#hire .hire-pains {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    max-width: 900px;
    margin: 0 auto;
}
#hire .hire-pain {
    background: #fff;
    border: 1px solid var(--hh-line);
    border-radius: 14px;
    padding: 26px 26px 24px;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
#hire .hire-pain:hover,
#hire .hire-scope-card:hover {
    transform: translateY(-2px);
    border-color: #cdd9ec;
    box-shadow: 0 12px 28px rgba(16, 25, 43, 0.07);
}
#hire .hire-pain h3,
#hire .hire-scope-card h3 {
    font-family: var(--hh-font);
    font-size: 17px;
    font-weight: 700;
    color: var(--hh-ink);
    margin: 15px 0 7px;
    letter-spacing: -0.01em;
}
#hire .hire-pain p,
#hire .hire-scope-card p {
    font-size: 15.5px;
    line-height: 1.6;
    color: var(--hh-body);
    margin: 0;
}
#hire .hire-bridge {
    margin: 48px auto 0;
    text-align: center;
    font-size: clamp(19px, 2.3vw, 23px);
    line-height: 1.45;
    color: var(--hh-ink);
    font-weight: 500;
}
#hire .hire-bridge strong {
    font-weight: 800;
    background: linear-gradient(transparent 64%, rgba(98, 132, 197, 0.28) 0);
}

/* Steps + flow ----------------------------------------------------------------- */
#hire .hire-steps {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    max-width: 1020px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
#hire .hire-steps li {
    background: #fff;
    border: 1px solid var(--hh-line);
    border-radius: 14px;
    padding: 26px 24px;
}
#hire .hire-steps__n {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--hh-blue);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    margin-bottom: 16px;
    box-shadow: 0 5px 12px rgba(79, 117, 190, 0.30);
}
#hire .hire-steps h3 {
    font-family: var(--hh-font);
    font-size: 17.5px;
    font-weight: 700;
    color: var(--hh-ink);
    margin: 0 0 8px;
    letter-spacing: -0.01em;
}
#hire .hire-steps p {
    font-size: 15.5px;
    line-height: 1.6;
    color: var(--hh-body);
    margin: 0;
}
#hire .hire-flow {
    margin: 36px auto 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 14px;
}
#hire .hire-flow__chip {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    background: #fff;
    border: 1px solid var(--hh-line);
    border-radius: 999px;
    padding: 10px 20px;
    font-size: 14.5px;
    font-weight: 700;
    color: var(--hh-ink);
    text-align: center;
    line-height: 1.3;
}
#hire .hire-flow__chip small {
    font-size: 12px;
    font-weight: 500;
    color: var(--hh-dim);
}
#hire .hire-flow__chip--me {
    background: var(--hh-navy);
    border-color: var(--hh-navy);
    color: #fff;
}
#hire .hire-flow__chip--me small { color: rgba(255, 255, 255, 0.7); }
#hire .hire-flow__arrow {
    color: #9aa6ba;
    font-size: 17px;
    font-weight: 700;
}

/* Results ------------------------------------------------------------------------ */
#hire .hire-results-slider {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px 10px;
    max-width: 1100px;
    margin: 0 auto;
}
#hire .hire-results__viewport {
    grid-column: 2;
    overflow: hidden;
    min-width: 0;
}
#hire .hire-results__track {
    display: flex;
    gap: 18px;
    will-change: transform;
}
#hire .hire-results__track.is-ready {
    transition: transform 0.4s ease;
}
#hire .hire-results__arrow {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    border: 1px solid var(--hh-line);
    background: #fff;
    color: var(--hh-body);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
#hire .hire-results__arrow:hover,
#hire .hire-results__arrow:focus-visible {
    background: #eef3fb;
    border-color: #cfd9ec;
    color: var(--hh-ink);
}
#hire .hire-results__arrow:focus-visible {
    outline: 2px solid var(--hh-blue);
    outline-offset: 2px;
}
#hire .hire-results__arrow i { font-size: 13px; }
#hire .hire-results__dots {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    gap: 7px;
    min-height: 10px;
    margin-top: 6px;
}
#hire .hire-results__dots .hire-requests__dot { background: #d5dcea; }
#hire .hire-result {
    background: #fff;
    border: 1px solid var(--hh-line);
    border-radius: 16px;
    padding: 28px 26px 22px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    min-height: 100%;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
#hire .hire-result:hover {
    border-color: #cdd9ec;
    box-shadow: 0 12px 28px rgba(16, 25, 43, 0.07);
}
#hire .hire-result__metric {
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin: 0 0 12px;
    color: var(--hh-blue-deep);
}
#hire .hire-result__text {
    font-size: 15.5px;
    line-height: 1.6;
    color: var(--hh-body);
    margin: 0;
    flex: 1 1 auto;
}

/* Scope ---------------------------------------------------------------------------- */
#hire .hire-scope-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
#hire .hire-scope-card {
    background: #fff;
    border: 1px solid var(--hh-line);
    border-radius: 14px;
    padding: 24px 24px 22px;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}
#hire .hire-note {
    max-width: 720px;
    margin: 38px auto 0;
    text-align: center;
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--hh-dim);
    background: #fff;
    border: 1px dashed #d9dfeb;
    border-radius: 12px;
    padding: 15px 20px;
}
#hire .hire-note strong { color: var(--hh-ink); }

/* Compare table ----------------------------------------------------------------------- */
#hire .hire-table-wrap {
    max-width: 980px;
    margin: 0 auto;
    border: 1px solid var(--hh-line);
    border-radius: 16px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    background: #fff;
}
#hire .hire-table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
    font-size: 15px;
}
#hire .hire-table th,
#hire .hire-table td {
    padding: 15px 20px;
    text-align: left;
    border-top: 1px solid #edf0f6;
    vertical-align: top;
    line-height: 1.45;
}
#hire .hire-table thead th {
    border-top: 0;
    background: #fafbfd;
    font-size: 12.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--hh-dim);
    white-space: nowrap;
}
#hire .hire-table tbody th {
    font-weight: 700;
    color: var(--hh-ink);
    width: 200px;
}
#hire .hire-table td { color: var(--hh-body); }
#hire .hire-table td.hire-table__me,
#hire .hire-table thead th.hire-table__me {
    background: #f1f6ff;
    color: #2f4f8f;
    font-weight: 700;
}
#hire .hire-table thead th.hire-table__me {
    color: var(--hh-blue-deep);
    box-shadow: inset 0 3px 0 var(--hh-blue);
}
#hire .hire-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* About ---------------------------------------------------------------------------------- */
#hire .hire-about {
    display: grid;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 60px;
    align-items: start;
}
#hire .hire-about .hire-eyebrow { text-align: left; }
#hire .hire-about__media img {
    width: 100%;
    height: auto;
    border-radius: 18px;
    border: 1px solid var(--hh-line);
    box-shadow: 0 18px 44px rgba(16, 25, 43, 0.14);
    display: block;
}
#hire .hire-about__body .hire-h2--left { margin-bottom: 24px; }
#hire .hire-about__body p {
    font-size: 16.5px;
    line-height: 1.7;
    margin: 0 0 18px;
}
#hire .hire-about__sig {
    margin: 26px 0 0 !important;
    font-size: 17px !important;
    font-weight: 800;
    color: var(--hh-ink);
}
#hire .hire-about__sig span {
    display: block;
    font-size: 13.5px;
    font-weight: 500;
    color: var(--hh-dim);
    margin-top: 2px;
}
#hire .hire-about__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
}
#hire .hire-about__links a {
    font-size: 13px;
    font-weight: 700;
    color: var(--hh-blue-deep);
    background: #eef3fb;
    border-radius: 8px;
    padding: 8px 13px;
    text-decoration: none;
}
#hire .hire-about__links a:hover { background: #e2ebfa; }

/* Pricing ----------------------------------------------------------------------------------- */
#hire .hire-pricing {
    display: grid;
    grid-template-columns: minmax(0, 560px) minmax(280px, 360px);
    gap: 24px;
    justify-content: center;
    align-items: start;
}
#hire .hire-price-card {
    background: #fff;
    border: 1px solid rgba(79, 117, 190, 0.35);
    border-radius: 18px;
    padding: 38px 34px 30px;
    box-shadow: 0 20px 50px rgba(16, 25, 43, 0.10);
    position: relative;
    overflow: hidden;
    text-align: center;
}
#hire .hire-price-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--hh-blue) 0%, var(--hh-purple) 100%);
}
#hire .hire-price-card__label {
    font-size: 12.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--hh-blue);
    margin: 0 0 12px;
}
#hire .hire-price-card__from {
    margin: 0 0 4px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--hh-dim);
}
#hire .hire-price-card__amount {
    margin: 0;
    font-weight: 800;
    color: var(--hh-dim);
    font-size: 18px;
}
#hire .hire-price-card__amount span {
    font-size: 54px;
    letter-spacing: -0.03em;
    color: var(--hh-ink);
    line-height: 1;
}
#hire .hire-price-card__start {
    font-size: 15px;
    line-height: 1.5;
    color: var(--hh-body);
    margin: 12px 0 24px;
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
}
#hire .hire-checks {
    list-style: none;
    margin: 0 auto 28px;
    padding: 0;
    max-width: 420px;
    text-align: left;
}
#hire .hire-checks li {
    position: relative;
    padding: 8px 0 8px 30px;
    font-size: 15.5px;
    line-height: 1.5;
    color: var(--hh-ink);
}
#hire .hire-checks li::before {
    content: "✓";
    position: absolute;
    left: 2px;
    top: 8px;
    font-size: 14px;
    font-weight: 800;
    color: var(--hh-blue);
}
#hire .hire-price-card__note {
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--hh-dim);
    margin: 20px 0 0;
    border-top: 1px solid var(--hh-line);
    padding-top: 18px;
    text-align: left;
}
#hire .hire-price-card__lockin {
    margin: 20px 0 0;
    padding: 14px 16px;
    border-radius: 12px;
    background: var(--hh-mist);
    border: 1px solid rgba(79, 117, 190, 0.28);
    color: var(--hh-ink);
    font-size: 15.5px;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
}
#hire .hire-side {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
#hire .hire-days {
    background: #fafbfd;
    border: 1px solid var(--hh-line);
    border-radius: 18px;
    padding: 30px 28px;
}
#hire .hire-days__title {
    font-size: 12.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--hh-dim);
    margin: 0 0 20px;
}
#hire .hire-days ol {
    list-style: none;
    margin: 0;
    padding: 0;
}
#hire .hire-days li {
    position: relative;
    padding: 0 0 24px 28px;
}
#hire .hire-days li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    width: 11px;
    height: 11px;
    border-radius: 50%;
    border: 2.5px solid var(--hh-blue);
    background: #fff;
}
#hire .hire-days li::after {
    content: "";
    position: absolute;
    left: 4.5px;
    top: 20px;
    bottom: 0;
    width: 2px;
    background: #e3e9f3;
}
#hire .hire-days li:last-child { padding-bottom: 0; }
#hire .hire-days li:last-child::after { display: none; }
#hire .hire-days__when {
    display: block;
    font-size: 12.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--hh-blue-deep);
}
#hire .hire-days li p {
    font-size: 15px;
    line-height: 1.55;
    color: var(--hh-body);
    margin: 4px 0 0;
}

/* FAQ ------------------------------------------------------------------------------------------ */
#hire .hire-faq {
    border-top: 1px solid #e3e8f0;
}
#hire .hire-faq__item {
    border-bottom: 1px solid #e3e8f0;
}
#hire .hire-faq__item summary {
    cursor: pointer;
    list-style: none;
    font-size: 17px;
    font-weight: 700;
    color: var(--hh-ink);
    padding: 19px 44px 19px 0;
    position: relative;
    line-height: 1.4;
}
#hire .hire-faq__item summary::-webkit-details-marker { display: none; }
#hire .hire-faq__item summary:hover { color: var(--hh-blue-deep); }
#hire .hire-faq__item summary::after {
    content: "+";
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    font-weight: 300;
    color: var(--hh-blue);
    line-height: 1;
}
#hire .hire-faq__item[open] summary { color: var(--hh-blue-deep); }
#hire .hire-faq__item[open] summary::after { content: "−"; }
#hire .hire-faq__item p {
    margin: 0;
    padding: 0 44px 22px 0;
    font-size: 15.5px;
    line-height: 1.65;
    color: var(--hh-body);
}

/* Final CTA --------------------------------------------------------------------------------------- */
#hire .hire-final {
    padding: 92px 0 84px;
    text-align: center;
}
#hire .hire-final__title {
    font-family: var(--hh-font);
    font-size: clamp(30px, 4vw, 44px);
    line-height: 1.12;
    letter-spacing: -0.02em;
    font-weight: 800;
    color: #fff;
    margin: 0 0 18px;
    text-transform: none;
}
#hire .hire-final__lead {
    font-size: 17.5px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.82);
    max-width: 37em;
    margin: 0 auto 36px;
}
#hire .hire-final__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
}
#hire .hire-final__foot {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.65);
    margin: 24px 0 0;
}
#hire .hire-final__tag {
    max-width: 520px;
    margin: 38px auto 0;
    padding-top: 26px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 15px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.8);
}

/* Footer -------------------------------------------------------------------------------------------- */
#hire .hire-footer {
    background: #fff;
    border-top: 1px solid var(--hh-line);
    padding: 28px 0 38px;
    text-align: center;
    font-size: 14px;
    color: var(--hh-faint);
}
#hire .hire-footer a:link,
#hire .hire-footer a:visited {
    color: var(--hh-blue-deep);
    text-decoration: none;
}
#hire .hire-footer a:hover { text-decoration: underline; }
#hire .hire-footer__copy {
    margin: 10px 0 0;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Responsive ------------------------------------------------------------------------------------------ */
@media (max-width: 1024px) {
    #hire .hire-hero__grid { grid-template-columns: minmax(0, 1fr) 344px; gap: 44px; }
}
@media (max-width: 960px) {
    #hire .hire-hero { padding: 64px 0 64px; }
    #hire .hire-hero__grid { grid-template-columns: 1fr; gap: 44px; }
    #hire .hire-card { max-width: 480px; width: 100%; margin: 0 auto; }
    #hire .hire-about { grid-template-columns: 1fr; gap: 32px; }
    #hire .hire-about__media { max-width: 320px; }
    #hire .hire-pricing { grid-template-columns: minmax(0, 1fr); }
    #hire .hire-side,
    #hire .hire-days { max-width: 560px; }
    #hire .hire-steps { grid-template-columns: 1fr; max-width: 640px; }
    #hire .hire-results-slider { gap: 10px 8px; }
    #hire .hire-results__arrow { width: 36px; height: 36px; }
    #hire .hire-scope-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #hire .hire-sec { padding: 60px 0 64px; }
}
@media (max-width: 700px) {
    #hire .hire-pains { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    #hire .hire-br { display: none; }
    #hire .hire-results-slider {
        grid-template-columns: 1fr auto auto 1fr;
        gap: 14px 8px;
    }
    #hire .hire-results__viewport { grid-column: 1 / -1; }
    #hire .hire-results__arrow[data-hire-slider-prev] { grid-column: 2; }
    #hire .hire-results__arrow[data-hire-slider-next] { grid-column: 3; }
    #hire .hire-hero__actions { flex-direction: column; align-items: stretch; }
    #hire .hire-hero__actions .hire-btn { width: 100%; }
    #hire .hire-flow { flex-direction: column; gap: 8px; }
    #hire .hire-flow__arrow { transform: rotate(90deg); }
    #hire .hire-scope-grid { grid-template-columns: 1fr; }
    #hire .hire-final__actions { flex-direction: column; align-items: stretch; }
    #hire .hire-logos__inner { gap: 10px 20px; }
    #hire .hire-logos ul { gap: 10px 22px; }
    #hire .hire-logo { transform: scale(0.9); transform-origin: left center; }
    #hire .hire-logo-word { font-size: 16px; }
}
@media (max-width: 480px) {
    #hire .hire-wrap { padding-left: 20px; padding-right: 20px; }
}

/* Focus + reduced motion --------------------------------------------------------------------------------- */
#hire a:focus-visible,
#hire summary:focus-visible {
    outline: 2px solid var(--hh-blue);
    outline-offset: 3px;
    border-radius: 6px;
}
#hire .hire-hero a:focus-visible,
#hire .hire-final a:focus-visible {
    outline-color: var(--hh-sky);
}
@media (prefers-reduced-motion: reduce) {
    #hire * {
        transition: none !important;
        animation: none !important;
    }
    .section-container:has(#hire) { scroll-behavior: auto; }
    #hire .hire-request.is-active {
        animation: none;
    }
}
