:root{
  --beige:#f4efe8;
  --accent:#c9b7a5;
  --dark:#2f2f2f;
  --text:#2b2b2b;
}

*{box-sizing:border-box}

html,body{
  height:100%;
}

body{
  margin:0;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--text);
  line-height:1.7;
  background:#fff;
}

main{
  flex:1;
}

main.wip{
  display:flex;
  flex-direction:column;
  flex:1;
}

.bar{
  width:100%;
  padding:90px 20px;
}

.bar-light{background:var(--beige)}
.bar-accent{background:var(--accent)}
.bar-dark{background:var(--dark);color:#fff}

.inner{
  max-width:920px;
  margin:0 auto;
}

.inner.small{
  text-align:center;
  font-size:14px;
  opacity:.9;
}

h1,h2{
  font-family:"Playfair Display",Georgia,"Times New Roman",serif;
  font-weight:500;
  letter-spacing:-0.01em;
}

h1{
  margin:0 0 18px;
  font-size:clamp(34px,4vw,54px);
  line-height:1.15;
}

h2{
  margin:0 0 18px;
  font-size:clamp(24px,3vw,34px);
  line-height:1.2;
}

p{
  margin:0 0 16px;
  font-size:clamp(16px,1.4vw,18px);
}

a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
}

a:hover{opacity:.9}

main.wip > .bar:last-of-type{
  flex:1;
  display:flex;
  align-items:flex-start;
}

main.wip > .bar:last-of-type > .inner{
  width:100%;
}

@media (max-width:768px){
  .bar{padding:60px 18px}
  .inner{max-width:680px}
}

@media (max-width:420px){
  .bar{padding:52px 16px}
}

/* ============================================================
   Contact split: desktop 2-col, mobile form first
   ============================================================ */

.contact-split{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items:start;
}

@media (max-width: 768px){
  .contact-split{
    grid-template-columns: 1fr;
  }
  /* Form first on mobile */
  .contact-right{ order: 1; }
  .contact-left{ order: 2; }
}