/* Garden artwork and semantic controls are separate so the map stays usable. */
body[data-stage="library"] main{max-width:1536px;padding-inline:24px}
#library{padding:24px 0 44px;color:#203e32}
#library [hidden]{display:none!important}
.pavilion-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap;margin:0 16px 12px}
.pavilion-seasons,.pavilion-views{display:flex;gap:3px;padding:3px;border:1px solid #cbc8b8;border-radius:28px;background:#f8f6ee}
.pavilion-toolbar button{border:0;background:none;border-radius:24px;min-height:44px;padding:9px 18px;font:14px/1.3 Arial,sans-serif;color:#405348}
.pavilion-toolbar button[aria-pressed="true"]{background:#234637;color:#fffdf3}
.pavilion-toolbar .pavilion-return{margin-right:auto;border-radius:4px;background:#e7eadf}
.pavilion-garden{position:relative}
.pavilion-scroll{overflow-x:auto;overscroll-behavior-x:contain}
.pavilion-canvas{position:relative;width:100%;aspect-ratio:3/2}
.pavilion-art{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.pavilion-heading{position:absolute;z-index:1;top:4%;left:3%;pointer-events:none}
.pavilion-heading h1{font:normal clamp(38px,5.3vw,76px)/1.1 Georgia,serif;letter-spacing:-.035em;margin:0 0 7px}
.pavilion-heading p{font:clamp(17px,2.1vw,29px)/1.3 Georgia,serif;margin:0 0 7px}
.pavilion-pin{position:absolute;z-index:2;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;min-height:44px;max-width:220px;white-space:nowrap;border:1px solid #d7cfb9;border-radius:28px;padding:4px 14px 4px 4px;background:rgba(255,251,237,.81);color:#203e32;box-shadow:0 2px 9px #203e3214;font:clamp(12px,1.15vw,16px)/1.3 Georgia,serif}
.pavilion-pin b{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:#244b3a;color:#fff9e9;font:17px Georgia,serif}
.pavilion-pin:focus-visible{border-color:#aa8547;box-shadow:0 0 0 3px #c2a66a66}
.pavilion-pin:hover{background:rgba(255,246,219,.85)}
.pavilion-invitation{text-align:center;margin:-2% auto 34px;position:relative;max-width:850px;padding:0 16px}
.pavilion-invitation:before{content:"";display:block;width:90px;height:1px;background:#ae9059;margin:0 auto 20px}
.pavilion-invitation h2{font:normal 25px/1.3 Georgia,serif;margin:0 0 10px}
.pavilion-invitation p{font:16px/1.6 Georgia,serif;color:#64675c;margin:0 0 10px}
.pavilion-invitation a{font:16px/1.5 Georgia,serif}
.pavilion-catalog{max-width:1160px;margin:30px auto 0}
.pavilion-season-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.pavilion-mobile-hint{display:none}
@media(max-width:760px){
 body[data-stage="library"] main{padding-inline:14px}
 #library{padding-top:18px}
 .pavilion-toolbar{justify-content:center;gap:8px;margin:0 0 18px}
 .pavilion-toolbar button{padding:9px 13px;font-size:12px}
 .pavilion-toolbar .pavilion-return{width:100%;margin:0}
 .pavilion-canvas{width:900px;aspect-ratio:3/2}
 .pavilion-heading{position:relative;top:auto;left:auto;padding:0 8px 12px}
 .pavilion-heading h1{font-size:40px}
 .pavilion-heading p{font-size:19px}
  .pavilion-art{object-position:center}
 .pavilion-pin{font-size:13px}
     .pavilion-invitation{margin:20px auto 30px;padding:0 12px}
 .pavilion-invitation h2{font-size:23px}
 .pavilion-invitation p{font-size:15px}
 .pavilion-mobile-hint{display:block;margin:0 8px 12px;font:12px/1.5 Arial,sans-serif;color:#6d7465}
}

body[data-stage="library"]{background:#f8f6ee;}

/* Compact garden inscription: approved design A. */
#library{position:relative;padding-top:0}
.pavilion-toolbar{position:absolute;z-index:4;top:22px;right:28px;margin:0;gap:10px}
.pavilion-toolbar button{min-height:36px;padding:8px 13px;font-size:12px}
.pavilion-heading{top:30px;left:3.5%;max-width:42%;padding-left:18px;border-left:2px solid #aa8b52}
.pavilion-heading h1{font-family:Palatino,'Palatino Linotype',Georgia,serif;font-size:clamp(42px,4.7vw,66px);font-weight:400;letter-spacing:-.035em;line-height:1.1;white-space:nowrap;margin:0}
.pavilion-heading p{font-family:Palatino,'Palatino Linotype',Georgia,serif;font-size:clamp(17px,1.6vw,22px);line-height:1.3;max-width:none;margin:8px 0 0;color:#425647;text-wrap:normal}
#library:has(.pavilion-garden[hidden]) .pavilion-toolbar{position:relative;top:auto;right:auto;padding-top:20px;margin-bottom:18px}
@media(max-width:760px){
 #library{display:flex;flex-direction:column;padding-top:16px}
 .pavilion-toolbar{position:relative;top:auto;right:auto;order:1;justify-content:center;margin:0 0 10px;gap:6px}
 .pavilion-garden{order:2}.pavilion-invitation{order:3}.pavilion-catalog{order:4}
 .pavilion-toolbar button{font-size:12px;padding:8px 11px}
 .pavilion-heading{position:relative;top:auto;left:auto;max-width:none;margin:8px 10px 14px;padding:0 0 0 14px}
 .pavilion-heading h1{font-size:46px;line-height:1.1;letter-spacing:-.035em}
 .pavilion-heading p{font-size:18px;max-width:none;margin-top:6px}
 .pavilion-mobile-hint{margin-bottom:8px}
}

/* A quiet, rectangular atmosphere selector beneath the garden inscription. */
.pavilion-heading .pavilion-seasons{pointer-events:auto;display:inline-flex;gap:2px;margin-top:13px;padding:3px;border:1px solid rgba(156,143,118,.26);border-radius:2px;background:rgba(248,246,238,.72)}
.pavilion-seasons button{min-height:36px;min-width:82px;padding:7px 15px;border:0;border-radius:1px;background:transparent;color:#696456;font:12px/1.3 Arial,sans-serif;cursor:pointer;transition:background .15s ease,color .15s ease}
.pavilion-seasons button[aria-pressed="true"]{background:#e3dccb;color:#514b3e}
.pavilion-seasons button:hover{background:#ede7da;color:#514b3e}
.pavilion-seasons button[aria-pressed="true"]:hover{background:#ddd4c1}
.pavilion-seasons button:focus-visible{outline:2px solid #9b8255;outline-offset:2px}
@media(max-width:760px){.pavilion-heading .pavilion-seasons{margin-top:11px}.pavilion-seasons button{min-height:40px}}

/* Keep the atmosphere switch within the inscription's blank paper area. */
.pavilion-heading .pavilion-seasons{margin-top:5px;padding:0;border:0;background:transparent;gap:4px}
.pavilion-seasons button{min-height:28px;min-width:66px;padding:5px 10px;font-size:11px;background:rgba(248,246,238,.45)}
.pavilion-seasons button[aria-pressed="true"]{background:rgba(227,220,203,.7)}
@media(min-width:761px){.pavilion-heading{top:22px}.pavilion-heading p{margin-top:4px}}
@media(max-width:760px){.pavilion-heading .pavilion-seasons{margin-top:6px}.pavilion-seasons button{min-height:36px}}
