:root {
    --bg: #f7f3ee;
    --accent: #8d1f1f;
    --text: #111;
}

body {
    background: var(--bg);
    font-family: Inter, sans-serif;
    color: var(--text)
}

.navbar {
    background: transparent !important;
    padding: 24px 0;
    border-bottom: 1px solid #ddd0;
}

a.navbar-brand {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 700;
    font-size: 30px;
}

.brand {
    font-family: 'Cormorant Garamond', serif;
    font-size: 34px;
    letter-spacing: 3px
}

.nav-link {
    font-size: 13px;
    letter-spacing: 2px;
    text-transform: uppercase
}

.kicker {
    color: var(--accent);
    letter-spacing: 4px;
    font-size: 14px;
    font-weight: 600
}

.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
    color: rgb(141 31 31);
    font-weight: 700;
    text-decoration: underline;
}

.hero h1 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 90px;
    line-height: .9
}

.hero-meta {
    letter-spacing: 5px;
    text-transform: uppercase;
    line-height: 1.5;
}

.stats i {
    color: #8d1f1f;
    font-size: 40px;
    margin-bottom: 14px;
}

section.footercta {
    border-top: 1px solid #bdbdbd;
}

.btn-red {
    background: var(--accent);
    color: #fff;
    padding: 14px 40px
}

.btn-outline-custom {
    border: 1px solid #b99;
    padding: 14px 40px
}

.section-line {
    border-top: 1px solid #ddd;
    margin: 0
}

.featured {
    padding: 28px 0
}

.portfolio-viwe a {
    color: #8d1f1f;
    text-decoration: none;
    font-weight: 500;
    font-size: 20px;
}

.portfolio-viwe a:hover {
    color: #111;
    transition: 0.9s;
}

.featured-title {
    text-align: center;
    font-family: 'Cormorant Garamond', serif;
    font-size: 40px
}

.work img {
    width: 100%;
    height: 230px;
    object-fit: cover
}

.stats {
    background: #faf8f5;
    padding: 35px 0
}

.quote {
    padding: 60px 0;
    text-align: center
}

.quote p {
    font-family: 'Cormorant Garamond', serif;
    font-size: 42px;
    max-width: 850px;
    margin: auto
}

.footercta {
    text-align: center;
    padding: 20px 0 40px
}

.ftr-ctn a {
    color: #111;
    text-decoration: none;
    font-size: 20px;
}

.ftr-ctn a:hover {
    color: #8d1f1f;
}


/* ===========================
   ABOUT SECTION
=========================== */

.abt-section{
    padding:30px 0;
    background:#f7f4ef;
    overflow:hidden;
}

.abt-content{
    max-width:620px;
}

.abt-subtitle{
    position:relative;
    display:inline-block;
    color:#8e1c1c;
    font-size:13px;
    font-weight:600;
    letter-spacing:3px;
    text-transform:uppercase;
    margin-bottom:30px;
}

.abt-subtitle::after, .ptf-subtitle::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-15px;
    width:30px;
    height:2px;
    background:#8e1c1c;
}
.ptf-subtitle::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-15px;
    width:30px;
    height:2px;
    background:#8e1c1c;
}
.abt-subtitle::after, .ptf-subtitle::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-15px;
    width:30px;
    height:2px;
    background:#8e1c1c;
}

.abt-title{
    font-family:'Cormorant Garamond', serif;
    font-size:78px;
    line-height:0.95;
    font-weight:600;
    color:#111;
    margin-bottom:30px;
}

.abt-desc{
    font-size:16px;
    line-height:1.9;
    color:#2f2f2f;
    margin-bottom:20px;
}

.abt-highlights{
    margin-top:45px;
    padding-top:35px;
    border-top:1px solid #ddd;
    display:flex;
    justify-content:space-between;
}

.abt-item{
    flex:1;
    text-align:center;
    position:relative;
}

.abt-item:not(:last-child)::after{
    content:'';
    position:absolute;
    top:0;
    right:0;
    width:1px;
    height:80px;
    background:#d7d7d7;
}

.abt-item img{
    width:24px;
    height:24px;
    margin-bottom:15px;
    opacity:.7;
}

.abt-item h5{
    font-size:18px;
    margin-bottom:5px;
    font-weight:500;
}

