
@font-face {/* sets up font to be used*/
  font-family: 'Fields';
  src: url('../content/Fields-SemiBold.otf') format('opentype');
  font-weight: 600; /* semibold */
  font-style: normal;
}

@font-face {
  font-family: 'Comfortaa';
  src: url('../content/Comfortaa-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Lora';
  src: url('../content/Lora-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Nunito-Sans';
  src: url('../content/NunitoSans.ttf') format('truetype');
  font-weight: 700;
  font-style: bold;
}


:root {
      --cream: #F7F1E4;
      --linen: #F7F1E4;
      --blush: #f4C5B4;
      --terracotta: #C6803D;
      --clay: #C6803D;
      --sage: #BAAF69;
      --olive: #68672B;
      --charcoal: #2E2A26;
      --text-soft: #5A504A;
      --text-muted: #8A7E78;
      --blue: #5985C4;
      --sky: #98B6DC;
    }

body {  /* main page setup */
      color: #fff;/*white*/
      padding: 2px;
      background: var(--linen);
      background-repeat: no-repeat;
      background-attachment: fixed;
    }

/* Hero Section */

.hero-banner{
  display: flex; 
  width: 100%;
height: 450px;
overflow: hidden;
margin-bottom: 2rem;
border-radius: 18px;    /* adjust to taste (16–24px works well) */
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  border: 1px solid rgba(255,255,255,0.08);
}
/*hero banner confirguration*/
.video-container {
position: relative;
flex: 1;
height: 100%;
background-color: transparent;
}

.hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* sections divider configuration*/

#services {
  width: 95%;
  height: auto;
  background: var(--blush);      /* blush */
  border-radius: 18px;      /* rounded corners */
  padding: 2rem;            /* space inside */
  margin: 2rem 0;           /* space outside */
  overflow: hidden;         /* keeps content from spilling past the curve */
}
#aboutme {
  width: 95%;
  height: auto;
  background: var(--blue);      /* blue */
  border-radius: 18px;      /* rounded corners */
  padding: 2rem;            /* space inside */
  margin: 2rem 0;           /* space outside */
  overflow: hidden;         /* keeps content from spilling past the curve */
}
#people {
  width: 95%;
  height: auto;
  background: var(--sage);      /* Sage */
  border-radius: 18px;      /* rounded corners */
  padding: 2rem;            /* space inside */
  margin: 2rem 0;           /* space outside */
  overflow: hidden;         /* keeps content from spilling past the curve */
}

#contactme {
  width: 95%;
  height: auto;
  background-image: url("/contact/Linen.jpg");  /* your image here */
  background-size: cover;        /* fills the box */
  background-position: center;   /* centers the image */
  background-repeat: no-repeat;  /* prevents tiling */
  border-radius: 18px;      /* rounded corners */
  padding: 2rem;            /* space inside */
  margin: 2rem 0;           /* space outside */
  position: relative; /* required for the shadow */
}


#contactme::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--sky); /* or your exact sky hex */
  z-index: -1;
  filter: blur(28px); /* soft glow */
  opacity: 0.55;      /* adjust intensity */
  border-radius: 22px; /* slightly larger than the image */
}

/* services list configuration*/
.colored-bullets {
    list-style: none;
    padding-left: 1.4em;   /* gives room for the square */
}

.colored-bullets li {
    position: relative;
    margin-bottom: 6px;
    line-height: 1.4;      /* stabilizes vertical alignment */
}

.colored-bullets li::before {
    content: "■";
    color: #BAAF69;
    font-size: 16px;       
    position: absolute;
    left: -1.2em;
    top: 0;           /* aligns square with text baseline */
}



/* Intro Text */

