body{font-family:Arial}.placeholder{height:350px;border:2px dashed #bbb;display:flex;align-items:center;justify-content:center}
 
  :root{
    --cream:#faf6ee;
    --cream-deep:#f3ecdd;
    --nav-dark:#241609;
    --nav-dark-2:#2f1c0c;
    --gold:#c9972c;
    --gold-deep:#a9760e;
    --gold-light:#e6c877;
    --maroon:#8a3c10;
    --ink:#1c2136;
    --text-muted:#7a7362;
    --line:#e4dcc8;
    --radius:14px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Inter',sans-serif;
    color:var(--ink);
    background:var(--cream);
    -webkit-font-smoothing:antialiased;
  }
  a{text-decoration:none;color:inherit;}
  img,svg{display:block;max-width:100%;}
  ul{margin:0;padding:0;list-style:none;}
.contact_form {
    background: url('../images/contact_bg.png');
    background-size: cover;
    background-position: center center;
    min-height: 650px;
    padding: 80px 0;
}

.field input {
   width: 100%;
    background: #d1995d;
    min-height: 65px;
    border: none;
    margin: 6px 0;
    color: #2c2c2c;
    padding: 0 25px;
    font-size: 17px;
    font-weight: 300;
}


.field placeholder {
    color: #fff!important;
    
}

.field textarea {
    width: 100%;
    background: #d1995d;
    min-height: 120px;
    border: none;
    margin: 15px 0;
  color: #2c2c2c;
    padding: 25px;
    font-size: 17px;
    font-weight: 300;
}

 ::placeholder {
  color: #fff;
  opacity: 1; /* Firefox */
}

::-ms-input-placeholder { /* Edge 12 -18 */
  color: #fff;
}

.contact_form_inner button {
    width: 100%;
    height: 60px;
    border: none;
    font-size: 20px;
    color: #FFFFFF;
    line-height: 62px;
    cursor: pointer;
    transition: ease all 0.5s;
    background: #2c1b0d;
}


.contact_form_inner button:hover,
.contact_form_inner button:focus {
    color: #fff;
    background: #2c1b0d;
}

  /* ===== Skip link ===== */
  .skip-link{
    position:absolute; left:-999px; top:0; background:var(--gold-deep); color:#fff;
    padding:10px 16px; z-index:999; border-radius:0 0 8px 0;
  }
  .skip-link:focus{left:0;}

  /* ===== Top bar ===== */
  .topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:18px clamp(16px,4vw,48px);
    background:#fff;
    border-bottom:1px solid var(--line);
    flex-wrap:wrap;
  }

  /* --- Brand / logo --- */
  .brand{
    display:flex;
    align-items:center;
    gap:16px;
    min-width:0;
  }
  .brand-mark{
    flex-shrink:0;
    width:76px;
    height:76px;
  }
.brand-logo{width: 580px;
}
  .brand-text{min-width:0;}
  .brand-eyebrow{
    font-family:'Inter',sans-serif;
    font-size:13px;
    letter-spacing:.02em;
    color:#3a3428;
    margin:0 0 2px;
    white-space:nowrap;
  }
  .brand-title{
    font-family:'Playfair Display',serif;
    font-weight:800;
    font-size:clamp(22px,3.2vw,32px);
    letter-spacing:.01em;
    color:var(--gold-deep);
    margin:0 0 6px;
    line-height:1;
    white-space:nowrap;
  }
  .brand-banner{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:linear-gradient(90deg,var(--maroon),var(--gold-deep) 85%);
    color:#fff;
    font-size:12.5px;
    font-weight:600;
    padding:5px 12px;
    border-radius:3px;
    white-space:nowrap;
    margin-bottom:6px;
  }
  .brand-tag{
    font-family:'Playfair Display',serif;
    font-style:italic;
    font-size:14px;
    color:#5c5544;
    margin:0;
    white-space:nowrap;
  }

  /* --- Partner badges --- */
  .partners{
    display:flex;
    gap:28px;
    align-items:flex-start;
  }
  .partner-group{
    display:flex;
    align-items:center;
    gap:10px;
  }
  .partner-label{
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    font-family:'Playfair Display',serif;
    font-style:italic;
    font-size:13px;
    color:#4a4436;
    letter-spacing:.02em;
    white-space:nowrap;
    position:relative;
  }
  .partner-label::after{
    content:'';
    position:absolute;
    bottom:-8px;
    left:50%;
    transform:translateX(-50%);
    width:0; height:0;
    border-left:4px solid transparent;
    border-right:4px solid transparent;
    border-top:6px solid #4a4436;
  }
  .partner-logos{
    display:grid;
    grid-template-columns:repeat(2,minmax(44px,1fr));
    gap:8px 12px;
  }
  .badge{
    display:flex;
    align-items:center;
    justify-content:center;
    width:46px;
    height:46px;
  }
  .badge svg{width:100%;height:100%;}
  .badge.wordmark{width:auto;height:24px;}
  .badge.wordmark svg{width:auto;height:100%;}

  /* ===== Nav ===== */
  .navbar{
    background:linear-gradient(180deg,var(--nav-dark-2),var(--nav-dark));
    position:sticky;
    top:0;
    z-index:100;
  }
  .nav-inner{
    max-width:1400px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 clamp(16px,4vw,48px);
  }
  .nav-links{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
  }
  .nav-links a{
    display:inline-block;
    padding:16px 18px;
    font-size:14.5px;
    font-weight:600;
    color:#f2e9d8;
    letter-spacing:.01em;
    transition:color .18s ease, background .18s ease;
    position:relative;
  }

  .nav-links a:hover,
  .nav-links a:focus-visible{
    color:var(--gold-light);
    background:rgba(255,255,255,.04);
  }
