/* ==========================================================
   Nine3 Designs
   Base Styles
========================================================== */

html{

    scroll-behavior:smooth;

}

*,
*::before,
*::after{

    box-sizing:border-box;

}

body{

    margin:0;

    font-family: "Raleway", sans-serif;

    font-size:var(--font-size-md);

    line-height:1.7;

    background:var(--primary);

    color:var(--white);

    overflow-x:hidden;

    -webkit-font-smoothing:antialiased;

    text-rendering:optimizeLegibility;

}

img{

    display:block;

    max-width:100%;

    height:auto;

}

a{

    color:inherit;

    text-decoration:none;

    transition:var(--transition);

}

ul{

    margin:0;

    padding:0;

    list-style:none;

}

section{

    padding:var(--space-xl) 0;

}

.container{

    width:min(92%,var(--container));

    margin:auto;

}
/* ==========================================================
   TYPOGRAPHY
========================================================== */

h1,
h2,
h3,
h4,
h5,
h6 {

    font-family: var(--font-main);

    font-weight: 500;

    margin: 0 0 1rem;

    line-height: 1.12;

    color: var(--white);

}


/* Main page heading */

h1 {

    font-size: clamp(
        2.2rem,
        4.5vw,
        4rem
    );

}


/* Section headings */

h2 {

    font-size: clamp(
        1.8rem,
        3.2vw,
        2.7rem
    );

}


/* Smaller headings */

h3 {

    font-size: 1.35rem;

}


/* Supporting headings */

h4 {

    font-size: 1rem;

}

.section-title{

    max-width:700px;

    margin:0 auto 4rem;

    text-align:center;

}

.section-title span{

    display:inline-block;

    margin-bottom:1rem;

    color:var(--accent);

    font-weight:600;

    text-transform:uppercase;

    letter-spacing:2px;

    font-size:.9rem;

}

.section-label{

    display:inline-block;

    margin-bottom:1rem;

    color:var(--accent);

    text-transform:uppercase;

    letter-spacing:2px;

    font-weight:600;

}

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 34px;

    border-radius:999px;

    font-weight:600;

    transition:var(--transition);

    cursor:pointer;

}

.btn-primary{

    background:var(--accent);

    color:var(--dark);

}

.btn-primary:hover{

    transform:translateY(-3px);

    box-shadow:var(--shadow-md);

}

.btn-secondary{

    border:2px solid rgba(255,255,255,.35);

    color:var(--white);

    background:transparent;

}

.btn-secondary:hover{

    background:rgba(255,255,255,.08);

}


section:nth-of-type(even){

    background:#fef9f3;

}

section:nth-of-type(even) h2,
section:nth-of-type(even) h3,
section:nth-of-type(even) h4{

    color:var(--dark);

}

section:nth-of-type(even) p{

    color:#555;

}

section:nth-of-type(even) .section-title span,
section:nth-of-type(even) .section-label{

    color:var(--primary);

}
/* ==========================================
   JavaScript Helper Classes
========================================== */

.hidden{

    opacity:0;

    transform:translateY(40px);

}

.show{

    opacity:1;

    transform:translateY(0);

    transition:all .8s ease;

}

.main-nav a.active{

    color:#C8A96A;

}

.back-to-top{

    position:fixed;

    right:25px;

    bottom:25px;

    width:52px;

    height:52px;

    border:none;

    border-radius:50%;

    background:#C8A96A;

    color:#404b3b;

    font-size:1.4rem;

    font-weight:bold;

    cursor:pointer;

    opacity:0;

    visibility:hidden;

    transform:translateY(20px);

    transition:.35s;

    z-index:999;

    box-shadow:0 10px 25px rgba(0,0,0,.2);

}

.back-to-top.visible{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.back-to-top:hover{

    transform:translateY(-5px);

}
/* ==========================================
   Footer
========================================== */
/*==================================================
ABOUT PAGE
==================================================*/

/* Hero */

.page-hero{

    background:var(--primary);

    color:#404b3b;

    padding:70px 0 80px;

    text-align:center;

}

.page-hero h1{

    font-size:clamp(3rem,6vw,5rem);

    margin:20px 0;

    line-height:1.05;

}

.page-hero p{

    max-width:700px;

    margin:0 auto;

    color:rgba(254,249,243,.85);

    font-size:1.15rem;

    line-height:1.8;

}

/* Story */

.about-story{

    background:#404b3b;

    padding:100px 0;

}

.about-story .about-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

    color:#FEF9F3;
}

.about-story img{

    width:100%;

    border-radius:24px;

    box-shadow:0 30px 60px #404b3b;

}

.about-story h2{

    color:#404b3b;
    margin-bottom:25px;

}

.about-story{

    background:#404b3b;

    padding:100px 0;

}

