
:root{
  --blue:#5B7FB8;
  --blue-deep:#3B63A3;
  --beige:#EFEAE6;
  --text:#1f2937;
  --white:#fff;
}

*{box-sizing:border-box}

html,body{
  height:100%;
}

body{
  margin:0;
  font-family: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--white);
  background:var(--blue);
  line-height:1.6;
}

.wrapper{
  min-height:100dvh;
  display:grid;
  grid-template-rows:auto 1fr auto;
  background:
    linear-gradient(90deg, var(--blue) 0 62%, var(--beige) 62% 100%);
}

@media (max-width: 980px) {
	.wrapper{
		background:var(--blue);
	}
}

/* Brand / Header */
.header{
  padding: clamp(16px, 2vw, 24px) clamp(16px, 4vw, 48px);
  position:relative;
}

.header-logo {
	width: 500px;
}

@media (max-width: 600px) {
	.header-logo {
		width: 360px;
	}
}

/*
.logo{
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1.1;
  font-size: clamp(28px, 5vw, 72px);
  margin: 0 0 .25rem 0;
  text-transform: uppercase;
  text-shadow: 0 2px 14px rgba(0,0,0,.25);
}

.logo .amp{
  font-weight:700;
  opacity:.7;
}
*/

.tagline{
  margin:0;
  font-size: clamp(12px, 1.4vw, 16px);
  letter-spacing:.08em;
  text-transform: uppercase;
  opacity:.95;
}

/* Main two-column layout */
.main{
  display:grid;
  grid-template-columns: 1fr;
  gap: clamp(20px,3vw,36px);
  align-items:start;
  padding: clamp(16px, 4vw, 48px);
  padding-top: clamp(8px, 2vw, 24px);
  margin-top: 2vw;
}

.left{
  max-width: 720px;
}

.left .kicker{
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight:700;
  font-size: clamp(22px,2.8vw,36px);
  letter-spacing:.04em;
  text-transform:uppercase;
  margin: .25rem 0 .5rem 0;
}

.copy{
  color: rgba(255,255,255,.90);
  max-width: 54ch;
  margin-bottom: 1.25rem;
}

.cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:.95rem 1.25rem;
  background-color: #FFF;
  color:var(--blue);
  text-decoration:none;
  transition: all .2s ease;
  backdrop-filter: blur(4px);
}
.cta:focus-visible{ outline: 3px solid var(--white); outline-offset:3px;}
.cta:hover{ background: var(--white); color: var(--blue-deep); border-color: var(--white); }
.cta:active{ transform: translateY(1px); }

.contact-row{
  margin-top: 1rem;
  display:flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  align-items:center;
  font-size: .98rem;
  color: rgba(255,255,255,.92);
}
.contact-row a{ color:inherit; }
.contact-dot{ opacity:.6; }

/* Right: photo + overlay headline */
.right{
  position:relative;
  justify-self: center;
  width: min(680px, 100%);
}

.photo-card{
  position:relative;
  border: 12px solid var(--blue-deep);
  box-shadow: 0 12px 30px rgba(0,0,0,.35);
  background: var(--white);
  overflow:hidden;
}

.photo-card img{
  display:block;
  width:100%;
  height:auto;
}

.photo-card::after{
  content:"";
  position:absolute;
  inset: 18px;
  pointer-events:none;
}

/* Large overlay headline on photo (right aligned) */
.overlay-headline{
  position:absolute;
  inset:auto 6% 8% 6%;
  font-family: "Cormorant Garamond", Georgia, serif;
  color: var(--white);
  text-shadow: 0 2px 22px rgba(0,0,0,.55);
  font-weight:700;
  line-height:1.05;
  font-size: clamp(28px, 5vw, 38px);
  text-transform: uppercase;
  letter-spacing:.02em;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:.15em;
  pointer-events:none;
  user-select:none;
}

/* Footer logos (placeholders) */
.footer{
  padding: clamp(12px, 2.5vw, 24px) clamp(16px, 4vw, 48px) 48px;
  display:flex;
  align-items:center;
  gap: 18px;
  opacity:.85;
}

.footer img,
.footer .svg-brand {
	height: 60px;
}

.footer .svg-nvm-1 {
	fill: #FFF;
	max-height: 50px;
}

.badge{
  width:46px; height:46px; border-radius:9px;
  display:inline-flex; align-items:center; justify-content:center;
  font-weight:700;
}

/* Responsive: 2 columns from 980px up */
@media (min-width: 980px){
  .main{
    grid-template-columns: 1.05fr .95fr;
    align-items:center;
  }
  .right{
    margin-top: -60px; /* lift the image to overlap the header area for drama */
  }
}

/* Accessibility: reduce motion */
@media (prefers-reduced-motion: reduce){
  .cta{ transition: none; }
}
