.masthead { box-sizing: border-box; width: 100%; max-width: none; margin: 0; padding: 1rem clamp(1.2rem, 5vw, 5rem) 0; border: 0; background: transparent; text-align: center; color: #312737; font: 17px/1.55 "Avenir Next", Avenir, sans-serif; }
.masthead-top { display: flex; justify-content: space-between; border-bottom: 1px solid #caa9a4; padding-bottom: .65rem; font-size: .74rem; font-weight: 600; }
.masthead .brand { display: block; margin: 1.2rem 0 .2rem; color: inherit; font: 700 clamp(2.7rem, 6.7vw, 6.2rem)/1 Georgia, serif; letter-spacing: -.065em; text-decoration: none; }
.masthead-subtitle { margin: .2rem 0 1rem; color: #634054; font: italic 1rem Georgia, serif; }
.masthead nav { display: flex; flex-wrap: wrap; justify-content: center; gap: .8rem clamp(1.5rem, 5vw, 4rem); border-top: 3px double #312737; border-bottom: 1px solid #312737; padding: .75rem 0; }
.masthead nav a { color: inherit; font-size: .9rem; font-weight: 700; text-decoration: none; }
.masthead a:focus-visible { outline: 3px solid #bd3e62; outline-offset: 3px; }
@media (max-width: 700px) { .masthead-top span:last-child { display: none; } }
@media print { .masthead, .site-footer { display: none !important; } }
.masthead { color: #542039; font-family: "Nunito Sans", "Avenir Next", Avenir, sans-serif; }
.masthead .brand { display: flex; align-items: center; justify-content: center; gap: .12em; font: 800 clamp(2rem,5.4vw,5rem)/1.04 "Nunito Sans", "Avenir Next", Avenir, sans-serif; letter-spacing: -.055em; }
.masthead .brand img { width: .95em; height: 1.12em; object-fit: contain; flex: none; }
.masthead-subtitle { color: #6d4755; font: 700 1rem "Nunito Sans", "Avenir Next", Avenir, sans-serif; }
@media(max-width:420px){.masthead .brand{font-size:clamp(1.65rem,8vw,2.2rem);gap:.08em}.masthead .brand img{width:.85em}}
.site-footer { box-sizing: border-box; display: flex; justify-content: space-between; gap: 1rem; width: 100%; max-width: none; margin: 2rem 0 0; padding: 2rem clamp(1.2rem, 5vw, 5rem); border-top: 3px double #542039; color: #542039; font: 700 .9rem/1.5 "Avenir Next", Avenir, sans-serif; }
.site-footer a { color: inherit; }
@media screen {
  body:has(> .masthead) { max-width: none; margin: 0; padding: 0; }
  body:has(> .masthead) > :not(.masthead):not(.site-footer):not(script) { box-sizing: border-box; max-width: 760px; width: calc(100% - 2rem); margin-left: auto; margin-right: auto; }
}
@media(max-width:700px){.site-footer{flex-wrap:wrap}}
@media screen and (max-width: 500px) { body:has(> .masthead) .garden { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
