@font-face{
  font-family:'Lora';
  src:url('../fonts/lora-regular.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Lora';
  src:url('../fonts/lora-semibold.woff2') format('woff2');
  font-weight:600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Nunito';
  src:url('../fonts/nunito-regular.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Nunito';
  src:url('../fonts/nunito-semibold.woff2') format('woff2');
  font-weight:600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Caveat';
  src:url('../fonts/caveat-regular.woff2') format('woff2');
  font-weight:500;font-style:normal;font-display:swap;
}

:root{
  --rose:#C28F8F;
  --rose-dim:#A57272;
  --rose-soft:#EDD9D2;
  --cream:#F5EFE6;
  --paper:#FBF7F1;
  --ink:#2E2A28;
  --ink-soft:#5A524E;
  --brown:#8C6A57;
  --brown-soft:#C9B0A0;
  --line:#E2D6CB;
  --shadow-soft:0 12px 32px -16px rgba(56,40,32,.18);
  --shadow-card:0 6px 18px -10px rgba(56,40,32,.22);
  --radius-card:18px;
  --radius-tag:22px;
  --radius-pill:9999px;
  --max:1200px;
  --pad:24px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Nunito',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px;
  line-height:1.6;
}
img,svg{display:block;max-width:100%;height:auto}
a{color:var(--brown);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--rose-dim)}
button{font-family:inherit;cursor:pointer}

h1,h2,h3,h4{
  font-family:'Lora',Georgia,serif;
  font-weight:600;
  color:var(--ink);
  line-height:1.18;
  margin:0 0 .5em;
}
h1{font-size:clamp(32px,5.4vw,52px);letter-spacing:-.01em}
h2{font-size:clamp(26px,3.4vw,38px)}
h3{font-size:clamp(20px,2.2vw,26px)}
h4{font-size:18px}
p{margin:0 0 1em}

.script{
  font-family:'Caveat',cursive;
  font-weight:500;
  color:var(--rose-dim);
  letter-spacing:.01em;
}

.wrap{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--pad);
}
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.jump-to-main{
  position:absolute;top:-100px;left:12px;background:var(--ink);color:var(--cream);
  padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:600;z-index:1100;
  transition:top .2s ease;
}
.jump-to-main:focus{top:12px;color:var(--cream)}
:focus-visible{outline:2px solid var(--rose-dim);outline-offset:3px;border-radius:6px}

.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:14px 26px;
  background:var(--rose);color:#fff;
  border:none;border-radius:var(--radius-pill);
  font:600 16px/1 'Nunito',sans-serif;
  text-decoration:none;
  box-shadow:0 8px 18px -10px rgba(194,143,143,.65);
  transition:background .2s ease,transform .15s ease;
  min-height:48px;
}
.btn:hover{background:var(--rose-dim);transform:translateY(-1px);color:#fff}
.btn--ghost{
  background:transparent;color:var(--ink);
  border:1.5px solid var(--brown-soft);
  box-shadow:none;
}
.btn--ghost:hover{background:var(--rose-soft);color:var(--ink)}

.tag{
  display:inline-block;
  padding:4px 12px;
  background:var(--rose-soft);color:var(--brown);
  border-radius:var(--radius-pill);
  font-size:13px;font-weight:600;
  letter-spacing:.02em;
}

.icon-paw,.icon-scissors,.icon-bubble{
  width:22px;height:22px;flex:0 0 22px;color:var(--brown);
}

.section{padding:72px 0}
.section--cream{background:var(--cream)}
.section--paper{background:var(--paper)}
.section--rose{background:var(--rose-soft)}

.section--title{text-align:center;max-width:680px;margin:0 auto 48px}
.section--title .script{display:block;font-size:28px;margin-bottom:4px}
.section--title h2{margin-bottom:12px}
.section--title p{color:var(--ink-soft)}

@media(min-width:768px){
  body{font-size:18px}
  .section{padding:96px 0}
  :root{--pad:32px}
}