.abt-item span{
    display:block;
    color:#444;
}

.abt-image-wrapper{
    position:relative;
    text-align:center;
}

.abt-bg-shape{
    position:absolute;
    top:-20px;
    right:-20px;
    width:220px;
    height:700px;
    background:#f0ebe4;
    border-radius:100px;
    z-index:1;
}

.abt-image{
    position:relative;
    z-index:2;
    width:100%;
    max-width:520px;
    border-radius:8px;
}

/* ===========================
   RESPONSIVE
=========================== */

@media (max-width:991px){

    .abt-section{
        padding:80px 0;
    }

    .abt-title{
        font-size:58px;
    }

    .abt-image-wrapper{
        margin-top:50px;
    }

    .abt-bg-shape{
        display:none;
    }

}

@media (max-width:767px){

    .abt-title{
        font-size:48px;
    }

    .abt-highlights{
        flex-direction:column;
        gap:30px;
    }

    .abt-item:not(:last-child)::after{
        display:none;
    }

}

@media (max-width:575px){

    .abt-section{
        padding:60px 0;
    }

    .abt-title{
        font-size:42px;
    }

    .abt-desc{
        font-size:15px;
        line-height:1.8;
    }

}


.ptf-section{
    padding: 30px 0 50px 0;
    background:#f7f4ef;
}

.ptf-subtitle{
    color:#8b1f1f;
    font-size:13px;
    font-weight:600;
    letter-spacing:3px;
    display:block;
    margin-bottom:20px;
}

.ptf-title{
    font-family:'Cormorant Garamond',serif;
    font-size:72px;
    margin-bottom:20px;
}

.ptf-description{
    max-width:550px;
    color:#444;
    line-height:1.8;
}

.ptf-signature{
    font-family:'Cormorant Garamond',serif;
    font-size:70px;
    color:#ebe2d9;
    text-align:right;
    font-style:italic;
}

.ptf-filter{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:20px;
    margin:60px 0;
}

.ptf-filter-btn{
    border:none;
    background:none;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:2px;
    color:#666;
    position:relative;
}

.ptf-filter-btn.active{
    color:#8b1f1f;
}

.ptf-filter-btn.active::after{
    content:'';
    width:20px;
    height:2px;
    background:#8b1f1f;
    position:absolute;
    bottom:-10px;
    left:50%;
    transform:translateX(-50%);
}

.ptf-card{
    text-align:center;
}

.ptf-card img{
    width:100%;
    height:280px;
    object-fit:cover;
    transition:.4s;
}

.ptf-card:hover img{
    transform:scale(1.03);
}

.ptf-card h5{
    margin-top:15px;
    font-family:'Cormorant Garamond',serif;
    font-size:22px;
}

.ptf-card span{
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:2px;
    color:#666;
}

.ptf-hidden{
    display:none !important;
}

.ptf-btn{
    display:inline-block;
    padding:14px 40px;
    border:1px solid #b98c8c;
    color:#8b1f1f;
    text-decoration:none;
    text-transform:uppercase;
    font-size:12px;
    letter-spacing:2px;
}

.ptf-btn:hover{
    background:#8b1f1f;
    color:#fff;
}

/* Mobile */

@media(max-width:767px){

    .ptf-title{
        font-size:45px;
    }

    .ptf-signature{
        display:none;
    }

}

/* Tablet */

@media(min-width:768px) and (max-width:991px){

    .ptf-title{
        font-size:55px;
    }

}

/* Desktop */

@media(min-width:992px){

    .ptf-title{
        font-size:72px;
    }

}

/* ===========================
   EXPERIENCE BANNER
=========================== */

.exp-banner-section {
    background-image: url(../img/exp-bg.png);
    padding-top: 30px;
    background-position: right;
}

.exp-banner{
    border-bottom:1px solid #ddd5cd;
}

.exp-subtitle{
    display:block;
    font-size:13px;
    font-weight:600;
    color:#8c2323;
    letter-spacing:3px;
    margin-bottom:18px;
}

.exp-title{
    font-family:'Cormorant Garamond', serif;
    font-size:72px;
    line-height:1;
    color:#111;
    margin-bottom:25px;
}

