
.site-header .brand{width:210px;flex:0 0 210px}
.brand-wordmark{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:1200/450}
.site-header .brand-wordmark .brand-logo{position:absolute;width:183.84%;max-width:none;height:auto;left:-78.17%;top:-35.56%}
.gift-cover{display:flex;position:relative;isolation:isolate;overflow:hidden;min-height:180px;width:100%;aspect-ratio:3/4;background:#84000c;color:#fff8e8;align-items:center;justify-content:center;flex-direction:column;gap:18px;border-radius:4px}
.gift-cover:before,.gift-cover:after{content:"";position:absolute;z-index:-1;background:#b68a44}
.gift-cover:before{width:12%;height:100%;left:44%;top:0}.gift-cover:after{height:9%;width:100%;top:45.5%;left:0}
.gift-cover-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#fff8e8;color:#84000c}.gift-cover-icon .icon{width:42px;height:42px}
.gift-cover-note{position:absolute;bottom:12px;background:#84000c;padding:5px 10px;font-size:12px;letter-spacing:.04em}
.directory-art .gift-cover{height:100%;min-height:0;aspect-ratio:3/4}.directory-art .gift-cover-icon{width:36px;height:36px}.directory-art .gift-cover-icon .icon{width:24px;height:24px}.directory-art .gift-cover-note{display:none}
.passport-cover{border:0;border-right:1px solid #84000c}.passport-cover h2{font-size:clamp(28px,3vw,40px)}
#stampGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
#stampGrid .passport-stamp{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:auto;min-height:155px;border:1px solid #65716c;border-radius:8px;background:#fffdf8;color:#263335;padding:16px 10px;gap:8px;box-shadow:none;animation:none}
#stampGrid .passport-stamp:before{display:none}
#stampGrid .passport-seal{display:grid;place-items:center;position:static;width:42px;height:42px;border:0;border-radius:0;background:transparent;color:inherit;box-shadow:none}
#stampGrid .passport-seal .icon{width:34px;height:34px}
#stampGrid .passport-stamp strong{font-size:14px;line-height:1.35;text-transform:none;position:relative}
#stampGrid .passport-stamp small{font-size:12px;line-height:1.4;position:relative}
#stampGrid .passport-stamp.collected{background:#84000c;color:#fff8e8;border:1px solid #84000c;box-shadow:none}
#stampGrid .passport-stamp.collected .passport-seal{position:absolute;inset:auto -8px -12px auto;width:120px;height:120px;opacity:.14;z-index:-1;color:white}
#stampGrid .passport-stamp.collected .passport-seal .icon{width:116px;height:116px}
#stampGrid .passport-stamp:hover{background:#f1e7d4!important;color:#263335;border-color:#84000c}
#stampGrid .passport-stamp.collected:hover{background:#650009!important;color:#fff8e8}
button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #17667b;outline-offset:4px}
#stampGrid .passport-stamp:focus-visible{outline:3px solid #17667b;outline-offset:3px}
.passport-dialog .close{width:44px;height:44px;z-index:3;background:#fffdf8;color:#263335;border:1px solid #65716c}
@media(max-width:760px){.site-header .brand{width:175px;flex-basis:175px}.passport-cover{border-right:0;border-bottom:1px solid #84000c}#stampGrid{grid-template-columns:repeat(2,minmax(0,1fr))}#stampGrid .passport-stamp{min-height:140px}.passport-pages{padding:24px 18px}}
@media(max-width:400px){.site-header .brand{width:150px;flex-basis:150px}}
@media(prefers-reduced-motion:reduce){#stampGrid .passport-stamp{animation:none;transition:none}}


#stampGrid{gap:18px;align-items:start}
#stampGrid .passport-stamp{aspect-ratio:1;min-height:0;width:100%;border-radius:50%;padding:18px 15px;gap:7px;background:#fffdf8;display:flex;flex-direction:column;justify-content:center;align-items:center}
#stampGrid .stamp-map-art{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.13;filter:grayscale(1);pointer-events:none}
#stampGrid .passport-stamp.collected .stamp-map-art{opacity:.22;filter:grayscale(1)}
#stampGrid .passport-seal,#stampGrid .passport-stamp.collected .passport-seal{position:relative;inset:auto;width:36px;height:36px;opacity:1;z-index:auto;color:inherit;flex-shrink:0}
#stampGrid .passport-seal .icon,#stampGrid .passport-stamp.collected .passport-seal .icon{width:30px;height:30px}
#stampGrid .passport-stamp strong{max-width:90%;font-size:14px;line-height:1.25}
#stampGrid .passport-stamp small{max-width:90%;font-size:11px;line-height:1.35}
@media(max-width:760px){#stampGrid{gap:14px}#stampGrid .passport-stamp{min-height:0;padding:17px 10px;gap:5px}#stampGrid .passport-stamp strong{font-size:13px}#stampGrid .passport-stamp small{font-size:10px}.passport-pages{padding:24px 14px}}
@media(max-width:350px){#stampGrid{grid-template-columns:minmax(0,190px);justify-content:center}}


#stampGrid .passport-stamp{--stamp-label-bg:#fffdf8;max-width:220px;justify-self:center}
#stampGrid .passport-stamp.collected{--stamp-label-bg:#84000c}
#stampGrid .passport-stamp:hover{--stamp-label-bg:#f1e7d4}
#stampGrid .passport-stamp.collected:hover{--stamp-label-bg:#650009}
#stampGrid .passport-stamp strong,#stampGrid .passport-stamp small{background:var(--stamp-label-bg);border-radius:3px;padding:2px 4px;max-width:100%;width:auto}
#stampGrid .passport-stamp strong{font-size:14px}
#stampGrid .passport-stamp small{font-size:12px}
button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #17667b;outline-offset:3px;box-shadow:0 0 0 3px #fffdf8!important}
#passportButton{min-width:44px;min-height:44px}
dialog .close{min-width:44px;min-height:44px}
@media(max-width:400px){#stampGrid{grid-template-columns:minmax(0,200px);justify-content:center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(forced-colors:active){#stampGrid .stamp-map-art{display:none}#stampGrid .passport-stamp{border:2px solid ButtonText}#stampGrid .passport-stamp strong,#stampGrid .passport-stamp small{background:Canvas;color:CanvasText}}


.site-header .brand{width:165px;flex-basis:165px}
#stampGrid .passport-stamp.collected{background:radial-gradient(ellipse at 35% 22%,#a51b30 0%,#840b22 52%,#600b1c 100%);border:2px solid #6d091d;box-shadow:inset 0 0 0 3px #ac3444,inset 0 -5px 10px #44051566,0 2px 3px #30000b22;--stamp-label-bg:#840b22}
#stampGrid .passport-stamp.collected .stamp-map-art{opacity:.18}
#stampGrid .passport-stamp.collected:hover{background:#72091e!important;--stamp-label-bg:#72091e}
@media(max-width:1100px){#stampGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}#stampGrid .passport-stamp{max-width:155px;padding:12px 8px;gap:3px}#stampGrid .passport-seal,#stampGrid .passport-stamp.collected .passport-seal{width:26px;height:26px}#stampGrid .passport-seal .icon,#stampGrid .passport-stamp.collected .passport-seal .icon{width:23px;height:23px}#stampGrid .passport-stamp strong{font-size:13px;line-height:1.2}#stampGrid .passport-stamp small{font-size:12px;line-height:1.2}}
@media(max-width:760px){.site-header .brand{width:145px;flex-basis:145px}#stampGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#stampGrid .passport-stamp{max-width:155px}.passport-pages{padding:20px 12px}}
@media(max-width:400px){.site-header .brand{width:130px;flex-basis:130px}#stampGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#stampGrid .passport-stamp{padding:10px 5px}#stampGrid .passport-stamp strong{font-size:12px}#stampGrid .passport-stamp small{font-size:11px}}
@media(max-width:350px){#stampGrid .passport-seal,#stampGrid .passport-stamp.collected .passport-seal{width:20px;height:20px}#stampGrid .passport-seal .icon,#stampGrid .passport-stamp.collected .passport-seal .icon{width:18px;height:18px}#stampGrid .passport-stamp{gap:1px}#stampGrid .passport-stamp strong,#stampGrid .passport-stamp small{padding:1px 2px}}
@media(min-width:500px) and (max-width:760px){#stampGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
#passportDialog #closePassport{background:#fffdf8!important;color:#263335!important;border:1px solid #65716c!important;opacity:1}


.site-header .brand{width:150px;flex-basis:150px}
#stampGrid .passport-stamp.collected .passport-seal{color:#f3d58b;background:#740b20;border:1px solid #d9b866;border-radius:50%;width:34px;height:34px;box-shadow:inset 0 0 0 2px #740b20}
#stampGrid .passport-stamp.collected .passport-seal .icon{width:23px;height:23px}
#stampGrid .passport-stamp{cursor:pointer;transition:transform .16s ease,border-color .16s ease}
@media(hover:hover){#stampGrid .passport-stamp:hover{transform:translateY(-2px)}}
#stampGrid .passport-stamp:active{transform:scale(.97)}
@media(max-width:760px){.site-header .brand{width:132px;flex-basis:132px}}
@media(max-width:400px){.site-header .brand{width:120px;flex-basis:120px}#stampGrid .passport-stamp.collected .passport-seal{width:26px;height:26px}#stampGrid .passport-stamp.collected .passport-seal .icon{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){#stampGrid .passport-stamp:hover,#stampGrid .passport-stamp:active{transform:none}}
@media(forced-colors:active){#stampGrid .passport-stamp.collected .passport-seal{color:ButtonText;background:ButtonFace;border-color:ButtonText}}


#stampGrid .passport-stamp strong,#stampGrid .passport-stamp small{background:transparent;border-radius:0}
#stampGrid .stamp-map-art{opacity:.09}
#stampGrid .passport-stamp.collected .stamp-map-art{opacity:.12}
#stampGrid .passport-stamp{border:1px solid #8b7954;box-shadow:inset 0 0 0 3px #fffdf8,inset 0 0 0 4px #c1b18e}
#stampGrid .passport-stamp.collected{background:radial-gradient(ellipse at 35% 22%,#94152a 0%,#790b20 52%,#600b1c 100%);border:1px solid #b18a47;box-shadow:inset 0 0 0 3px #710b20,inset 0 0 0 4px #c8a45d,inset 0 -5px 10px #44051566,0 2px 3px #30000b22}
#stampGrid .passport-seal{color:#675023}
#stampGrid .passport-stamp.collected .passport-seal{color:#f3d58b;background:transparent;border:0;box-shadow:none}
@media(forced-colors:active){#stampGrid .passport-stamp,#stampGrid .passport-stamp.collected{border:2px solid ButtonText;box-shadow:none}#stampGrid .passport-seal,#stampGrid .passport-stamp.collected .passport-seal{color:ButtonText}}


#stampGrid .passport-stamp strong,#stampGrid .passport-stamp small{max-width:78%;width:auto;overflow-wrap:normal;text-wrap:balance;flex-shrink:0}
#stampGrid .passport-stamp strong{line-height:1.2}
#stampGrid .passport-stamp small{line-height:1.25}
#stampGrid .passport-stamp:hover{background:#a32339!important;color:#fff8e8;border-color:#d1ac66;box-shadow:inset 0 0 0 3px #a32339,inset 0 0 0 4px #d1ac66,0 3px 7px #40000b30}
#stampGrid .passport-stamp:hover .passport-seal{color:#f3d58b}
#stampGrid .passport-stamp.collected:hover{background:#a32339!important;color:#fff8e8}
#stampGrid .passport-stamp:hover .stamp-map-art{opacity:.09}
@media(max-width:400px){#stampGrid .passport-stamp{gap:2px}#stampGrid .passport-stamp strong,#stampGrid .passport-stamp small{max-width:80%;padding:0}}
@media(forced-colors:active){#stampGrid .passport-stamp:hover,#stampGrid .passport-stamp.collected:hover{background:Highlight!important;color:HighlightText;border-color:HighlightText}#stampGrid .passport-stamp:hover .passport-seal{color:HighlightText}}


#stampGrid .passport-stamp:not(.collected):hover{background:#e9e6de!important;color:#263335;border-color:#8b7954;box-shadow:inset 0 0 0 3px #e9e6de,inset 0 0 0 4px #a99a7b,0 3px 7px #26333522}
#stampGrid .passport-stamp:not(.collected):hover .passport-seal{color:#675023}
@media(forced-colors:active){#stampGrid .passport-stamp:not(.collected):hover{background:Highlight!important;color:HighlightText;border-color:HighlightText}#stampGrid .passport-stamp:not(.collected):hover .passport-seal{color:HighlightText}}
.site-header .brand{width:140px;flex-basis:140px}
@media(max-width:760px){.site-header .brand{width:124px;flex-basis:124px}}
@media(max-width:400px){.site-header .brand{width:112px;flex-basis:112px}}
