/* Shared safe areas for iPhone, standalone views and in-app browsers. */
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(100px + env(safe-area-inset-top,0px))}
body{padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:max(24px,env(safe-area-inset-bottom,0px));overflow-wrap:anywhere}
main,section,header,footer,figure{min-width:0}
img{max-width:100%;height:auto}
.btn{max-width:100%;white-space:normal;text-align:center}
@media(max-width:800px){
  /* Keep the navigation in the page flow: it cannot cover the campaign text. */
  .header{position:relative;top:auto}
  html{scroll-padding-top:24px}
  .notice{padding:12px 18px;line-height:1.6;letter-spacing:0}
  header:not(.header){display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-top:24px;padding-bottom:24px}
  header:not(.header)>.brand{flex:1 1 160px}
  header:not(.header)>a:last-child:not(.brand){flex:0 1 auto;max-width:100%;line-height:1.5}
  .hero{min-width:0}
  .hero>div,.hero>figure,.grid>div{min-width:0}
  .hero img{display:block;width:100%;height:auto;object-fit:contain}
  .contact a{overflow-wrap:anywhere}
  h1{font-size:clamp(34px,9vw,48px)!important;letter-spacing:-1px}
  .romance-visual{order:initial}
}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.book{max-width:75vw}.card-note{max-width:65vw}}