.exp-description{
    max-width:520px;
    color:#555;
    font-size:15px;
    line-height:1.8;
}

.exp-banner-image{
    text-align:right;
}

.exp-banner-image img{
    width:100%;
    max-width:420px;
}

/* ===========================
   MAIN SECTION
=========================== */

.exp-main-section{
    background:#f7f4ef;
    padding:40px 0 80px;
}

.exp-col{
    padding:0 30px;
}

.exp-middle-col{
    border-left:1px solid #ddd5cd;
    border-right:1px solid #ddd5cd;
}

.exp-section-heading{
    position:relative;
    font-size:14px;
    font-weight:600;
    color:#8c2323;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:15px;
    padding-bottom:12px;
}

.exp-section-heading::before{
    content:'';
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:1px;
    background:#d8cfc6;
}

.exp-section-heading::after{
    content:'';
    position:absolute;
    right:0;
    bottom:-3px;
    width:7px;
    height:7px;
    background:#8c2323;
    border-radius:50%;
}

.exp-card{
    display:flex;
    gap:18px;
}

.exp-icon-circle{
    width:58px;
    height:58px;
    min-width:58px;
    border-radius:50%;
    background:#f3eee8;
    display:flex;
    align-items:center;
    justify-content:center;
}

.exp-icon-circle img{
    width:24px;
}

.exp-card-content h4{
    font-size:20px;
    margin-bottom:8px;
    color:#222;
}

.exp-card-content span{
    display:block;
    color:#8c2323;
    font-size:13px;
    margin-bottom:10px;
}

.exp-card-content ul{
    margin:0;
    padding-left:18px;
}

.exp-card-content li{
    font-size:16px;
    color:#444;
    line-height:1.7;
    margin-bottom:6px;
}

.exp-divider{
    height:1px;
    background:#e2dbd3;
    margin:28px 0;
}

/* ===========================
   RESPONSIVE
=========================== */

@media(max-width:1199px){

    .exp-middle-col{
        border:none;
    }

    .exp-col{
        margin-bottom:60px;
    }

}

@media(max-width:991px){

    .exp-title{
        font-size:56px;
    }

    .exp-banner-image{
        text-align:center;
        margin-top:40px;
    }

}

@media(max-width:767px){

    .exp-title{
        font-size:42px;
    }

    .exp-card{
        flex-direction:column;
    }

}

/* ===========================
   SERVICES SECTION
=========================== */

.srv-section{
    padding:100px 0;
    background:#f7f4ef;
}

.srv-card{
    background:#fff;
    border:1px solid #e8dfd5;
    height:100%;
    text-align:center;
    transition:.3s;
    overflow:hidden;
}

.srv-card:hover{
    transform:translateY(-5px);
}

.srv-icon{
    padding-top:35px;
    margin-bottom:15px;
}

.srv-icon i{
    font-size:28px;
    color:#8f2323;
}

.srv-title{
    font-size:22px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:1px;
    margin-bottom:15px;
}

.srv-line{
    width:40px;
    height:2px;
    background:#8f2323;
    margin:0 auto 20px;
}

.srv-text{
    max-width:260px;
    margin:0 auto 25px;
    font-size:15px;
    line-height:1.8;
    color:#555;
    min-height:110px;
    padding:0 15px;
}

.srv-image{
    margin-top:auto;
}

.srv-image img{
    width:100%;
    height:220px;
    object-fit:cover;
    display:block;
}

/* ===========================
   RESPONSIVE
=========================== */

/* Desktop = 4 */
@media(min-width:992px){

    .srv-title{
        font-size:20px;
    }

}

/* Tablet = 2 */
@media(min-width:768px) and (max-width:991px){

    .srv-section{
        padding:80px 0;
    }

}

/* Mobile = 1 */
@media(max-width:767px){

    .srv-section{
        padding:60px 0;
    }

    .srv-title{
        font-size:20px;
    }

    .srv-image img{
        height:260px;
    }

}


/* ===========================
   CONTACT SECTION
=========================== */

.cnt-section{
    padding:120px 0;
    background:#f7f4ef;
}

.cnt-subtitle{
    display:inline-block;
    font-size:13px;
    font-weight:600;
    letter-spacing:3px;
    color:#8f2323;
    text-transform:uppercase;
    margin-bottom:25px;
    position:relative;
}

