/* Base styles */
#header{
    display: none;
}
/* Variables block */
:root{
    /* Layouts */
    --full-width: 1440px;
    --boxed-width: 1000px;

    /* Colors */
    --white: #ffffff;
    --black: #000000;
    --primary-green: #6A9576;
    --primary-teal: #4F797F;
    --primary-coral: #D17775;
    --default-text: #434343;
    --light: #f2f1e3;
    --light-shade-1: #eae4d9;
    --sec-green-shade-1: #8eb894;
    --sec-green-shade-2: #C0D5BC;
    --sec-teal-shade-1: #bd5858;

     
    /* Gradients */
    --bg-gradient1: linear-gradient(270deg, #FFF4C7 0%, #FFF8DC 50%, #FFF4C7 100%);

    /* Breakpoints */
    --mobile: 440px;
    --tablet: 1100px;

    --clip: polygon(8% 0%, 100% 0%, 92% 100%, 0% 100%);
}
html{
    overflow-x: hidden;
    scroll-behavior: smooth;
}

/* Ensure proper Japanese character rendering */
* {
    -webkit-font-feature-settings: "kern" 1;
    font-feature-settings: "kern" 1;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: "Noto Sans JP", sans-serif;
}

/* Mobile-specific font optimizations */
@media (max-width: 1100px) {
    * {
        font-display: swap;
    }
    
}
body {
 overflow-x: hidden;
}
body, main{
    width: 100%;
    height: fit-content;
    box-sizing: border-box;
    margin: 0px;
    padding: 0px;
    position: relative;
}
body.no-scroll{
    overflow: hidden;
}
header, footer, section.container{
    width: 100%;
    height: fit-content;
    margin: 0px auto;
    box-sizing: border-box
}
section .boxed-width, header .boxed-width{
    width: 100%;
    max-width: var(--full-width);
    height: fit-content;
    margin: 0px auto;
}
figcaption{
    display: none;
}

/* Utility clases  */
.scale{
    will-change: auto;
    transition: transform .3s ease-in-out 0s;
}
.scale:hover{
    transform: scale(1.025);
    transition: transform .3s ease-in-out 0s;
}

/* Viewport Paddings */
section.container, footer{
    padding-top: 80px;
    padding-bottom: 80px;
}
section {
    padding: 0px 45px;
    box-sizing: border-box;
    }
@media (max-width: 1024px){
    section{
    padding: 0px 30px;
    box-sizing: border-box;
    }
}
@media (max-width: 767px){
    section{
    padding: 0px 15px;
    box-sizing: border-box;
    }
}

/* <<<------------------------- Texts and font styles starts----------------------------->>>*/

h1,h2,h3,h4,h5,h6,span,p,a,li{
    color: var(--default-text)
}


h2{
    line-height: 100%;
    font-weight: 700;
    font-size: 25px;
    text-decoration: none;
    margin: 0px
}
h3{
    line-height: 100%;
    font-weight: 700;
    font-size: 20px;
    text-decoration: none;
    margin: 0px
}
span, .bold{
    line-height: 100%;
    font-weight: 500;
    font-size: 16px;
    text-decoration: none;
}
span, .base-text{
    line-height: 100%;
    font-weight: 400;
    font-size: 14px;
    text-decoration: none; 
}

@media (min-width: 1100px){
    h2{
    line-height: 100%;
    font-weight: 700;
    font-size: 40px;
    text-decoration: none;
    }
h3{
    line-height: 100%;
    font-weight: 700;
    font-size: 25px;
    text-decoration: none;
    }
span, .bold{
    line-height: 100%;
    font-weight: 500;
    font-size: 20px;
    text-decoration: none;
    }
span, .base-text{
    line-height: 100%;
    font-weight: 400;
    font-size: 16px;
    text-decoration: none; 
    }
}

ul, menu{
    list-style: none;
    margin: unset;
    padding: unset;
}
figure{
    margin: unset;
    display: flex;
    height: fit-content;
    width: fit-content;
}
li, a{
    text-decoration: none;
}

/* <<<------------------------- Texts and font styles stops ----------------------------->>>*/


/* Primary button styles here  */
button.primary-btn{
    width: 100%;
    height: 90px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    background-color: var(--primary-coral);
    border-radius: 10px;
    padding: 0px;
    border: 0px
}
button.primary-btn svg{
    width: 25px;
    height: 25px;
    fill: white
}
button.primary-btn a{
    font-weight: 700;
    font-size: 30px;
    color: var(--white)

}

@media(max-width: 1100px){
     .hero-cta{
        width: 100%;
        max-width: 350px !important;
    }
    button.primary-btn{
        height: 60px;
    }
    .hero-cta h3{
        font-size: 16px !important;
    }
    button.primary-btn a{
        font-size: 18px !important;
    }
    button.primary-btn svg{
        width: 12px;
        height: 12px;
    }
}
@media(max-width: 340px){
     button.primary-btn a{
        font-size: 14px;
    }

}