:root{
  --bg:#faf8f6;
  --text:#5d80b1;
  --accent:#275492;
  --soft:white;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.7}

/* ---------- Header ---------- */
header{
  position:sticky;top:0;z-index:1000;
  background:rgba(250,248,246,.95);
  backdrop-filter:blur(12px);
  border-bottom:1px solid #e9dfda;
}
.navbar{
  max-width:1200px;margin:auto;padding:18px 20px;
  display:flex;justify-content:space-between;align-items:center;
}
.logo-link{text-decoration:none;color:inherit}
.logo h1{font-family:Georgia,serif;font-size:1.5rem;color:var(--accent)}
.logo p{font-size:.85rem;color:#666}

.nav-links{
  display:flex;gap:24px;align-items:center;
}
.nav-links > a{
  text-decoration:none;color:var(--text);
  position:relative;transition:.3s;
}
.nav-links > a:after{
  content:"";position:absolute;left:0;bottom:-5px;height:2px;width:0;
  background:var(--accent);transition:.3s;
}
.nav-links > a:hover:after{width:100%}

.btn{
  border:2px solid var(--text);
  background:white;color:var(--text);text-decoration:none;
  padding:12px 22px;border-radius:999px;
  transition:transform .3s,background-color .3s,color .3s;
  display:inline-block;
}
.btn:hover{
  background-color:var(--text);
  color:white;
}

/* ---------- Desktop dropdown ---------- */
.dropdown{position:relative;display:inline-block}
.dropbtn{
  background:none;border:none;font-size:16px;font-family:inherit;
  color:var(--text);cursor:pointer;
  display:flex;align-items:center;gap:6px;padding:0;
  transition:color .3s;
}
.dropbtn:hover{color:var(--accent)}
.arrow{transition:transform .3s ease}
.dropdown:hover .arrow{transform:rotate(180deg)}

.dropdown-content{
  position:absolute;top:45px;left:0;min-width:260px;
  background:white;border-radius:18px;overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
  opacity:0;visibility:hidden;transform:translateY(15px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s;
  z-index:1001;
}
.dropdown:hover .dropdown-content{
  opacity:1;visibility:visible;transform:translateY(0);
}
.dropdown-content a{
  display:block;padding:14px 20px;text-decoration:none;
  color:var(--text);transition:all .3s;
}
.dropdown-content a:hover{
  background:var(--bg);
  color:var(--accent);
  padding-left:28px;
}

/* ---------- Hamburger / mobile menu ---------- */
.hamburger{
  display:none;cursor:pointer;font-size:2rem;color:var(--accent);
}
.mobile-menu{
  display:none;flex-direction:column;
  background:white;border-top:1px solid #eee;
  animation:slide .3s ease;
}
.mobile-menu.show{display:flex}
.mobile-menu > a{
  padding:16px 20px;text-decoration:none;color:var(--text);
  border-bottom:1px solid #f0f0f0;
}
.mobile-menu .btn{
  margin:16px 20px;width:calc(100% - 40px);text-align:center;
}
@keyframes slide{
  from{opacity:0;transform:translateY(-10px)}
  to{opacity:1;transform:translateY(0)}
}

.mobile-dropdown{border-bottom:1px solid #f0f0f0}
.mobile-dropbtn{
  width:100%;background:none;border:none;text-align:left;
  padding:16px 20px;font-size:16px;cursor:pointer;
  color:var(--text);display:flex;justify-content:space-between;align-items:center;
}
.mobile-dropbtn:hover{color:var(--accent)}
.mobile-dropdown-content{display:none;padding-left:20px}
.mobile-dropdown.active .mobile-dropdown-content{display:block}
.mobile-dropdown-content a{
  padding:14px 20px;text-decoration:none;color:var(--text);
  display:block;border-bottom:1px solid #f5f5f5;
}
.mobile-dropdown-content a:hover{color:var(--accent)}

/* ---------- Hero ---------- */
.hero{
  min-height:60vh;
  background-image:linear-gradient(rgba(93,128,177,.35),rgba(93,128,177,.35)),
  url('https://lirp.cdn-website.com/64e04ceb/dms3rep/multi/opt/hero-image-beth-1920w.jpg');
  background-repeat:no-repeat;
  background-size:cover;
  background-position:right top;
  display:flex;align-items:center;padding:6%;
  color:var(--accent);
}
.hero h2{font-family:Georgia,serif;font-size:4rem}
.hero p{max-width:650px;margin:20px 0}

.mobile-only{display:none}
.mobile-only h2{font-family:Georgia,serif;font-size:2rem}
.mobile-only p{max-width:650px;margin:20px 0}

@media screen and (max-width:1200px){
  .mobile-hide{display:none}
  .mobile-only{display:block;padding:20px 6%}
  .hero{
    min-height:45vh;
    background-position:center right;
  }
}

/* ---------- Layout / sections ---------- */
section{padding:40px 6%}
.grid{display:grid;gap:25px}
.cards{grid-template-columns:repeat(auto-fit,minmax(330px,2fr))}
.card{
  background:#fff;padding:28px;border-radius:20px;
  box-shadow:0 10px 25px rgba(0,0,0,.06);
  transition:.3s;
}
.card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 35px rgba(0,0,0,.1);
}
.card h2,.card h3{color:var(--accent)}
.card-image{
  width:100%;height:200px;
  object-fit:cover;
  object-position:center;
  border-radius:12px;
}
.two-col{
  display:grid;grid-template-columns:1fr 1fr;
  gap:50px;align-items:center;
}
.two-col-img{
  width:100%;
  height:auto;
  display:block;
  border-radius:20px;
}

/* ---------- Footer ---------- */
footer{
  background:var(--accent);
  color:white;
  padding:70px 6% 30px;
}
.footer-container{
  max-width:1200px;margin:auto;
  display:grid;grid-template-columns:1.2fr 1fr 1.2fr;
  gap:60px;
}
.footer-column h3{
  font-size:22px;margin-bottom:25px;
  font-family:Georgia,serif;
}
.footer-column p{color:#d8d8d8;margin-bottom:18px;line-height:1.8}
.footer-column a{color:#d8d8d8;text-decoration:none;transition:.3s}
.footer-column a:hover{color:white}

.social-icons{display:flex;gap:15px;align-items:center;flex-wrap:wrap}
.social-btn{
  width:48px;height:48px;
  display:flex;justify-content:center;align-items:center;
  border-radius:50%;text-decoration:none;
  font-size:20px;color:white;
  transition:all .35s ease;
  box-shadow:0 8px 20px rgba(0,0,0,.15);
}
.facebook{background:#1877F2}
.instagram{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF,#515BD4)}
.x{background:#000}
.social-btn:hover{box-shadow:0 14px 30px rgba(0,0,0,.25);transform:translateY(-3px)}
.social-btn:active{transform:scale(.95)}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.15);
  margin-top:50px;padding-top:25px;
  text-align:center;color:#b5b5b5;font-size:14px;
}

/* ---------- Mobile breakpoint (1200px = default mobile cutoff site-wide) ---------- */
@media(max-width:1200px){
  .nav-links{display:none}
  .hamburger{display:block}
  .hero h2{font-size:2rem}
  .hero p{font-size:.9rem}
  .two-col{grid-template-columns:1fr}
  section{padding:20px 5%}
  .btn{display:inline-block;width:100%;text-align:center}

  .footer-container{
    grid-template-columns:1fr;
    gap:40px;text-align:center;
  }
  .social-icons{justify-content:center}
}

/* ---------- Blog ---------- */
.blog-intro{max-width:700px;margin-bottom:10px}
.blog-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.blog-card{
  padding:0;overflow:hidden;
  display:flex;flex-direction:column;
}
.blog-card-image{
  width:100%;height:210px;
  object-fit:cover;display:block;
}
.blog-card-body{padding:26px 28px 28px}
.blog-card-body h2{font-size:1.3rem;line-height:1.35;margin-bottom:8px}
.blog-card-body h2 a{color:var(--accent);text-decoration:none}
.blog-card-body h2 a:hover{text-decoration:underline}
.post-meta{font-size:.85rem;color:#8a8a8a;margin-bottom:14px}
.blog-card-body p{margin-bottom:20px}
.blog-empty{color:#8a8a8a}

.post{max-width:760px;margin:0 auto}
.post h1{font-family:Georgia,serif;color:var(--accent);font-size:2.4rem;margin-bottom:10px;line-height:1.2}
.post-image{width:100%;height:auto;border-radius:20px;margin:24px 0}
.post-body p{margin-bottom:20px}
.post .btn{margin-top:10px;display:inline-block;width:auto}

.share-buttons{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin:24px 0;
}
.share-label{font-weight:500;color:var(--accent)}
.share-btn{
  width:42px;height:42px;
  display:flex;justify-content:center;align-items:center;
  border-radius:50%;text-decoration:none;color:white;font-size:16px;
  transition:all .3s ease;
  box-shadow:0 6px 16px rgba(0,0,0,.12);
}
.share-btn.linkedin{background:#0A66C2}
.share-btn.facebook{background:#1877F2}
.share-btn.x{background:#000}
.share-btn.email{background:var(--accent)}
.share-btn:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(0,0,0,.2)}

.more-articles-section{max-width:1100px;margin:0 auto}
.more-articles-section h2{font-family:Georgia,serif;color:var(--accent);margin-bottom:20px}

@media(max-width:1200px){
  .post h1{font-size:1.8rem}
}

/* ---------- Forms ---------- */
.container{
  max-width:520px;
}
form label{
  display:block;font-weight:500;color:var(--accent);margin-bottom:4px;
}
textarea{font-family:inherit;font-size:inherit}
input[type=text],
input[type=email],
input[type=tel],
select,
textarea{
  width:100%;padding:12px;
  border:1px solid #ccc;border-radius:8px;
  box-sizing:border-box;
  margin-top:6px;margin-bottom:16px;
  resize:vertical;
  font-family:inherit;font-size:1rem;
  color:var(--accent);
}
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
textarea:focus{
  outline:none;border-color:var(--text);
}
input[type=submit]{
  border:2px solid var(--text);
  background:white;color:var(--text);
  padding:12px 22px;border-radius:999px;
  transition:transform .3s,background-color .3s,color .3s;
  font-size:1rem;
}
input[type=submit]:hover{
  background-color:var(--text);
  color:white;
  cursor:pointer;
}
.form-note{font-size:.85rem;color:#888;margin-top:-8px;margin-bottom:16px}

/* ---------- Scrolling image carousel ---------- */
.carousel-section{
  padding:0;
  overflow:hidden;
  background:var(--bg);
}
.carousel-track-wrapper{
  overflow:hidden;
  position:relative;
  /* Fade edges */
  -webkit-mask-image:linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
  mask-image:linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%);
}
.carousel-track{
  display:flex;
  gap:16px;
  padding:30px 0;
  width:max-content;
  animation:scroll-left 28s linear infinite;
}
.carousel-track:hover{
  animation-play-state:paused;
}
@keyframes scroll-left{
  0%   { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}
.carousel-slide{
  height:250px;
  border-radius:16px;
  flex-shrink:0;

  box-shadow:0 8px 22px rgba(0,0,0,.09);
}
/* Actual images: replace placeholder-slide with an <img> inside .carousel-slide */
.carousel-slide img{
  max-width:250px;
  height:100%;
  object-fit:contain;
  display:block;
	
}
/* Placeholder styling — remove once real photos are added */
.placeholder-slide{
  background:linear-gradient(135deg,#d4e0f0 0%,#b8cce8 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--accent);
  font-size:.9rem;
  font-weight:500;
  letter-spacing:.04em;
  opacity:.7;
}
@media(max-width:1200px){
  .carousel-slide{
    width:200px;
    height:150px;
  }
}

/* =====================================
   Forms Table
===================================== */

.forms-table-wrapper{
    width:100%;
    margin-top:40px;
}

.forms-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
}

.forms-table th,
.forms-table td{
    padding:18px 22px;
    text-align:left;
    border-bottom:1px solid #e7e7e7;
}

.forms-table th{
    font-weight:600;
}

.forms-table tbody tr:last-child td{
    border-bottom:none;
}

.forms-table tbody tr:hover{
    background:#fafafa;
}

/* =====================================
   Mobile
===================================== */

@media (max-width:768px){

.forms-table,
.forms-table thead,
.forms-table tbody,
.forms-table th,
.forms-table td,
.forms-table tr{
    display:block;
}

.forms-table thead{
    display:none;
}

.forms-table{
    background:transparent;
    box-shadow:none;
}



.forms-table th{
    text-align:center;
    font-weight:600;

}

.forms-table tr{
    background:#fff;
    border-radius:12px;
    margin-bottom:20px;
    box-shadow:0 6px 18px rgba(0,0,0,.08);
    overflow:hidden;
}

.forms-table td{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:8px;
    padding:18px 20px;
    border-bottom:1px solid #eee;
}

.forms-table td:last-child{
    border-bottom:none;
}

.forms-table td::before{
    content:attr(data-label);
    font-weight:600;
    color:#44645e;
    margin-bottom:4px;
    text-align:center;
}

}

.awards{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    align-items:center;
    justify-items:center;
    margin:50px 0;
}

.awards img{
    width:100%;
    max-width:350px;
    height:auto;
    display:block;
}

/* Tablet */

@media (max-width:900px){
    .awards{
        grid-template-columns:repeat(2,1fr);
    }
}

/* Mobile */

@media (max-width:600px){
    .awards{
        grid-template-columns:1fr;
    }
}

/* ==========================
   Quote Carousel
========================== */

.quote-carousel{
    position:relative;
    width:100%;
    max-width:1200px;
    height:10px;
    margin:70px auto;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:20px;
}


.quote-wrapper{
    position:relative;
    width:75%;
    height:300px;
}


.quote-slide{
    position:absolute;
    inset:0;
    opacity:0;
    visibility:hidden;
    transition:opacity .8s ease;
    text-align:center;
    display:flex;
    flex-direction:column;
    justify-content:center;
}


.quote-slide.active{
    opacity:1;
    visibility:visible;
}


.quote-slide p{
    font-size:clamp(1rem,2.5vw,1.5rem);
    line-height:1.4;
	margin-top:7px;
    margin-bottom:15px;
    color:black;
}


.quote-slide span{
    font-size:1rem;
    font-weight:500;
    color:var(--text);
}


/* Arrows */

.quote-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:42px;
    height:42px;
    border-radius:50%;
    border:2px solid var(--text);
    background:white;
    color:var(--text);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.3s;
}


.quote-arrow:hover{
    background:var(--text);
    color:white;
}


.quote-arrow.prev{
    left:25px;
}


.quote-arrow.next{
    right:25px;
}



/* Mobile */

@media(max-width:1200px){

.quote-carousel{
    width:100%;
    height:220px;
}

.quote-wrapper{
    width:95%;
}

.quote-slide p{
    font-size:1.2rem;
}

.quote-arrow{
    display:none;
}


}

/* ---------- Articles page ---------- */
.page-title{
  font-family:Georgia,serif;
  color:var(--accent);
  font-size:2.2rem;
  margin-bottom:36px;
}
 
.article-list{
  display:flex;
  flex-direction:column;
  gap:0;
}
 
.article-row{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:32px;
  align-items:start;
  padding:32px 0;
  border-bottom:1px solid #e8e4e0;
}
.article-row:last-child{border-bottom:none}
 
.article-img-link{
  display:block;
  flex-shrink:0;
}
.article-img-link img{
  width:200px;
  height:100%;
  object-fit:contain;
  object-position:top;
  display:block;
}
 
.article-title{
  display:block;
  font-size:1.05rem;
  font-weight:600;
  color:var(--accent);
  text-decoration:none;
  margin-bottom:4px;
  line-height:1.4;
  transition:color .2s;
}
.article-title:hover{color:var(--text);text-decoration:underline}
 
.article-source{
  font-size:.85rem;
  color:#888;
  margin-bottom:10px;
  font-style:italic;
}
 
.article-body p{
  font-size:.95rem;
  line-height:1.7;
  color:#444;
}
 
/* Stack image above text on mobile */
@media(max-width:1200px){
  .article-row{
    grid-template-columns:1fr;
    gap:14px;
    padding:24px 0;
  }
  .article-img-link img{
    width:100%;
    height:160px;
  }
}