@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500&family=Inter:wght@300;400;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Philosopher:wght@400;700&display=swap');

body {
    font-family: "Philosopher", serif;
}
:root{
  --ink:            #0b0b0a;
  --ivory:          #f6f3ec;
  --gold:           #c9a463;
  --gold-dim:       rgba(201,164,99,0.45);
  --overlay-top:    rgba(6,6,5,0.55);
  --overlay-bottom: rgba(6,6,5,0.15);
  --line:           rgba(246,243,236,0.22);
  --line-soft:      rgba(246,243,236,0.12);

  
  --font-body:    'Inter',  sans-serif;

  --header-height: 92px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

*,*::before,*::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin: 0;
  font-family: var(--font-body);
  color: var(--ivory);
  -webkit-font-smoothing: antialiased;
}
img{ max-width: 100%; display: block; }
button{ font-family: inherit; cursor: pointer; background: none; border: none; color: inherit; }
a{ color: inherit; text-decoration: none; }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}


/*********************  HEADER & BANNER ************************/

/* HEADER */
.site-header{
  position: fixed; top:0; left:0; right:0; z-index:100;
  height: var(--header-height);
  display:flex; align-items:center;
  background: transparent;
  transition: background 0.5s var(--ease), height 0.4s var(--ease), backdrop-filter 0.5s var(--ease), border-color 0.5s var(--ease);
  border-bottom: 1px solid transparent;
}
.site-header.is-scrolled{
  height:96px;
  background: #FDFCFB;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line-soft);
}

.site-header.is-scrolled .site-header__link{
  color: #141414;
}

.site-header__inner{
  width:100%; max-width:1440px; margin:0 auto; padding:0 48px;
  display:flex; align-items:center; justify-content:space-between;
}
.site-header__logo {
    display: flex;
    align-items: center;
    margin-top: 8px;
}

.site-header__logo img {
    height: 72px;
    width: auto;
    display: block;
}

.site-header__list{ list-style:none; display:flex; align-items:center; gap:20px; margin:0; padding:0; }
.site-header__item{ position:relative; }
.site-header__link{
  display:inline-flex; align-items:center; gap:6px;
  font-family: var(--font-body); font-size:12px; font-weight:500;
  letter-spacing:0.14em; text-transform:uppercase; color: #fff;
  padding:6px 0; position:relative;
}
.site-header__link::after{
  content:''; position:absolute; left:0; bottom:-3px; width:0; height:1px;
  background: var(--gold); transition: width 0.35s var(--ease);
}
.site-header__link:hover::after, .site-header__item--dropdown:hover .site-header__link::after{ width:100%; }
.site-header__link--outline{
  border:1px solid var(--line); padding:9px 20px; border-radius:2px;
  transition: border-color 0.3s var(--ease), background 0.3s var(--ease);
}
.site-header__link--outline::after{ display:none; }
.site-header__link--outline:hover{ border-color: var(--gold); background: rgba(201,164,99,0.08); }
.site-header__chevron{ transition: transform 0.3s var(--ease); opacity:0.8; }
.site-header__item--dropdown:hover .site-header__chevron{ transform: rotate(180deg); }

.site-header__dropdown{
  list-style:none; margin:0; padding:10px 0;
  position:absolute; top: calc(100% + 18px); left:50%;
  transform: translate(-50%, 8px);
  min-width:210px;
  background: rgba(11,11,10,0.92);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border:1px solid var(--line-soft); border-radius:3px;
  opacity:0; visibility:hidden;
  transition: opacity 0.3s var(--ease), transform 0.3s var(--ease), visibility 0.3s;
  box-shadow: 0 24px 48px rgba(0,0,0,0.35);
}
.site-header__item--dropdown:hover .site-header__dropdown,
.site-header__item--dropdown.is-open .site-header__dropdown{
  opacity:1; visibility:visible; transform: translate(-50%, 0);
}
.site-header__dropdown-link{
  display:block; padding:12px 22px; font-size:12px; letter-spacing:0.1em;
  text-transform:uppercase; color: #fff; opacity:0.85;
  transition: opacity 0.25s var(--ease), padding-left 0.25s var(--ease);
  white-space: nowrap;
}
.site-header__dropdown-link:hover{ opacity:1; padding-left:28px; color: var(--gold); }

.site-header__toggle{
  display:none; 
  width:30px; 
  height:18px; 
  flex-direction:column;
  justify-content:space-between; 
  z-index:110;
  margin-top: 15px;
}
.site-header__toggle span{
  display:block; 
  height:2px; 
  width:100%; 
  background: var(--ivory);
  transition: transform 0.35s var(--ease), opacity 0.25s var(--ease);
}
.site-header__toggle[aria-expanded="true"] span:nth-child(1){ transform: translateY(8.5px) rotate(45deg); }
.site-header__toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.site-header__toggle[aria-expanded="true"] span:nth-child(3){ transform: translateY(-8.5px) rotate(-45deg); }