.nav-links ul li a.active {
    background: transparent;
    color: #FFFFFF;
    border-bottom: 2px solid #219AD1;
}
.nav-links a:active {
    color:var(--gold-light);
    background:rgba(255,255,255,.04);
  }
  .nav-links a:focus-visible{outline:2px solid var(--gold-light); outline-offset:-2px;}
  .nav-contact{
    padding:16px 0;
    font-size:14.5px;
    font-weight:700;
    color:#fff;
    white-space:nowrap;
  }
  .nav-toggle{
    display:none;
    background:none;
    border:none;
    color:#f2e9d8;
    cursor:pointer;
    padding:14px 4px;
  }
  .nav-toggle svg{width:26px;height:26px;}
  /* ===== Hero ===== */
  .contact{
    background: #FFFFFF; padding:clamp(56px,9vw,20px) 20px clamp(24px,5vw,40px);  
    text-align:center;
  }
  /* ===== Hero ===== */
  .hero{
    background:
      radial-gradient(ellipse 60% 50% at 50% 0%, #fffdf8 0%, transparent 70%),
      var(--cream);
    padding:clamp(56px,9vw,20px) 20px clamp(24px,5vw,40px);  
    text-align:center;
  }
  .hero h1{
   font-family: 'Playfair Display', serif;
    font-weight: 600;
    font-size: clamp(34px, 6vw, 49px);
    line-height: 1.15;
    margin: 0 auto;
    max-width: 35ch;
    color: var(--ink);
  }
  .hero .rule{
    width:64px;
    height:3px;
    background:var(--gold);
    margin:28px auto 0;
    border-radius:2px;
  }

  /* ===== Skyline ===== */
  .skyline-wrap{
    background:var(--cream);
    line-height:0;
    overflow:hidden;
  }
  .skyline-wrap svg{
    width:100%;
    height:auto;
    display:block;
  }

  /* ===== Footer ===== */
  footer{
    background: #fff;
    border-top: 1px solid var(--line);
    padding: 2px clamp(1px, 1vw, 15px);
    display: flex;
    flex-wrap: wrap;
    gap: 9px 26px;
    align-items: center;
    justify-content: space-between;
    font-size: 13.5px;
    color: #6b6455;
  }
  footer .links{display:flex; gap:8px; align-items:center;}
  footer a:hover{color:var(--gold-deep);}
  footer .divider{color:#c9c2ae;}
	.cmpllogo{    display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-content: center;
	align-items: center;
	flex-wrap: nowrap;
	} 

  /* ===== Responsive ===== */
  @media (max-width:980px){
	  footer {
    background: #fff;
    border-top: 1px solid var(--line);
    padding: 2px clamp(1px, 1vw, 15px);
    display: flex;
    flex-wrap: wrap;
    gap: 3px 14px;
    align-items: center;
    justify-content: space-evenly;
    font-size: 13.5px;
    color: #6b6455;
    align-content: center;
		  flex-direction: row;}
	  
	  .hero {
    background: radial-gradient(ellipse 60% 50% at 50% 0%, #fffdf8 0%, transparent 70%), var(--cream);
    padding: clamp(8px, 2vw, 3px) 1px clamp(0px, -3vw, 20px);
    text-align: center;
}
	  
    .partners{gap:18px;}
    .partner-logos{grid-template-columns:repeat(2,40px);}
    .badge{width:40px;height:40px;}
  }

  @media (max-width:860px){
	  footer {
    background: #fff;
    border-top: 1px solid var(--line);
    padding: 2px clamp(1px, 1vw, 15px);
    display: flex;
    flex-wrap: wrap;
    gap: 9px 26px;
    align-items: center;
    justify-content: space-evenly;
    font-size: 13.5px;
    color: #6b6455;
    align-content: center;
		  flex-direction: row;}
	  .hero {
    background: radial-gradient(ellipse 60% 50% at 50% 0%, #fffdf8 0%, transparent 70%), var(--cream);
    padding: clamp(8px, 2vw, 3px) 1px clamp(0px, -3vw, 20px);
    text-align: center;
}
	  .hero h1 {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    font-size: clamp(15px, 6vw, 7px);
    line-height: 1.15;
    margin: 0 auto;
    max-width: 35ch;
    color: var(--ink);
}
	  
    .nav-toggle{display:inline-flex;}
    .nav-links{
      display:none;
      flex-direction:column;
      width:100%;
      padding-bottom:8px;
    }
    .nav-links.open{display:flex;}
    .nav-links a{padding:13px 4px; width:100%;}
    .nav-inner{flex-wrap:wrap; padding-top:4px; padding-bottom:4px;}
    .nav-contact{display:none;}
    .nav-links.open + .nav-contact,
    .nav-links.open ~ .nav-contact{display:block;}
  }

  @media (max-width:700px){
	  
	  footer {
    background: #fff;
    border-top: 1px solid var(--line);
    padding: 2px clamp(1px, 1vw, 15px);
    display: flex;
    flex-wrap: wrap;
    gap: 3px 14px;
    align-items: center;
    justify-content: space-evenly;
    font-size: 13.5px;
    color: #6b6455;
    align-content: center;
		  flex-direction: row;}
	  .hero {
    background: radial-gradient(ellipse 60% 50% at 50% 0%, #fffdf8 0%, transparent 70%), var(--cream);
    padding: clamp(8px, 2vw, 3px) 1px clamp(0px, -3vw, 20px);
    text-align: center;
}
	
	  .hero h1 {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    font-size: clamp(15px, 6vw, 7px);
    line-height: 1.15;
    margin: 0 auto;
    max-width: 35ch;
    color: var(--ink);
}
    .topbar{
      flex-direction:column;
      align-items:flex-start;
    }
    .partners{
      width:100%;
      justify-content:space-between;
    }
  }

  @media (max-width:480px){
	  footer {
    background: #fff;
    border-top: 1px solid var(--line);
    padding: 2px clamp(1px, 1vw, 15px);
    display: flex;
    flex-wrap: wrap;
    gap: 3px 14px;
    align-items: center;
    justify-content: space-evenly;
    font-size: 13.5px;
    color: #6b6455;
    align-content: center;
		  flex-direction: row;}
	  
	    .hero {
        background: radial-gradient(ellipse 60% 50% at 50% 0%, #fffdf8 0%, transparent 70%), var(--cream);
        padding: clamp(37px, 8vw, 43px) 1px clamp(0px, 23vw, 72px);
			text-align: center;}
	  .hero h1 {
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    font-size: clamp(15px, 6vw, 7px);
    line-height: 1.15;
    margin: 0 auto;
    max-width: 35ch;
    color: var(--ink);
}
	  
    .brand{gap:10px;}
    .brand-mark{width:58px;height:58px;}
    .brand-title{font-size:20px;}
    .brand-eyebrow{font-size:11.5px;}
    .brand-banner{font-size:11px; padding:4px 9px;}
    .brand-tag{font-size:12px;}
    .partner-logos{grid-template-columns:repeat(2,34px);}
    .badge{width:34px;height:34px;}
    .partner-label{font-size:11px;}
  }

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *{transition:none !important;}
  }
 