/* Paper strips: flat cut-paper shapes, a little tape, and expressive type. */
.theme-rose .paper-strip {
  --strip-fill:var(--coral);
  --strip-ink:var(--burgundy);
  --tape-fill:#eeb74fc9;
  position:relative;
  isolation:isolate;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  max-width:100%;
  min-height:58px;
  padding:17px 25px;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--strip-ink);
  font:italic 23px/1.2 var(--serif);
  text-align:center;
  text-decoration:none;
  overflow:visible;
}
.paper-strip::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:var(--strip-fill);
  clip-path:polygon(1% 2%,98% 0,97% 18%,100% 32%,98% 51%,100% 70%,97% 97%,0 100%,2% 76%,0 55%,2% 30%);
  transform:rotate(-1deg);
  transition:transform .2s;
  pointer-events:none;
}
.paper-strip::after {
  content:"";
  position:absolute;
  z-index:-1;
  top:-8px;
  left:19px;
  width:33px;
  height:15px;
  background:var(--tape-fill);
  transform:rotate(-7deg);
  pointer-events:none;
}
.theme-rose .lifestyle-section .paper-strip {
  --strip-fill:var(--mustard);
  --tape-fill:#f1e7dac9;
}
.lifestyle-section .paper-strip::before {transform:rotate(1.2deg)}
.lifestyle-section .paper-strip::after {left:auto;right:23px;transform:rotate(8deg)}
.theme-rose .schools-section .paper-strip {
  --strip-fill:var(--cream);
  --tape-fill:#df8a72c9;
}
.theme-rose .about-section .paper-strip {--tape-fill:#f1e7dac9}
.theme-rose .contact-send.paper-strip {display:flex;width:100%;margin-top:32px}
.paper-strip:where(a,button:not(:disabled)):is(:hover,:focus-visible)::before {transform:rotate(0)}
.paper-strip:where(a,button:not(:disabled)):active::before {transform:rotate(0) translateY(1px)}

/* Navigation gets the quieter paper highlights from the selected design. */
.theme-rose .desktop-nav a,
.theme-rose .mobile-nav a,
.theme-rose .contact-footer nav a {
  position:relative;
  isolation:isolate;
  border-bottom:0;
  transition:color .2s;
}
.theme-rose .desktop-nav a {padding:13px 9px}
.theme-rose .desktop-nav {gap:18px}
.theme-rose .desktop-nav a::before,
.theme-rose .mobile-nav a::before,
.theme-rose .contact-footer nav a::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:9px 0;
  background:var(--mustard);
  transform:rotate(-3deg);
  opacity:0;
  transition:opacity .2s;
  pointer-events:none;
}
.theme-rose .desktop-nav a:is(:hover,:focus-visible,[aria-current="page"]),
.theme-rose .mobile-nav a:is(:hover,:focus-visible,[aria-current="page"]),
.theme-rose .contact-footer nav a:is(:hover,:focus-visible) {color:var(--burgundy);text-decoration:none}
.theme-rose .desktop-nav a:is(:hover,:focus-visible,[aria-current="page"])::before,
.theme-rose .mobile-nav a:is(:hover,:focus-visible,[aria-current="page"])::before,
.theme-rose .contact-footer nav a:is(:hover,:focus-visible)::before {opacity:1}
.theme-rose .mobile-nav a {padding-inline:12px}
.theme-rose .contact-footer nav a {padding:10px 6px}
.theme-rose .contact-footer nav {gap:10px}
.theme-rose .site-footer .paper-strip {
  --strip-fill:var(--cream);
  --tape-fill:#eeb74fc9;
  width:auto;
  min-height:48px;
  padding:13px 24px;
  font-size:20px;
}

/* Keep the native, initially unselected session radio controls. */
.session-choices {gap:13px 12px}
.session-choices span {
  padding:13px 19px;
  border:0;
  border-radius:0;
  background:#e5d8c6;
  color:var(--blue);
  font-size:17px;
  transform:rotate(-1deg);
}
.session-choices label:nth-child(even) span {transform:rotate(1deg)}
.session-choices label:hover span {background:var(--mustard);transform:rotate(0)}
.session-choices input:checked+span {background:var(--blue);color:var(--cream);transform:rotate(0)}
.session-choices input:focus-visible+span {outline:2px solid var(--blue);outline-offset:4px}

@media(max-width:1100px) {
  .theme-rose .desktop-nav {gap:12px}
}
@media(max-width:760px) {
  .theme-rose .paper-strip {font-size:22px;padding:17px 23px}
  .theme-rose .site-footer .paper-strip {margin-top:6px;font-size:19px;padding:13px 23px}
  .session-choices span {font-size:16px;padding:14px 18px}
}
@media(prefers-reduced-motion:reduce) {
  .paper-strip::before,
  .theme-rose .desktop-nav a,
  .theme-rose .desktop-nav a::before,
  .theme-rose .mobile-nav a,
  .theme-rose .mobile-nav a::before,
  .theme-rose .contact-footer nav a,
  .theme-rose .contact-footer nav a::before {transition:none}
}
