/* Shared full-width surface / content gutter contract. */
:root{--content-max:1360px;--page-gutter:8.5%;--content-gutter:max(var(--page-gutter),calc((100% - var(--content-max))/2));}
body>header,main>.section:not(#home-wishes),body>footer{padding-inline:var(--content-gutter);}
body>header{width:100%;max-width:none;margin:0;}body>header::before{content:none;}
#home-wishes{width:calc(100% - var(--content-gutter) - var(--content-gutter));max-width:none;margin-inline:auto;padding-inline:clamp(24px,4vw,64px);}
.hero-copy{padding-left:var(--content-gutter);}
@media(max-width:1100px){:root{--page-gutter:8%;}}
@media(max-width:1000px){body>header>.brand{margin-right:auto}body>header>.menu{display:block}body>header>#navigation{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:12px var(--content-gutter) 20px;background:#f4f1eb;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #5641290b;font-size:15px}body>header>#navigation.open{display:flex;flex-direction:column;gap:0}body>header>#navigation a{padding:14px 0}}
@media(max-width:800px){:root{--page-gutter:7%;}.hero-copy{max-width:none;margin-inline:0;padding-inline:var(--content-gutter);}#home-wishes{padding-inline:clamp(24px,4vw,40px);}}
@media(max-width:350px){:root{--page-gutter:6%;}}

/* Pagination is an in-flow content control, independently of the header menu. */
#greetings-pagination{position:static;inset:auto;width:100%;max-width:100%;margin-left:0;padding-inline:0;background:none;box-shadow:none;}

/* Footer contact block now retains the address and anniversary date. */
footer .footer-details{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:800px){footer .footer-details{grid-template-columns:1fr}}

/* Avoid a double divider above the anniversary page links. */
footer .footer-top{border-bottom:0}