.intro-text {
    font-family:'Nunito-Sans';
position: absolute;
  bottom: 0;               /* distance from bottom edge */
  left: 50%;
  transform: translateX(-50%);/* center horizontally */
  color: white;
  text-align: center;
  z-index: 2;
  padding: 10px;
  background: rgba(89, 133, 196, 0.5); 
  border-radius: 10px;
  font-size: 1.1rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

.lead {
    font-family:'Lora';
  font-size: 18px;
  line-height: 1.6;
}

.talk-text {
  padding: 2rem 1rem;
  text-align: center;
  background-color:transparent;
  color: var(--olive);
  font-family: 'Fields', sans-serif; 
  font-weight: 600;
}

.talk-text .lead {
font-family:'Lora';
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 1rem;
}

.talk-text .supporting-line {
  font-size: 1rem;
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.6);
}
/* title formating */
.contacttitle{
    font-family: 'Comfortaa', sans-serif;
      font-size: 28px;
      font-weight: 500;
      letter-spacing: 3px;
      color: var(--clay);
}
.poptitle {
      font-family: 'Comfortaa';
      font-size: 28px;
      font-weight: 500;
      letter-spacing: 3px;
      color: var(--linen);
}
.servicestitle {
      font-family: 'Comfortaa';
      font-size: 28px;
      font-weight: 500;
      letter-spacing: 3px;
      color: var(--linen);
}
.approachtitle {
      font-family: 'Comfortaa';
      font-size: 28px;
      font-weight: 500;
      letter-spacing: 3px;
      color: var(--linen);
}


/* various card container configuration*/
.card-container { 
display: flex; 
flex-direction: row;
gap: 10px; 
justify-content: flex-start;
flex-wrap: wrap;
width: 100%;
max-width: 100%;
margin: 0 auto;
} 

.card { 
flex: 1; /* makes all cards equal width */ 
background: #f7f7f7; 
border-radius: 8px; 
overflow: hidden; 
box-shadow: 0 2px 6px rgba(0,0,0,0.1); 
display: flex; 
flex-direction: column; 
}

.card-call { 
flex: 1; /* makes all cards equal width */ 
background: #f7f7f7; 
border-radius: 8px; 
overflow: hidden; 
box-shadow: 0 2px 6px rgba(0,0,0,0.1); 
display: flex; 
flex-direction: column; 
}

.card-image {
  width: 100%;
  hieght: auto;
  background-color: #f2f2f2;
  border-radius: 12px;
  overflow: hidden;
}
.card img { 
width: 100%; 
height: 200px; 
object-fit: cover; 
} 
.card-image img { 
width: 100%; 
height: 200px; 
object-fit: contain; 
} 
.card-content h3 {
  margin: 0;
  color: var(--blue);  /*blue*/
  font-family: 'Nunito-Sans';
      font-size: 18px;
      font-weight: 800;
      letter-spacing: 1px;
      text-transform: uppercase;
}
.card-content h4 {
      margin: 0;     
    padding: 0;
    color: var(--charcoal);  
    font-family: 'Nunito-Sans';
      font-size: 16px;
      font-weight: 800;
      letter-spacing: 1px;
}
.card-content {
padding: 20px;
}
 

.card-text {
  flex: 1;                  /* allow text to expand */
  color: var(--blue);
  margin-bottom: 20px;
   font-family: 'Lora';
      font-size: 16px;
      font-weight: 400;
      letter-spacing: 1px;
}


.card-content-call h3 {
  margin: 0;
  color: var(--blue); 
  padding: 0px 40px;
  text-align:center;
  font-family: 'Nunito-Sans';
      font-size: 18px;
      font-weight: 800;
      letter-spacing: 1px;
      text-transform: uppercase;
}

.card-content-call h4 {
    margin: 0;        /* removes all default spacing */
    padding: 20px 20px;
    color: var(--blue);   /* pick any color you want */
    text-align:center;
    font-family: 'Lora';
      font-size: 16px;
      font-weight: 400;
      letter-spacing: 1px;
}
.card-text-call {
    display: block;
    color: var(--blue);            /* ensure text is visible */
    line-height: 1.5;
    position: relative;
    z-index: 1;
    font-family: 'Lora';
      font-size: 16px;
      font-weight: 400;
      letter-spacing: 1px;
}

.card-content-call {
    display: flex;
    flex-direction: column; /* stack title, text, oval */
    gap: 20px;              /* spacing between elements */
    align-items: center;   /* THIS allows the oval to center */
}


.button-container {
  display: flex;
  justify-content: center;  /* center button horizontally */
 margin-top: auto;/* ensures buttons align at bottom*/
}


