:root{
  --blue:#597A91;
  --ink:#1F2E3D;
  --ivory:#F7F5F2;
  --sand:#E4DFD7;
  --rust:#C27A57;
  --maxw:1120px;
  --radius:14px;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth;}

body{
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,'Apple Color Emoji','Segoe UI Emoji',sans-serif;
  color:var(--ink);
  background:var(--ivory);
  line-height:1.6;
  letter-spacing:.01em;
}

img{
  max-width:100%;
  display:block;
}

a{
  color:var(--blue);
  text-decoration:none;
  text-underline-offset:2px;
}

a:hover{
  text-decoration:underline;
}

.container{
  width:min(100% - 2rem,var(--maxw));
  margin-inline:auto;
}

header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(247,245,242,.94);
  backdrop-filter:saturate(120%) blur(6px);
  border-bottom:1px solid #e9e6e0;
}

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.8rem 0;
  flex-wrap:wrap;
}

.brand{
  font-family:"Playfair Display",serif;
  font-weight:600;
  font-size:clamp(1.2rem,2vw + .6rem,1.6rem);
  letter-spacing:.3px;
  color:var(--ink);
}

nav{
  display:flex;
  gap:.35rem;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  flex:1;
}

nav a{
  font-size:.93rem;
  padding:.45rem .6rem;
  border-radius:999px;
  color:var(--ink);
  white-space:nowrap;
}

nav a:hover{
  background:rgba(89,122,145,.12);
  text-decoration:none;
}

.cta{
  background:var(--blue);
  color:#fff;
  padding:.45rem .9rem;
  border-radius:999px;
  font-weight:600;
  box-shadow:0 4px 12px rgba(89,122,145,.25);
}

.cta:hover{
  background:#4c6a7e;
  text-decoration:none;
}

main section,
section{
  padding:clamp(2.1rem,5vw,3.4rem) 0;
}

.section-title{
  font-family:"Playfair Display",serif;
  font-size:clamp(1.5rem,2vw + .7rem,2.2rem);
  margin:0 0 .7rem;
  color:var(--blue);
}

.muted{
  color:#2a3a49;
  font-size:1rem;
}

.small{
  font-size:.95rem;
}

.back{
  display:inline-block;
  margin-bottom:.8rem;
  padding:.45rem .75rem;
  border:1px solid #cfd7dd;
  border-radius:10px;
  text-decoration:none;
  color:var(--ink);
  background:#fff;
}

.back:hover{
  background:#f2f5f7;
  text-decoration:none;
}

.pill{
  font-size:.85rem;
  display:inline-block;
  padding:.25rem .7rem;
  border-radius:999px;
  background:#e8edf2;
  color:#425365;
  margin-bottom:.4rem;
}

.link-button,
.button{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  margin-top:.7rem;
  padding:.4rem .75rem;
  border-radius:999px;
  border:1px solid #cfd7dd;
  font-size:.9rem;
  text-decoration:none;
  color:var(--ink);
  background:#fff;
}

.link-button:hover,
.button:hover{
  background:#f2f5f7;
  text-decoration:none;
}

footer{
  padding:1.8rem 0 2.4rem;
  text-align:center;
  font-size:.9rem;
  color:#465264;
  border-top:1px solid #ece9e3;
}

@media (max-width:720px){
  .nav{
    flex-direction:column;
    align-items:flex-start;
  }

  nav{
    justify-content:flex-start;
  }
}

@media(max-width:680px){
  .nav{gap:.5rem 0;}
  nav{gap:.35rem;}
  nav a.cta{margin-left:auto;}
}
