:root{
    /* Brand palette */
    --ivory: #F4F4F3;        /* PMS Cool Grey 1 C @ 30% */
    --warm-linen: #E3E0DB;   /* PMS Warm Grey 1 C @ 70% */
    --stone: #BFB8AF;        /* PMS Warm Grey 3 C */
    --soft-blush: #F7E7E0;   /* PMS 489 C @ 40% */
    --dusty-rose: #DDBCB0;   /* PMS 7611 C */
    --charcoal: #25282A;     /* PMS 426 C */

    /* Semantic mappings used throughout the page */
    --cream: var(--ivory);
    --cream-2: var(--warm-linen);
    --ink: var(--charcoal);
    --ink-soft: #55585B;
    --rose: var(--soft-blush);
    --rose-deep: var(--dusty-rose);

    /* Typography */
    --font-heading: 'Amandine', 'Playfair Display', serif;
    --font-body: 'Bricolage Grotesque', sans-serif;
  }

  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{
    font-family:var(--font-body);
    font-weight:300;
    color:var(--ink);
    background:var(--cream);
    -webkit-font-smoothing:antialiased;
  }

  .page{
    display:flex;
    flex-wrap:wrap;
    min-height:100vh;
  }

  .panel-left{
    flex:1 1 46%;
    max-width:640px;
    background:var(--cream);
    padding:8vh 6vw 6vh 6vw;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    position:relative;
    z-index:2;
    overflow-y:auto;
  }

  .panel-right{
    flex:1 1 54%;
    min-width:320px;
    position:relative;
    background:linear-gradient(180deg,#E9DFCF 0%,#DCCFB6 100%);
    overflow:hidden;
  }

.panel-right img {
  width: 100%;
  height: 100%;
  object-fit: cover;   /* prevents distortion, crops nicely */
  display: block;
}

.panel-right {
  overflow: hidden;    /* keeps the cropped image contained */
}

.logo-img {
  display: block;
  width: 220px;      /* adjust to taste */
  height: auto;
  margin: 0 0 32px 0; /* no left margin — keeps it flush with the headline's left edge */
}

  h1.headline{
    font-family:var(--font-heading);
    font-weight:500;
    font-size:clamp(2rem, 4.6vw, 3rem);
    line-height:1.14;
    margin:0 0 6px 0;
    color:var(--ink);
  }
  h1.headline em{
    font-style:italic;
    font-weight:500;
    color:var(--rose-deep);
    display:block;
  }

  .rule{
    width:78px;
    height:1px;
    background:var(--rose-deep);
    opacity:.65;
    margin:26px 0 30px 0;
    border:none;
  }

  .copy p{
    font-size:1rem;
    line-height:1.85;
    color:var(--ink-soft);
    margin:0 0 20px 0;
    max-width:44ch;
  }
  .copy p:last-child{margin-bottom:0;}

  .rule-thin{
    width:44px;
    height:1px;
    background:var(--ink-soft);
    opacity:.3;
    margin:34px 0;
    border:none;
  }

  .key-row{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:22px;
  }
  .key-row svg{ width:34px; height:34px; flex-shrink:0; }

  .welcome{
    font-family:var(--font-heading);
    font-weight:500;
    font-size:1.28rem;
    line-height:1.4;
    color:var(--ink);
    margin:0 0 18px 0;
  }

  .cta-label{
    font-size:0.75rem;
    font-weight:600;
    letter-spacing:0.06em;
    color:var(--rose-deep);
    line-height:1.6;
    margin:0 0 20px 0;
  }

.btn{
  display:inline-block;
  border:1px solid var(--rose-deep);
  background:var(--rose-deep);   /* was transparent, now filled by default */
  color:#fff;                     /* was var(--ink), now white by default */
  text-decoration:none;
  font-size:0.78rem;
  letter-spacing:0.14em;
  font-weight:500;
  padding:14px 30px;
  margin-bottom:22px;
  transition:background .25s ease, color .25s ease;
}
.btn:hover{
  background:var(--rose-deep);
  color:#fff;
}

  .email{
    display:block;
    font-size:0.95rem;
    color:var(--ink-soft);
    text-decoration:none;
    margin-bottom:18px;
  }
  .email:hover{ color:var(--rose-deep); }

  .social{
    width:30px;
    height:30px;
    border:1px solid var(--rose-deep);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--rose-deep);
    text-decoration:none;
    font-size:0.7rem;
    font-weight:600;
    transition:background .25s ease, color .25s ease;
  }
  .social:hover{ background:var(--rose-deep); color:#fff; }

  footer{
    background:var(--charcoal);
    color:#E9E1D6;
    text-align:center;
    padding:22px 5vw;
    font-size:0.74rem;
    letter-spacing:0.22em;
    font-weight:500;
  }
  footer .tag-rule{
    width:40px;
    height:1px;
    background:#8a7a63;
    margin:14px auto 0 auto;
    opacity:.6;
  }

  @media (max-width: 860px){
    .panel-left{ max-width:100%; padding:8vh 7vw; }
    .panel-right{ min-height:52vh; }
  }


footer .site-credit,
footer .site-credit a {
  font-family: var(--font-body) !important;
  font-size: 0.75rem !important;
  font-weight: 300 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: #9A9C9E !important;
  text-decoration: none !important;
}
footer .site-credit {
  display: block;
  margin-top: 14px;
}
footer .site-credit a:hover {
  color: #E9E1D6 !important;
}