/* BANNER (single static image, fixed 600px height) */
.site-banner{ position:relative; width:100%; height:650px; overflow:hidden; background: var(--ink); }
.site-banner__image{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center;
}
.site-banner__overlay{
  position:absolute; inset:0; z-index:3; pointer-events:none;
  background:
    linear-gradient(to right, transparent 0%, transparent 50%, rgba(6,6,5,0.55) 100%),
    linear-gradient(to bottom, var(--overlay-top) 0%, transparent 22%, transparent 78%, rgba(6,6,5,0.35) 100%);
}
.site-banner__heading{
  position:absolute;
  top:50%; left:70%;
  transform: translate(-50%, -50%);
  z-index:4;
  margin:0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight:500;
  font-size:clamp(32px, 5vw, 64px);
  letter-spacing:0.12em;
  text-transform:uppercase;
  color: 
#FCC222;
  text-align:center;
  white-space:nowrap;
}

.desktop-banner {
    display: block;
}

.mobile-banner {
    display: none;
}

/*********************  ABOUT STYLES ************************/


.team-endee {
    background: #ffffff;
   padding: 80px 100px 60px;
    
    overflow: hidden;
  }
 
  .te-inner {
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    gap: clamp(40px, 5vw, 86px);
  }
 
  /* ---------- Media (left) ---------- */
 .te-media {
  position: relative;
  width: 40%;
  flex-shrink: 0;
  overflow: visible;
  margin-left: 25px;
}

.te-media__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(0.92) contrast(1.02);
  box-shadow: 0 24px 60px -20px rgba(26, 31, 38, 0.0);
}

.te-media__badge {
  position: absolute;
  bottom: 15px;
  right: -25px;
  background: #F1DC5F;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 12px;
  padding: 14px 22px;
  box-shadow: 0 12px 30px -8px rgba(26, 31, 38, 0.25);
  z-index: 2;
}

.te-media__badge-text {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #1a1f26;
  white-space: nowrap;
}
  
 
  /* ---------- Content (right) ---------- */
  .te-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(8px, 2vw, 24px) 0;
  }
 
  .te-eyebrow {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
  }
 
  .te-eyebrow__line {
    width: 36px;
    height: 1px;
    background: #F1DC5F;
  }
 
  .te-eyebrow__text {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: #141414;
   
  }
 
  .te-title {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
    font-size: clamp(32px, 3.2vw, 42px);
    line-height: 1.14;
    letter-spacing: -0.01em;
    color: #1a1f26;
    margin: 0 0 18px;
    text-transform: uppercase;
  }
 
  .te-title__accent {
    font-style: italic;
    font-weight: 380;
    color: #F1DC5F;
  }
 
  .te-divider {
    width: 64px;
    height: 2px;
    background: linear-gradient(90deg, #F1DC5F, transparent);
    margin-bottom: 28px;
  }
 
  .te-para {
    font-size: 16.5px;
    line-height: 1.85;
    color: #565c66;
    margin: 0 0 20px;
    max-width: 58ch;
    text-align: left;
    font-family: 'Inter',  sans-serif;
    font-weight: 400;
  }
 
  .te-para:last-child {
    margin-bottom: 0;
  }
  
  .te-btn {
  align-self: flex-start;
  margin-top: 8px;
  padding: 14px 34px;
  background:  transparent;
  border: 1px solid #F1DC5F;
  color: #141414;
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.3s ease, color 0.3s ease;
}

.te-btn:hover {
  background: #F1DC5F;
  color: #141414;
}
 
  /* ---------- Scroll reveal ---------- */
  .team-endee .te-media,
  .team-endee .te-content > * {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1), transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  }
 
  .team-endee.te-in-view .te-media,
  .team-endee.te-in-view .te-content > * {
    opacity: 1;
    transform: translateY(0);
  }
 
  .team-endee.te-in-view .te-content > *:nth-child(1) { transition-delay: 0.05s; }
  .team-endee.te-in-view .te-content > *:nth-child(2) { transition-delay: 0.15s; }
  .team-endee.te-in-view .te-content > *:nth-child(3) { transition-delay: 0.25s; }
  .team-endee.te-in-view .te-content > *:nth-child(4) { transition-delay: 0.32s; }
  .team-endee.te-in-view .te-content > *:nth-child(5) { transition-delay: 0.4s; }
 
  @media (prefers-reduced-motion: reduce) {
    .team-endee .te-media,
    .team-endee .te-content > * {
      opacity: 1;
      transform: none;
      transition: none;
    }
  }