/* card for calling details*/
.phone-oval {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: #BAAF69;
    padding: 10px 20px;
    border-radius: 50px;
    font-family: 'Fields', sans-serif;
    font-size: 18px;
    color: #333;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    width: fit-content;     /* keeps it small */
    margin: 10px auto 0;    /* centers it + adds space above */
}
.phone-icon {
    font-size: 22px;
}

.phone-number {
    font-weight: 600;
}


.learn-more { /* learn more buttons config*/
  display: inline-block;
  text-decoration: none;
  padding: 10px 20px;
  border-radius: 6px;
  border: 1.5px solid black;
  background-color: var(--sky);
  color: black;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.2s;
  font-family: 'Fields', sans-serif; 
  font-weight: 600;
  margin:10px;
  margin-top: auto;/* ensures buttons align at bottom*/
}

.learn-more:hover {
  background-color: #5985C4;
}

.schedule-appointment {
    /* button config*/
  display: inline-block;
  padding: 10px 18px;
  background-color: #9bb6dc;       /* your primary color */

  font-size: 16px;
  text-decoration: none;            /* removes underline */
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s ease;
  font-family: 'Fields', sans-serif; 
  font-weight: 600;
  margin:10px;
   margin-top: auto;
   /* for Ipad*/
   color: #000;                     /* black text */
    border: 1px solid #000;   
  appearance: none;
  -webkit-appearance: none;
}

.schedule-appointment:hover {
  background-color: #f7f1e4;        /* darker on hover */
}

 /* ── WHAT TO EXPECT ── */
  .section-label {
      font-family: 'Comfortaa', sans-serif;
      font-size: 28px;
      font-weight: 500;
      letter-spacing: 4px;
      color: var(--linen);
      margin-bottom: 20px;

    }

    h2.section-heading {
      font-family: 'Nunito-Sans', serif;
      font-size: 32px;
      font-weight: 300;
      line-height: 1.2;
      color: var(--charcoal);
      margin-bottom: 32px;
    }

    h2.section-heading em{
      font-style: italic;
      color: var(--clay);
    }

    .section-body {
      font-size: 16px;
      line-height: 1.85;
      color: var(--text-soft);
      font-weight: 300;
      margin-bottom: 20px;
    }
    
    .process-index {/* format for index page only*/
      padding: 60px 80px;
 
    }
    #Process {
      padding: 20px 20px;
      background: var(--clay);
      border-radius: 18px; 
 
    }
    .process-inner {
      max-width: 95%;
      padding: 20px;
      margin: auto;
      background:var(--linen);
      border-radius: 18px; 
    }

    .process-header {
      margin-bottom: 64px;
      text-align: left;
    }

    .steps {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 40px;
      position: relative;
    }

    .steps::before {
      content: '';
      position: absolute;
      top: 20px;
      left: 20px;
      right: 20px;
      height: 1px;
      background: linear-gradient(to right, var(--blush), var(--terracotta), var(--blush));
    }

    .step {
      text-align: center;
      position: relative;
    }

    .step-dot {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: var(--warm-white);
      border: 2px solid var(--blush);
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 24px;
      position: relative;
      z-index: 1;
      transition: border-color 0.3s ease, background 0.3s ease;
    }

    .step:hover .step-dot {
      border-color: var(--terracotta);
      background: var(--terracotta);
    }

    .step:hover .step-dot span { color: white; }

    .step-dot span {
      font-family: 'Lora', serif;
      font-size: 18px;
      font-weight: 500;
      color: var(--terracotta);
      transition: color 0.3s ease;
    }

    .step h4 {
      font-family: 'Nunito-Sans', serif;
      font-size: 24px;
      font-weight: 500;
      color: var(--charcoal);
      margin-bottom: 12px;
    }

    .step p {
      font-family:'Lora', serif;  
      font-size: 18px;
      line-height: 1.75;
      color: var(--text-muted);
      font-weight: 300;
    }


@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-20px); }
  to { opacity: 1; transform: translateY(0); }
}


/* Responsive */
@media (max-width: 768px) {
  .main-nav ul {
    flex-direction: column;
    gap: 1rem;
  }
}

  .hero {
    flex-direction: column;
  }

  .hero-video video,
  .portrait img {
    width: 100%;
    max-width: 90vw;
  }

