.chateau-gallery{aspect-ratio:auto;overflow:visible;padding:5cqw 0 9cqw;color:#654830}
.chateau-gallery-heading{text-align:center;margin:0 6% 7cqw}
.chateau-gallery-heading h2{color:#69472c}
.chateau-gallery-heading p{font:clamp(13px,3.2cqw,19px)/1.5 Georgia,serif;margin:3cqw 0 0}
.chateau-album{position:relative;isolation:isolate;margin:0 7%;padding:7cqw 5cqw 5cqw;background:linear-gradient(90deg,#ded3bf,#f8f3e9 4%,#fffaf1 10%,#faf5eb 94%,#e9dfcc);border:1px solid #d6c4a2;box-shadow:1px 2px 0 #fff9ee,3px 4px 0 #d5c9b5,5px 6px 0 #fcf6e9,7px 8px 0 #cec0a8,0 12px 22px #6c4b2412}
.chateau-album::before{content:'';position:absolute;inset:10px 10px 10px 14px;border:1px solid #c9ad7866;pointer-events:none}
.chateau-album::after{content:'';position:absolute;left:2.3%;top:0;bottom:0;width:2px;box-shadow:1px 0 #fff8e8,-1px 0 #c9b59066;pointer-events:none}
.album-bookmark{position:absolute;top:-8px;right:8%;width:9%;height:7cqw;background:linear-gradient(90deg,#b99787,#e7ccbe 25%,#f4e0d2 55%,#ba9482);clip-path:polygon(0 0,100% 0,100% 100%,50% 79%,0 100%);filter:drop-shadow(0 2px 2px #6b4c3933);pointer-events:none}
.album-dedication{font:clamp(22px,6cqw,36px)/1.1 'Pinyon Script',Georgia,serif;text-align:center;color:#987547;margin:0 0 4cqw}
.album-pages{margin:0;padding:0;list-style:none}
.album-page{margin:0 0 6cqw}
.album-ready .album-page{margin:0}
.album-photo-link{position:relative;display:block;padding:2.2cqw;background:#f3ede0;border:1px solid #c9b184;box-shadow:inset 0 0 0 2px #fff8eb,0 3px 8px #57442c16;touch-action:pan-y pinch-zoom;text-decoration:none}
.album-photo-link::before,.album-photo-link::after{content:'';position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(135deg,#806039,#ebd39f 28%,#b89760 49%,transparent 50%) top left,linear-gradient(225deg,#806039,#ebd39f 28%,#b89760 49%,transparent 50%) top right,linear-gradient(45deg,#806039,#ebd39f 28%,#b89760 49%,transparent 50%) bottom left,linear-gradient(315deg,#806039,#ebd39f 28%,#b89760 49%,transparent 50%) bottom right;background-size:11% 15%;background-repeat:no-repeat}
.album-photo-link::after{inset:3px;background:none;border:1px solid #fff3d08c;clip-path:none}
.album-photo-area{position:relative;display:grid;place-items:center;aspect-ratio:4/3;background:#eae3d6;overflow:hidden}
.album-photo-area img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:contain}
.album-photo-error{position:relative;text-align:center;padding:16px;font:italic 16px/1.5 Georgia,serif;color:#735d43}
.album-expand{position:absolute;right:3.5cqw;bottom:3.5cqw;display:none;place-items:center;width:36px;height:36px;background:#fff9edeb;color:#60442d;border:1px solid #b59a72;border-radius:50%;box-shadow:0 2px 6px #0002}
.album-ready .album-expand{display:grid}.album-expand svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}
.album-page figcaption{text-align:center;padding:4cqw 1cqw 0;font:clamp(27px,7.2cqw,43px)/1.2 'Pinyon Script',Georgia,serif;color:#69482f;overflow-wrap:anywhere;text-wrap:balance}
.album-page figcaption small{display:block;font:clamp(10px,2.6cqw,14px)/1.5 Georgia,serif;letter-spacing:.14em;text-transform:uppercase;color:#84694c;margin-top:2cqw}
.album-leaf-enter{animation:album-leaf-settle .55s cubic-bezier(.2,.7,.2,1) both;transform-origin:0 50%}
@keyframes album-leaf-settle{from{opacity:.45;transform:perspective(900px) rotateY(-9deg) translateX(5px)}to{opacity:1;transform:none}}
.album-revealing .chateau-album{animation:album-arrive .95s cubic-bezier(.2,.7,.2,1) both}
@keyframes album-arrive{from{opacity:.25;transform:translateY(16px) rotate(-1.5deg)}to{opacity:1;transform:none}}
.album-controls{display:flex;align-items:center;justify-content:center;gap:4cqw;margin:4cqw 0 0}
.album-controls button{min-width:44px;min-height:44px;padding:6px;border:1px solid #cdb68f;background:#fbf6eb;border-radius:50%;font:24px Georgia,serif;color:#715432}
.album-controls button:disabled{opacity:.3;cursor:default}
.album-controls output{font:12px/1.4 Georgia,serif;letter-spacing:.15em;font-variant-numeric:tabular-nums;color:#7a5f40}
.album-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:8px 6px 10px;margin:5cqw 7% 0;scrollbar-width:thin;scrollbar-color:#c6ad87 transparent;overscroll-behavior-x:contain}
.album-thumbnail{position:relative;flex:0 0 calc((100% - 20px)/3);min-width:0;min-height:44px;padding:4px;border:1px solid #d5c4a8;border-radius:0;background:#fbf7ee;opacity:.7;box-shadow:0 2px 4px #64411d12}
.album-thumbnail img{display:block;aspect-ratio:4/3;width:100%;height:auto;object-fit:cover}
.album-thumbnail[aria-current=true]{opacity:1;border-color:#876335;box-shadow:0 0 0 2px #b38b5266}
.album-thumbnail span{display:block;padding:4px;font:11px Georgia,serif;color:#876c4b}
.album-hint{text-align:center;margin:2cqw 7% 0;font:italic clamp(12px,3cqw,17px)/1.5 Georgia,serif;color:#81684e}
.album-hint::after{content:'';display:block;width:120px;height:24px;background:url('../assets/chateau-chapters/menu-divider-v1.svg') center/contain no-repeat;margin:4cqw auto 0}
.chateau-gallery a:focus-visible,.chateau-gallery button:focus-visible{outline:2px solid #735025;outline-offset:4px}
.album-dialog{position:fixed;inset:0;margin:auto;width:min(100% - 24px,980px);height:min(90svh,900px);max-height:calc(100svh - 24px);max-width:calc(100% - 24px);border:1px solid #c2a473;background:#f5f0e6;padding:14px;color:#62482f;box-shadow:0 18px 60px #201a1680;font-family:Georgia,serif}
.album-dialog[open]{display:grid;grid-template-rows:auto minmax(80px,1fr) auto auto;gap:10px}
.album-dialog [hidden]{display:none!important}
.album-dialog::backdrop{background:#282118dd;backdrop-filter:blur(6px)}
.album-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;font:italic 15px/1.4 Georgia,serif}
.album-dialog-close{min-width:44px;min-height:44px;padding:4px;border:1px solid #cbb692;background:#fffbf1;color:#644829;font:26px/1 Georgia,serif;border-radius:50%}
.album-dialog-image{position:relative;display:grid;place-items:center;min-height:0;touch-action:pan-y pinch-zoom;background:#ebe4d7}
.album-dialog-image img{display:block;width:100%;height:100%;min-height:0;object-fit:contain;position:absolute;inset:0}
.album-dialog-caption{text-align:center;margin:0;font:16px/1.4 Georgia,serif;overflow-wrap:anywhere;padding:0 8px}
.album-dialog .album-controls{margin:0;gap:25px}
.album-dialog button:focus-visible{outline:2px solid #644829;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.album-leaf-enter,.album-revealing .chateau-album{animation:none!important}}
@media print{.album-ready .album-page[hidden]{display:block!important}.album-page{break-inside:avoid;margin-bottom:24px!important}.album-controls,.album-thumbnails,.album-hint,.album-expand,.album-dialog{display:none!important}}

/* A bound, engraved album: all ornament stays independent of customer photos. */
.chateau-album{margin-inline:6%;padding:8cqw 5.5cqw 5cqw 7cqw;border:2px solid #c6ae85;border-radius:3px 9px 9px 3px;background:repeating-linear-gradient(0deg,#fff8e708 0 1px,transparent 1px 4px),linear-gradient(100deg,#c6b18d,#e8dbc1 3%,#faf2e3 6%,#fffbf2 24%,#f8f0e1 92%,#e7dac3);box-shadow:1px 2px #fffaeb,3px 4px #bea882,4px 5px #fff7e8,6px 7px #d7c6a6,7px 8px #fff8eb,9px 10px #c9b48e,10px 12px #efe4d0,0 15px 28px #51381c20}
.chateau-album::before{inset:13px 12px 13px 19px;border:1px solid #b2935e88;box-shadow:inset 0 0 0 3px #fff9ee,inset 0 0 0 4px #cbb58c55;border-radius:2px 5px 5px 2px}
.chateau-album::after{left:-3px;width:13px;box-shadow:inset -2px 0 3px #76532b33,1px 0 #fff4d9;border:1px solid #9e7d4c77;border-radius:5px 0 0 5px;background:repeating-linear-gradient(0deg,transparent 0 54px,#8e6b3c55 54px 55px,#f5e4bc 55px 57px,#a78a5a66 57px 58px,transparent 58px 92px),linear-gradient(90deg,#a18358,#e0cda4 45%,#bca17a)}
.album-corner{position:absolute;width:clamp(35px,12cqw,72px);aspect-ratio:1;background:url('../assets/chateau-chapters/menu-corner-v1.svg') center/contain no-repeat;z-index:3;pointer-events:none}
.album-corner-nw{top:5px;left:12px}.album-corner-ne{top:5px;right:5px;transform:rotate(90deg)}.album-corner-se{bottom:5px;right:5px;transform:rotate(180deg)}.album-corner-sw{bottom:5px;left:12px;transform:rotate(270deg)}
.album-bookmark{right:14%;top:-12px;height:11cqw;width:9%;z-index:4;background:repeating-linear-gradient(90deg,#fff5e316 0 1px,transparent 1px 3px),linear-gradient(90deg,#aa8270,#d1ab98 14%,#f3dcca 44%,#e5c3b0 66%,#b78e7c 92%,#efd4c0);border-inline:1px solid #bca08a}
.album-bookmark::after{content:'';position:absolute;inset:4px;border-inline:1px dashed #f8e9db88}
.album-crest{width:clamp(55px,16cqw,94px);aspect-ratio:1;margin:0 auto 2cqw;display:grid;place-items:center;position:relative;color:#98713c;font:italic clamp(15px,4cqw,25px)/1 Georgia,serif;background:url('../assets/chateau-chapters/menu-crest-v1.svg') center/contain no-repeat;text-shadow:0 1px #fff6da}
.album-edition{text-align:center;text-transform:uppercase;letter-spacing:.2em;font:clamp(9px,2.1cqw,12px)/1.5 Georgia,serif;color:#987747;margin:0 0 2cqw}
.album-dedication{margin:0 0 5cqw;color:#846039;text-shadow:0 1px #fff}
.album-photo-link{padding:3.2cqw;border:3px double #a98b59;background:linear-gradient(125deg,#f2e6ce,#fff9eb 46%,#e9d9b9);box-shadow:0 0 0 2px #fdf6e7,0 0 0 3px #cab08066,inset 0 0 10px #92714224,0 5px 12px #6d4f2925}
.album-photo-link::before,.album-photo-link::after{inset:0;background:url('../assets/chateau-chapters/album-mount-v1.svg') left top/18% auto no-repeat;border:0;box-shadow:none;transform:none}
.album-photo-link::after{transform:rotate(180deg)}
.album-photo-area{outline:1px solid #92774b55;box-shadow:0 1px 5px #61442640}
.album-expand{top:4cqw;right:4cqw;bottom:auto;z-index:3}
.album-page figcaption{padding-top:5cqw}
.album-page figcaption::before{content:'';display:block;width:42%;height:20px;margin:0 auto 2cqw;background:url('../assets/chateau-chapters/menu-divider-v1.svg') center/contain no-repeat}
.album-page figcaption small{font-style:italic;letter-spacing:.08em;text-transform:none}
.album-controls{padding:1cqw 4cqw 0}.album-controls button{box-shadow:inset 0 0 0 3px #fffcf4,0 1px 3px #70512612;border:1px solid #b99a65;background:linear-gradient(#fffcf2,#f1e3c9)}
.album-revealing .album-crest{animation:album-foil-light 1.8s ease-out both}
@keyframes album-foil-light{0%,100%{filter:brightness(1)}45%{filter:brightness(1.45)}}
@media(prefers-reduced-motion:reduce){.album-revealing .album-crest{animation:none}}