.cnt-subtitle::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-12px;
    width:25px;
    height:2px;
    background:#8f2323;
}

.cnt-title{
    font-family:'Cormorant Garamond',serif;
    font-size:72px;
    line-height:1;
    margin-bottom:25px;
    color:#111;
}

.cnt-description{
    max-width:320px;
    color:#555;
    line-height:1.9;
    margin-bottom:40px;
}

.cnt-divider{
    width:30px;
    height:2px;
    background:#8f2323;
    margin-bottom:35px;
}

/* INFO ITEMS */

.cnt-info-item{
    display:flex;
    align-items:center;
    gap:20px;
    padding:25px 0;
    border-bottom:1px solid #e3ddd6;
}

.cnt-icon{
    width:52px;
    height:52px;
    border-radius:50%;
    background:#f0ebe6;
    display:flex;
    align-items:center;
    justify-content:center;
}

.cnt-icon i{
    color:#8f2323;
    font-size:20px;
}

.cnt-info span{
    display:block;
    font-size:12px;
    font-weight:700;
    letter-spacing:2px;
    color:#8f2323;
    margin-bottom:6px;
}

.cnt-info p{
    margin:0;
    color:#222;
}

/* FORM BOX */

.cnt-form-wrapper{
    background:#fbfaf8;
    border:1px solid #e6ddd3;
    padding:45px;
}

.cnt-form-title{
    font-family:'Cormorant Garamond',serif;
    font-size:48px;
    margin-bottom:15px;
    color:#111;
}

.cnt-title-line{
    width:35px;
    height:2px;
    background:#8f2323;
    margin-bottom:30px;
}

.cnt-input{
    height:55px;
    border:1px solid #e3ddd6;
    border-radius:0;
    background:#fff;
}

.cnt-input:focus{
    box-shadow:none;
    border-color:#8f2323;
}

.cnt-textarea{
    height:180px;
    resize:none;
    border-radius:0;
    border:1px solid #e3ddd6;
}

.cnt-textarea:focus{
    box-shadow:none;
    border-color:#8f2323;
}

.cnt-submit-btn{
    width:100%;
    height:55px;
    border:none;
    border-radius:0;
    background:linear-gradient(
        90deg,
        #8f1313,
        #a01616
    );
    color:#fff;
    font-size:12px;
    letter-spacing:2px;
    font-weight:600;
}

.cnt-submit-btn:hover{
    color:#fff;
}

.cnt-security{
    margin-top:20px;
    text-align:center;
    font-size:14px;
    color:#555;
}

.cnt-security i{
    margin-right:8px;
}

/* ===========================
   RESPONSIVE
=========================== */

@media(max-width:991px){

    .cnt-section{
        padding:80px 0;
    }

    .cnt-title{
        font-size:56px;
    }

    .cnt-left{
        margin-bottom:20px;
    }

}

@media(max-width:767px){

    .cnt-title{
        font-size:42px;
    }

    .cnt-form-wrapper{
        padding:25px;
    }

    .cnt-form-title{
        font-size:36px;
    }

}

@media(max-width:575px){

    .cnt-info-item{
        gap:15px;
    }

    .cnt-icon{
        width:45px;
        height:45px;
    }

}




















/* Mobile */
@media (min-width:0px) and (max-width:575.98px) {
    .hero h1 {
        font-size: 60px;
    }

    .fs-5 {
        font-size: 1rem !important;
    }

    .btn-outline-custom {
        margin: 0 !important;
        margin-top: 10px !important;
        margin-bottom: 30px !important;
    }

    .quote p{
        font-size: 26px;
    }
}

/* Large Mobile */
@media (min-width:576px) and (max-width:767.98px) {

}

/* Tablet */
@media (min-width:768px) and (max-width:991.98px) {}

/* Laptop */
@media (min-width:992px) and (max-width:1199.98px) {
    .hero h1{
        font-size: 80px;
    }
}

/* Desktop */
@media (min-width:1200px) and (max-width:1399.98px) {}

/* Large Desktop */
@media (min-width:1400px) and (max-width:1599.98px) {}

/* Ultra Wide */
@media (min-width:1600px) {}