.about-story h2{

    color:#404b3b;

}

.about-story p{

    color:#404b3b;

    margin-bottom:20px;

}

/* Why Choose Us */

.why-us{

    background:#404b3b;

    padding:50px 0;

}

.why-us .service-card{

    background:#FEF9F3;

    border:none;

    box-shadow:0 15px 40px rgba(0,0,0,.06);

}

.why-us .service-card:hover{

    transform:translateY(-8px);

}

.why-us h3{

    color:#404b3b

}

/* Process */

.process{

    background:#404b3b;

    padding:50px 0;

}

.process .service-card{

    text-align:center;

    background:#FEF9F3;

    border:none;

}

.process h3{

    font-size:3rem;

    color:#404b3b;

    margin-bottom:10px;

}

.process h4{

    color:#404b3b;

    margin-bottom:10px;

}

.process p{

    color:#404b3b;

}

/* Responsive */

@media(max-width:900px){

.about-story .about-grid{

grid-template-columns:1fr;

text-align:center;

}

.about-story img{

max-width:500px;

margin:auto;

}

}

/*==================================================
SERVICES PAGE
==================================================*/

.service-section{


    padding:30px 0;

    background:#fef9f3;

}

.service-section.alt{

    background:#eef2ec;

}

.service-heading{

    text-align:center;

    max-width:760px;

    margin:0 auto 20px;

}

.service-heading span{

    display:inline-block;

    color:404b3b(--accent);

    text-transform:uppercase;

    letter-spacing:3px;

    font-size:.70rem;

    font-weight:700;

    margin-bottom:10px;

}

.service-heading h2{

    color:var(--primary);

    margin-bottom:10px;

    font-size:clamp(2.0rem,4vw,3.3rem);

}

.service-heading p{

    font-size:0.9rem;

    color:#666;

    line-height:1.8;

}

/*=============================
Pricing Cards
==============================*/

.pricing-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

    margin-top:60px;

}

.pricing-card{

    background:#FEF9F3;

    border-radius:26px;

    padding:45px;

    box-shadow:0 20px 45px rgba(0,0,0,.06);

    transition:.35s ease;

    position:relative;

    overflow:hidden;

    display:flex;

    flex-direction:column;

}

.pricing-card:hover{

    transform:translateY(-10px);

    box-shadow:0 30px 70px rgba(0,0,0,.12);

}

.pricing-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:6px;

    background:var(--accent);

    transform:scaleX(0);

    transition:.35s;

}

.pricing-card:hover::before{

    transform:scaleX(1);

}

.pricing-card h3{

    color:var(--primary);

    font-size:2rem;

    margin-bottom:20px;

}

.pricing-card p{

    color:#555;

    line-height:1.8;

    margin-bottom:35px;

}

/*=============================
Price
==============================*/

.price{

    font-size:3rem;

    font-weight:800;

    color:var(--primary);

    margin-bottom:8px;

}

.price span{

    display:block;

    font-size:.95rem;

    color:#777;

    font-weight:500;

    margin-top:8px;

}

/*=============================
Included
==============================*/

.pricing-card h4{

    margin:35px 0 18px;

    color:var(--primary);

}

.pricing-card ul{

    list-style:none;

    padding:0;

    margin:0 0 40px;

}

.pricing-card li{

    margin-bottom:14px;

    color:#555;

    padding-left:28px;

    position:relative;

}

.pricing-card li::before{

    content:"✓";

    position:absolute;

    left:0;

    color:var(--accent);

    font-weight:700;

}

/*=============================
Buttons
==============================*/

.pricing-card .btn{

    margin-top:auto;

    width:100%;

}

/*=============================
Featured Card
==============================*/

.featured{

    border:2px solid var(--accent);

    transform:scale(1.04);

}

.featured::after{

    content:"MOST POPULAR";

    position:absolute;

    top:20px;

    right:-45px;

    background:var(--accent);

    color:var(--primary);

    font-size:.7rem;

    font-weight:700;

    padding:8px 50px;

    transform:rotate(45deg);

    letter-spacing:1px;

}

.featured:hover{

    transform:translateY(-10px) scale(1.04);

}

/*=============================
Responsive
==============================*/

@media(max-width:1100px){

.pricing-grid{

grid-template-columns:1fr;

max-width:650px;

margin:auto;

}

.featured{

transform:none;

}

.featured:hover{

transform:translateY(-10px);

}

}

@media(max-width:768px){

.service-section{

padding:80px 0;

}

.pricing-card{

padding:35px;

}

.price{

font-size:2.5rem;

}

}
.signature span{

    display:block;

    margin-top:1px;

    font-family:'Allura', cursive !important;

    font-size:2.5rem;

    line-height:1;

    color:var(--accent);

    font-weight:400;

}