/* ---------- EXCEPTIONAL STYLES ---------- */

 .cr-section {
    width: 100%;
    margin-bottom: 20px;
    margin-top: -30px;
    background: #FFFFFF;
  }
 
  .cr-intro {
    max-width: 1100px;
    margin: 0 auto;
    padding: 4rem 2rem 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
 
  .cr-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #141414;
    margin-bottom: 1.2rem;
  }
 
  .cr-eyebrow::before,
  .cr-eyebrow::after {
    content: '';
    display: block;
    width: 28px;
    height: 1px;
    background: #F1DC5F;
  }
 
  .cr-heading {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
    font-size: 30px;
    line-height: 1.15;
    color: #1B2A2E;
    margin: 0 0 1rem;
    text-transform: uppercase;
  }
 
  .cr-description {
    font-size: 16px;
    line-height: 1.6;
    color: #565c66;
    max-width: 120ch;
    margin: 0;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
  }
 
  /* ===== COLLAGE GRID — now fills the viewport height ===== */
  .cr-grid {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem 3rem;
    display: flex;
    gap: 5px;
    height: auto;
    min-height: 100vh;
  }
 
  .cr-col {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
    height: 100%;
  }
 
  /* Individually named heights — one class per image/box so each can be tuned on its own. */
  .cr-img-exclusive-designs    { height: 320px; flex: 0 0 auto; }
  .cr-box-top-quality-c1       { height: 90px;  flex: 0 0 auto; }
  .cr-img-top-quality          { height: 320px; flex: 0 0 auto; }
 
  .cr-box-on-time              { height: 100px;  flex: 0 0 auto; }
  .cr-img-on-time              { height: 530px; flex: 0 0 auto; margin-left: auto  }
  .cr-box-top-quality-c2       { height: 100px;  flex: 0 0 auto; }
 
  .cr-img-customer-relationship{ height: 300px; flex: 0 0 auto; }
  .cr-box-transparency         { height: 90px;  flex: 0 0 auto; }
  .cr-img-transparency         { height: 340px; flex: 0 0 auto; }
  .cr-box-exclusive-designs    { height: 90px;  flex: 0 0 auto; }
 
  .cr-box-customer-relationship{ height: 100px;  flex: 0 0 auto; }
  .cr-img-cost-conscious       { height: 530px; flex: 0 0 auto; }
  .cr-box-cost-conscious       { height: 100px;  flex: 0 0 auto; }
 
  .cr-image-frame {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 1px;
    border: 1px solid rgba(27, 42, 46, 0.12);
  }
 
  .cr-item-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
  }
 
  .cr-image-frame:hover .cr-item-img {
    transform: scale(1.05);
  }
 
  /* overlay title removed from inside images — kept as a title box style instead */
  .cr-title-box {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 0.5rem 1.2rem;
    background: #ECECEC;
    border-radius: 1px;
    border: 1px solid rgba(27, 42, 46, 0.12);
  }
 
  .cr-box-title {
    display: inline-block;
    margin: 0;
    padding-bottom: 8px;
    font-family: Georgia, 'Times New Roman', serif;
    font-weight: 500;
    font-size: 18px;
    color: #1B2A2E;
    border-bottom: 2px solid #F1DC5F;
    text-align: center;
  }
 
  .cr-cta {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 2rem 3rem;
    margin-top: 30px;
  }
 
  .cr-cta-btn {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #141414;
    background: transparent;
    padding: 14px 40px;
    border-radius: 4px;
    text-decoration: none;
    border: 1px solid #F1DC5F;
    transition: background 0.3s ease, color 0.3s ease;
  }
 
  .cr-cta-btn:hover {
    background: #F1DC5F;
    color: #141414;
  }


 .wme-m-section {
    display: none;
  }





  :root{
    --bg: #f3efe6;
    --text-dark: #1f1f1f;
    --accent: #F1DC5F;
    --accent-soft: #F1DC5F;
    --muted: #5a5a5a;
    --line: #ddd6c9;
  }
 
  .site-footer{
    background: #FBFAF8;
    padding: 40px 60px 0 60px;
    color: var(--text-dark);
    box-sizing: border-box;
    font-family: 'Segoe UI', Arial, sans-serif;
  }
 
  /* ---- Top bar: logo left, social icons right ---- */
  .footer-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:20px;
    padding-bottom: 5px;
  }
 
  .footer-logo img{
    height: 72px;
    display:block;
  }
 
  .footer-social{
    display:flex;
    gap:14px;
  }
 
  .footer-social a{
    width:36px;
    height:36px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    text-decoration:none;
    transition: transform .2s ease, opacity .2s ease;
  }
 
  .footer-social a svg{
    display:block;
  }
 
  .footer-social a:hover{
    transform: translateY(-3px);
    opacity:.9;
  }
 
  .social-facebook{ background:#1877f2; }
  .social-instagram{ background: linear-gradient(45deg,#f58529,#dd2a7b,#8134af,#515bd4); }
 .social-youtube{
    background: #FF0000;
    color: #fff;
}
.social-linkedin{ background:#0A66C2; }
.social-x{ background:#000; }
.social-threads{ background:#000; }}



  hr.footer-divider{
    border:none;
    border-top:1px solid var(--line);
    margin:0;
  }
 
  /* ---- Columns ---- */
  .footer-columns{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    padding: 40px 0;
    align-items: start;
  }
 
  .footer-col h3{
    font-size: 20px;
    font-weight: 600;
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
  }
 
  .heading-underline{
    width: 40px;
    height: 3px;
    background: var(--accent);
    margin: 8px 0 20px 0;
    border:none;
  }
  
    .footer-col h4{
    font-size: 18px;
    font-weight: 400;
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    margin-bottom: 8px;
    margin-left: 8px;
    text-transform: uppercase;
    
  }
 
  .footer-col ul{
    list-style:none;
    margin:0;
    padding:0;
  }
 
  .footer-col ul li{
    margin-bottom: 14px;
  }
 
  .footer-col ul li a{
    color: var(--text-dark);
    text-decoration:none;
    font-size:15px;
    transition: color .2s ease;
    font-family: 'Inter', sans-serif;
  }
 
  .footer-col ul li a:hover{
    color: var(--accent);
  }
 
  /* Address column special layout */
  .contact-item{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:16px;
    font-size:15px;
    line-height:1.5;
    font-family: 'Inter', sans-serif;
  }
 
  .contact-item .icon{
    color: var(--accent-soft);
    font-size:16px;
    margin-top:2px;
    flex-shrink:0;
  }
 
  .contact-item a{
    color: var(--text-dark);
    text-decoration:none;
  }
 
  .contact-item a:hover{
    color: var(--accent);
  }
 
  /* ---- Bottom bar ---- */
  .footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:10px;
    padding: 18px 0;
    border-top: 1px solid var(--line);
    font-size:14px;
    color: var(--muted);
    font-family: 'Inter', sans-serif;
  }
 
  .footer-bottom a{
    color: var(--muted);
    text-decoration:none;
  }
 
  .footer-bottom a:hover{
    color: var(--accent);
  }  
  
  



/*********************  RESPONSIVE STYLES ************************/  



  
 
/* =====================================================================
   LARGE SCREENS  (NEW — your file had nothing above 1024px)
===================================================================== */
@media (min-width:1600px){
  .site-header__inner{ max-width:1680px; padding:0 64px; }
  .site-header__list{ gap:28px; }
  .site-header__link{ font-size:13px; }
 
  .site-banner{ height:760px; }
 
  .team-endee{ padding:100px 100px 80px; }
  .te-inner{ max-width:1560px; }
  .te-title{ font-size:48px; }
  .te-para{ font-size:18px; max-width:62ch; }
 
  .cr-heading{ font-size:36px; }
  .cr-description{ font-size:18px; }
  .cr-grid{ max-width:1400px; }
  /* heights x1.15 */
  .cr-img-exclusive-designs     { height:368px; }
  .cr-box-top-quality-c1        { height:104px; }
  .cr-img-top-quality           { height:368px; }
  .cr-box-on-time               { height:115px; }
  .cr-img-on-time               { height:610px; }
  .cr-box-top-quality-c2        { height:115px; }
  .cr-img-customer-relationship { height:345px; }
  .cr-box-transparency          { height:104px; }
  .cr-img-transparency          { height:391px; }
  .cr-box-exclusive-designs     { height:104px; }
  .cr-box-customer-relationship { height:115px; }
  .cr-img-cost-conscious        { height:610px; }
  .cr-box-cost-conscious        { height:115px; }
  .cr-box-title{ font-size:20px; }
 
  .site-footer{
    padding-left:max(60px, calc((100vw - 1680px) / 2));
    padding-right:max(60px, calc((100vw - 1680px) / 2));
  }
}
 
@media (min-width:2200px){
  .site-header__inner{ max-width:2000px; }
  .site-header__link{ font-size:14px; }
  .site-banner{ height:900px; }
 
  .te-inner{ max-width:1900px; }
  .te-title{ font-size:56px; }
  .te-para{ font-size:20px; }
 
  .cr-grid{ max-width:1750px; }
  .cr-description{ font-size:20px; }
  /* heights x1.45 */
  .cr-img-exclusive-designs     { height:464px; }
  .cr-box-top-quality-c1        { height:130px; }
  .cr-img-top-quality           { height:464px; }
  .cr-box-on-time               { height:145px; }
  .cr-img-on-time               { height:770px; }
  .cr-box-top-quality-c2        { height:145px; }
  .cr-img-customer-relationship { height:435px; }
  .cr-box-transparency          { height:130px; }
  .cr-img-transparency          { height:493px; }
  .cr-box-exclusive-designs     { height:130px; }
  .cr-box-customer-relationship { height:145px; }
  .cr-img-cost-conscious        { height:770px; }
  .cr-box-cost-conscious        { height:145px; }
  .cr-box-title{ font-size:24px; }
 
  .site-footer{
    padding-left:max(60px, calc((100vw - 2000px) / 2));
    padding-right:max(60px, calc((100vw - 2000px) / 2));
  }
}
 
 
/* =====================================================================
   SMALL LAPTOPS (<= 1280px)  — desktop menu, just tighter
===================================================================== */
@media (max-width:1280px){
  .site-header__inner{ padding:0 32px; }
  .site-header__list{ gap:16px; }
  .site-header__link{ font-size:11.5px; letter-spacing:.1em; }
  .site-header__link--outline{ padding:8px 14px; }
  .site-header__logo img{ height:64px; width:105px; }
 
  .team-endee{ padding:70px 60px 50px; }
 
  /* FIX: base has min-height:100vh, so the old "height:90vh / 75vh"
     never worked (min-height always won). Reset it. */
  .cr-grid{ min-height:0; height:auto; padding:0 1.5rem 3rem; }
}
 
 
/* =====================================================================
   TABLET (<= 1024px) — OFF-CANVAS MENU
   FIX: moved from 767px to 1024px. Between 768-1024px the full menu
   (7-8 links + logo) does not fit in one row.
===================================================================== */
@media (max-width:1024px){
 
  :root{ --header-height:80px; }
 
  .site-header{ height:var(--header-height); }
  .site-header.is-scrolled{
    height:76px;
    /* FIX: backdrop-filter on the header makes it the containing block
       for the fixed off-canvas panel. Background is opaque anyway. */
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .site-header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;            /* same space on left and right */
  }
  .site-header__logo{ margin-top:0; }
  .site-header__logo img{ height:64px; width:auto; }
  
  .site-header .site-header__inner .site-header__toggle {
    margin-left: auto;          /* push the hamburger to the far right */
    margin-right: 0;
    position: static;           /* keep it inside the header row */
    order: 3;                   /* always last in the row */
  }
 
  /* FIX: toggle stays in the header row (no position:fixed, no 15px
     margin-top) so it is always vertically centred with the logo.
     z-index 110 keeps it above the panel (z-index 105). */
  .site-header__toggle{ display:flex; margin-top:0; }
  .site-header__toggle span{ background:#fff; }
  .site-header.is-scrolled .site-header__toggle span{ background:#111; }
  .site-header__toggle[aria-expanded="true"] span,
  .site-header.is-scrolled .site-header__toggle[aria-expanded="true"] span{ background:#111; }
 
  .site-header__list{
    position:fixed;
    top:0; right:0;
    height:100vh; height:100dvh;
    width:min(78vw, 360px);
    margin:0;
    background:#FBFAF8;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:28px;
    padding:110px 40px 40px;
    transform:translateX(100%);
    visibility:hidden;                      /* FIX: not focusable while closed */
    transition:transform .45s var(--ease), visibility .45s;
    z-index:105;
    overflow-x:hidden;
    overflow-y:auto;                        /* FIX: scroll if dropdown is long */
  }
  .site-header__list.is-open{
    transform:translateX(0);
    visibility:visible;
    box-shadow:-24px 0 48px rgba(0,0,0,.15); /* FIX: shadow only when open — before it leaked onto the screen edge while closed */
  }
 
  .site-header__item{ width:100%; }
 
  .site-header .site-header__list .site-header__link,
  .site-header.is-scrolled .site-header__list .site-header__link{
    color:#111;
    font-size:13px;
    padding:4px 0;
  }
  .site-header .site-header__list .site-header__link--outline{
    width:100%;
    justify-content:center;
    margin-top:12px;
    padding:11px 20px;
    border-color:#F1DC5F;      /* FIX: --line is almost white = invisible on a light panel */
  }
  .site-header .site-header__list .site-header__link--outline:hover{
    background:#F1DC5F;
  }
 
  /* FIX: link is inline-flex, so margin-left:auto never pushed the
     chevron to the right. Make the dropdown trigger full width. */
  .site-header__item--dropdown > .site-header__link{
    width:100%;
    justify-content:space-between;
  }
  .site-header__chevron{ color:#111; }
  .site-header__item--dropdown.is-open .site-header__chevron{ transform:rotate(180deg); }
 
  /* dropdown = accordion (specificity raised instead of !important) */
  .site-header .site-header__dropdown,
  .site-header .site-header__item--dropdown:hover .site-header__dropdown{
    position:static;
    left:auto; right:auto;
    transform:none;
    opacity:1; visibility:visible;
    display:block;
    width:100%; min-width:100%;
    max-height:0;
    overflow:hidden;
    margin:8px 0 0;
    padding:0;
    background:transparent;
    backdrop-filter:none; -webkit-backdrop-filter:none;
    border:none; box-shadow:none;
    text-align:left;
    transition:max-height .35s var(--ease);
  }
  .site-header .site-header__item--dropdown.is-open .site-header__dropdown{ max-height:400px; }
  .site-header__dropdown-link{ display:block; padding:10px 0; color:#111; }
  .site-header__dropdown-link:hover{ padding-left:8px; }
 
  /* ---------- BANNER (tablet) ---------- */
  .site-banner{ height:520px; }
  .site-banner__heading{
    width:max-content;
    max-width:56vw;
    white-space:normal;   /* FIX: base is nowrap, text ran off the screen */
    line-height:1.15;
  }
 
  /* ---------- ABOUT (your tablet rules) ---------- */
   .team-endee {
        padding: 55px 45px 50px !important;
    }

    .te-inner {
        max-width: 100%;

        display: flex;
        flex-direction: row;

        align-items: stretch;

        gap: 40px !important;
    }

    /* -----------------------------
       LEFT IMAGE
       ----------------------------- */

    .te-media {
        width: 38% !important;

        flex: 0 0 38%;

        margin-left: 0 !important;

        min-height: 480px;

        position: relative;
    }

    .te-media__img {
        position: absolute;

        top: 0;
        left: 0;

        width: 100%;
        height: 100%;

        object-fit: cover;
        object-position: center;
    }

    .te-media__badge {
        bottom: 12px;
        right: -15px;

        padding: 10px 16px;

        border-radius: 8px;
    }

    .te-media__badge-text {
        font-size: 12px;
    }


    /* -----------------------------
       RIGHT CONTENT
       ----------------------------- */

    .te-content {
        flex: 1;

        min-width: 0;

        justify-content: center;

        padding: 5px 0 !important;
    }

    .te-eyebrow {
        gap: 10px;

        margin-bottom: 14px;
    }

    .te-eyebrow__line {
        width: 28px;
    }

    .te-eyebrow__text {
        font-size: 10px;

        letter-spacing: 0.22em;
    }

    .te-title {
        font-size: 28px !important;

        line-height: 1.12;

        margin-bottom: 12px;
    }

    .te-divider {
        width: 50px;

        height: 2px;

        margin-bottom: 18px;
    }

    .te-para {
        font-size: 12.5px !important;

        line-height: 1.65;

        max-width: 100% !important;

        margin-bottom: 14px;
    }
}
 


 
  /* ---------- FOOTER ---------- */
  .site-footer{ padding:32px 32px 0; }
  .footer-columns{ gap:28px; padding:32px 0; }
}
 
 
@media (min-width: 768px) and (max-width: 1024px) {

    /* =========================
       INTRO
       ========================= */

    .cr-intro {
        max-width: 900px;
        padding: 45px 30px 25px;
    }

    .cr-eyebrow {
        font-size: 11px;
        letter-spacing: 0.20em;
        margin-bottom: 12px;
    }

    .cr-heading {
        font-size: 25px;
        margin-bottom: 12px;
    }

    .cr-description {
        font-size: 12px;
        line-height: 1.55;
        max-width: 900px;
    }


    /* =========================
       COLLAGE GRID
       ========================= */

    .cr-grid {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;

        padding: 0 24px 35px;

        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;

        gap: 4px;

        min-height: 0;
        height: auto;

        overflow: hidden;
    }


    /* =========================
       ALL COLUMNS
       ========================= */

    .cr-col {
        flex: 1 1 0;
        width: 25%;
        min-width: 0;

        display: flex;
        flex-direction: column;

        gap: 4px;

        height: auto;
    }


    /* =========================
       COLUMN 1
       ========================= */

    .cr-img-exclusive-designs {
        height: 145px;
        flex: 0 0 145px;
    }

    .cr-box-top-quality-c1 {
        height: 42px;
        flex: 0 0 42px;
    }

    .cr-img-top-quality {
        height: 145px;
        flex: 0 0 145px;
    }


    /* =========================
       COLUMN 2
       ========================= */

    .cr-box-on-time {
        height: 48px;
        flex: 0 0 48px;
    }

    .cr-img-on-time {
        height: 250px;
        flex: 0 0 250px;
        margin-left: 0;
    }

    .cr-box-top-quality-c2 {
        height: 48px;
        flex: 0 0 48px;
    }


    /* =========================
       COLUMN 3
       ========================= */

    .cr-img-customer-relationship {
        height: 135px;
        flex: 0 0 135px;
    }

    .cr-box-transparency {
        height: 42px;
        flex: 0 0 42px;
    }

    .cr-img-transparency {
        height: 150px;
        flex: 0 0 150px;
    }

    .cr-box-exclusive-designs {
        height: 42px;
        flex: 0 0 42px;
    }


    /* =========================
       COLUMN 4
       ========================= */

    .cr-box-customer-relationship {
        height: 48px;
        flex: 0 0 48px;
    }

    .cr-img-cost-conscious {
        height: 250px;
        flex: 0 0 250px;
    }

    .cr-box-cost-conscious {
        height: 48px;
        flex: 0 0 48px;
    }


    /* =========================
       IMAGES
       ========================= */

    .cr-image-frame {
        width: 100%;
        overflow: hidden;
    }

    .cr-item-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }


    /* =========================
       TITLE BOX
       ========================= */

    .cr-title-box {
        padding: 4px 6px;
    }

    .cr-box-title {
        font-size: 10px;
        line-height: 1.2;
        padding-bottom: 4px;
        border-bottom-width: 1px;
        white-space: nowrap;
    }


    /* =========================
       CTA
       ========================= */

    .cr-cta {
        padding: 0 20px 35px;
        margin-top: 10px;
    }

    .cr-cta-btn {
        font-size: 12px;
        padding: 11px 30px;
    }
} 
 
 
/* =====================================================================
   SMALL TABLET (<= 900px)
===================================================================== */
@media (max-width:900px){
 
  /* FIX: stack About at 900px (was 767px) — at 768-900px the 40% image
     column was only ~260px wide */
  .team-endee{ padding:50px 32px 40px; }
  .te-inner{ flex-direction:column; gap:40px; }
  .te-media{
    width:100%;
    margin-left:0;
    aspect-ratio:4 / 3;
    max-height:480px;
  }
  .te-media__badge{ right:15px; bottom:15px; padding:12px 18px; }
  .te-media__badge-text{ font-size:14px; }
  .te-content{ padding:0; }
  .te-para{ text-align:left; }
 
  /* CR collage: 2 x 2 */
  .cr-grid{ flex-wrap:wrap; gap:6px; }
  .cr-col{ flex:1 1 calc(50% - 6px); min-width:260px; height:auto; }
}
 
 
/* =====================================================================
   MOBILE (<= 767px)
===================================================================== */
@media (max-width:767px){
 
  /* ---------- HEADER ---------- */
  :root{ --header-height:72px; }
  .site-header.is-scrolled{ height:68px; }
  .site-header__logo img{ height:56px; width:auto!important; }
 
  /* ---------- BANNER ---------- */
  .desktop-banner{ display:none; }
  .mobile-banner{ display:block; object-position:left center; }
  .site-banner{ height:600px; }
  .site-banner__heading{
    left:50%;
    width:90%;
    max-width:none;
    white-space:normal;                       /* FIX */
    font-size:clamp(24px, 7vw, 38px);
    letter-spacing:.08em;
  }
 
  /* ---------- SECTION SWITCH ---------- */
  .cr-section{ display:none !important; }
  .wme-m-section{
    display:block;
    width:100%;
    margin-top:-15px;
    margin-bottom:20px;
    background:#FFFFFF;
  }
 
  /* ---------- WME MOBILE SECTION ----------
     FIX: font 'Jost' is never imported (falls back to Arial) -> Inter /
     Georgia like the desktop section. Brown #A9762F replaced with the
     site yellow #F1DC5F + dark text, same as .cr-eyebrow, .cr-title-box
     and .cr-cta-btn on desktop. */
  .wme-m-intro{
    padding:2.5rem 1.25rem 1rem;
    display:flex; flex-direction:column; align-items:center; text-align:center;
  }
  .wme-m-eyebrow{
    display:inline-flex; align-items:center; gap:.5rem;
    font-family:'Inter', sans-serif;
    font-size:11px; font-weight:500;
    letter-spacing:.24em; text-transform:uppercase;
    color:#141414;
    margin-bottom:1.2rem;
  }
  .wme-m-eyebrow::before,
  .wme-m-eyebrow::after{
    content:''; display:block; width:20px; height:1px; background:#F1DC5F;
  }
  .wme-m-heading{
    font-family:Georgia, "Times New Roman", serif;
    font-weight:500; font-size:22px; line-height:1.15;
    color:#1B2A2E; margin:0 0 1rem; text-transform:uppercase;
  }
  .wme-m-description{
    font-family:'Inter', sans-serif;
    font-weight:400; font-size:14px; line-height:1.6;
    color:#565c66; margin:0; text-align:justify;
  }
 
  .wme-m-grid{
    display:flex; flex-direction:column;
    padding:0 1.25rem 2rem; gap:10px;
  }
  .wme-m-image-frame{
    position:relative; width:100%; height:300px; overflow:hidden;
    border-radius:1px; border:1px solid rgba(27,42,46,.12);
  }
  .wme-m-item-img{
    width:100%; height:100%; object-fit:cover; display:block;
    transition:transform .5s ease;
  }
  .wme-m-title-box{
    display:flex; align-items:center; justify-content:center;
    box-sizing:border-box; height:60px; padding:.5rem 1.2rem;
    background:#ECECEC; border-radius:1px; border:1px solid rgba(27,42,46,.12);
  }
  .wme-m-box-title{
    display:inline-block; margin:0; padding-bottom:8px;
    font-family:Georgia, 'Times New Roman', serif;   /* was Fraunces */
    font-weight:500; font-size:18px; color:#1B2A2E;
    border-bottom:2px solid #F1DC5F;
    text-align:center;
  }
 
  .wme-m-cta{
    width:100%; display:flex; justify-content:center;
    padding:0 1.25rem 2.5rem; margin-top:30px;
  }
  .wme-m-cta-btn{
    display:inline-block; box-sizing:border-box; text-align:center;
    font-family:'Inter', sans-serif;
    font-size:14px; font-weight:500;
    letter-spacing:.08em; text-transform:uppercase;
    color:#141414; background:transparent;
    padding:13px 34px; border-radius:4px;
    border:1px solid #F1DC5F; text-decoration:none;
    transition:background .3s ease, color .3s ease;
  }
  .wme-m-cta-btn:hover{ background:#F1DC5F; color:#141414; }
}
 
/* hover zoom only where a real mouse exists (no sticky zoom on touch) */
@media (max-width:767px) and (hover:hover){
  .wme-m-image-frame:hover .wme-m-item-img{ transform:scale(1.05); }
}
 
 
/* =====================================================================
   PHONES — ABOUT BLOCK (your rules, unchanged)
===================================================================== */
@media (max-width:480px){
  .team-endee{ padding:40px 20px 32px; }
  .te-inner{ gap:28px; }
  .te-media{ aspect-ratio:4 / 3.4; }
  .te-media__badge{ right:10px; bottom:10px; padding:10px 16px; border-radius:10px; }
  .te-media__badge-text{ font-size:12.5px; }
  .te-eyebrow{ gap:10px; margin-bottom:16px; }
  .te-eyebrow__line{ width:26px; }
  .te-eyebrow__text{ font-size:11px; letter-spacing:.22em; }
  .te-title{ font-size:clamp(24px, 7vw, 30px); line-height:1.2; margin-bottom:14px; }
  .te-divider{ width:48px; margin-bottom:20px; }
  .te-para{ font-size:15px; line-height:1.7; margin-bottom:16px; text-align:justify; }
  .te-btn{ width:100%; text-align:center; padding:14px 20px; font-size:12px; letter-spacing:.18em; }
}
 
@media (max-width:380px){
  .site-header__inner{ padding:0 16px; }
  .site-header__logo img{ height:48px; width:78px; }
  .site-header__list{ width:88vw; padding:100px 24px 32px; }
}
 
@media (max-width:360px){
  .team-endee{ padding:32px 16px 28px; }
  .te-title{ font-size:clamp(22px, 8vw, 26px); }
  .te-para{ font-size:14px; }
  .te-media__badge{ padding:8px 12px; }
  .te-media__badge-text{ font-size:11px; }
}
 
/* short landscape phones: let the menu start from the top and scroll */
@media (max-height:600px) and (max-width:1024px){
  .site-header__list{ justify-content:flex-start; gap:18px; padding-top:96px; }
}
 
 
/* =====================================================================
   FOOTER
===================================================================== */
@media (max-width:1024px){
  .site-footer{ padding:32px 32px 0; }
  .footer-columns{ gap:28px; padding:32px 0; }
}
 
@media (max-width:768px){
  .site-footer{ padding:28px 24px 0; }
  .footer-top{ justify-content:center; text-align:center; }
  .footer-logo img{ height:70px; margin:0 auto; }
  .footer-columns{ grid-template-columns:repeat(2, 1fr); gap:30px 20px; padding:28px 0; }
  .footer-col:last-child{ grid-column:1 / -1; }   /* FIX: 3rd column no longer sits alone with an empty cell beside it */
  .footer-col h3{ font-size:18px; }
  .footer-bottom{ flex-direction:column; text-align:center; gap:8px; }
}
 
@media (max-width:576px){
  .site-footer{ padding:24px 16px 0; }
 
  /* logo left, icons right (your design). nowrap + smaller icons so
     6 icons fit; below 440px it stacks instead (see next query). */
  .footer-top{ flex-direction:row; flex-wrap:nowrap; justify-content:space-between; align-items:center; gap:12px; text-align:left; }
  .footer-logo img{ height:60px; margin:0; }
  .footer-social{ width:auto; justify-content:flex-end; gap:8px; }
  .footer-social a{ width:32px; height:32px; }
 
  .footer-columns{ grid-template-columns:1fr; gap:24px; padding:24px 0; text-align:left; }
  .footer-col:last-child{ grid-column:auto; }
  .heading-underline{ margin:8px 0 16px; }
  .contact-item{ font-size:14px; }
  .footer-col ul li a{ font-size:14px; }
  .footer-bottom{ font-size:13px; padding:16px 0; }
}
 
/* FIX: 6 social icons + logo do not fit in one row below ~440px
   (your layout wrapped them unevenly) -> stack and centre */
@media (max-width:440px){
  .footer-top{ flex-direction:column; justify-content:center; gap:14px; text-align:center; }
  .footer-logo img{ margin:0 auto; }
  .footer-social{ justify-content:center; flex-wrap:wrap; }
}
 
@media (max-width:400px){
  .site-footer{ padding:20px 12px 0; }
  .footer-logo img{ height:50px; }
  .footer-col h3{ font-size:17px; }
  .footer-columns{ gap:20px; padding:20px 0; }
  .footer-bottom{ font-size:12px; }
}
 
@media (max-width:320px){
  .footer-social{ gap:6px; }
  .footer-social a{ width:30px; height:30px; }
  .contact-item{ gap:6px; }
}
