
/* Shared ZAVA editorial type and lighter ink for inner pages. */
:root{--paper:#f3f0e7;--ink:#67584c;--muted:#81756a;--line:#d8d0c5}
body{background:var(--paper);color:var(--ink)}
.home h1,.page-intro h1,.booking-layout aside h1{font-family:'EB Garamond',Georgia,'Times New Roman',serif!important;font-weight:400!important;letter-spacing:.025em!important}
.home-services{color:#75685c!important}
.home-actions a{border-color:#8b7b6b!important}
.home-actions a:hover{background:#75685c!important}
.home-footer a{color:#67584c!important}
.principles article>span{font-family:'EB Garamond',Georgia,'Times New Roman',serif!important}
.button.dark{background:#75685c!important;border-color:#75685c!important}

/* Book page: atmospheric image field with a clean appointment-style inquiry panel. */
body:has(.booking-layout){background:#17231e url('/assets/study-1800.webp') center/cover fixed;color:#f5ed9c}
body:has(.booking-layout)::before{content:'';position:fixed;inset:0;background:rgba(9,20,17,.78);pointer-events:none;z-index:0}
body:has(.booking-layout) .header,body:has(.booking-layout) .footer{position:relative;z-index:1;border-color:rgba(245,237,156,.28);color:#f5ed9c}
body:has(.booking-layout) .header a:hover,body:has(.booking-layout) .footer a:hover{opacity:.7}
body:has(.booking-layout) .nav-book{border-color:#f5ed9c}
body:has(.booking-layout) main{position:relative;z-index:1}
body:has(.booking-layout) .booking-layout{max-width:1260px;grid-template-columns:.78fr 1.32fr;gap:7%;padding:112px 0 132px;align-items:start}
body:has(.booking-layout) .booking-layout aside{padding:8px 0 0;color:#f5ed9c}
body:has(.booking-layout) .booking-layout aside h1{font-family:'EB Garamond',Georgia,'Times New Roman',serif!important;font-size:clamp(54px,6.4vw,92px);line-height:1.02;letter-spacing:.015em;color:#f5ed9c;margin-bottom:28px}
body:has(.booking-layout) .booking-layout aside .eyebrow{color:#f5ed9c}
body:has(.booking-layout) .booking-layout aside>p:not(.eyebrow):not(.note){color:#fff8c5!important;font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:19px;line-height:1.6}
body:has(.booking-layout) .booking-layout aside .note{color:rgba(255,248,197,.72)!important}
body:has(.booking-layout) .booking-panel{background:#f7f8f5;color:#33454d;padding:44px 48px 48px;box-shadow:0 22px 70px rgba(0,0,0,.25)}
body:has(.booking-layout) .steps{border-color:#d8e0e4;color:#82909a;margin-bottom:34px}
body:has(.booking-layout) .steps li[aria-current]{color:#33454d}
body:has(.booking-layout) .form-step h2,body:has(.booking-layout) .booking-success h2{font-family:'EB Garamond',Georgia,'Times New Roman',serif;color:#33454d;font-weight:600;letter-spacing:-.02em}
body:has(.booking-layout) legend,body:has(.booking-layout) .form-step>label,body:has(.booking-layout) .form-row>label{color:#33454d;font-weight:600}
body:has(.booking-layout) .type-options label{background:#d9e5ee;border-color:#c7d4dc;color:#33454d;border-radius:2px}
body:has(.booking-layout) .type-options label:has(:checked){background:#d2e3d6;border-color:#2f693b}
body:has(.booking-layout) .set-choice{background:#fff;border-color:#d7e0e5;color:#33454d}
body:has(.booking-layout) .set-choice:has(:checked){background:#e3eee2;border-color:#2f693b}
body:has(.booking-layout) .form-step input:not([type=radio]):not([type=checkbox]),body:has(.booking-layout) textarea{background:#fff;border-color:#cbd6dd;color:#33454d}
body:has(.booking-layout) .button.dark{background:#00551c!important;border-color:#00551c!important;color:#fff!important}
body:has(.booking-layout) .button{border-color:#72818a;color:#33454d}
body:has(.booking-layout) .help,body:has(.booking-layout) .note{color:#72818a}
@media(max-width:850px){body:has(.booking-layout) .booking-layout{grid-template-columns:1fr;gap:42px;padding:72px 0 90px;max-width:680px}body:has(.booking-layout) .booking-panel{padding:32px 28px 36px}}
@media(max-width:600px){body:has(.booking-layout) .booking-layout{padding-top:48px}body:has(.booking-layout) .booking-layout aside h1{font-size:54px}body:has(.booking-layout) .booking-panel{padding:28px 20px 28px}}

/* Editorial fence gallery for the official Dining Room set. */
.scene-page{max-width:1440px}
.scene-page .detail-title{padding:65px 0 22px;max-width:540px}
.scene-page .detail-title h1{font-size:clamp(54px,7vw,104px);line-height:.96;letter-spacing:.01em}
.scene-page .detail-title .back{margin-bottom:52px}
.scene-page .detail-hero{display:none}
.scene-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(460px,1.1fr);gap:9%;align-items:start;padding:25px 0 105px}
.scene-copy{padding-top:42px}
.scene-copy .rule{width:44px;border-top:1px solid #9c8b7a;margin:0 0 35px}
.scene-copy>p{max-width:430px;font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:21px;line-height:1.7;color:var(--muted)}
.scene-copy .button{margin-top:36px}
.scene-specs{margin:75px 0 0;border-top:1px solid var(--line);font-family:'EB Garamond',Georgia,'Times New Roman',serif}
.scene-specs div{display:grid;grid-template-columns:145px 1fr;gap:22px;border-bottom:1px solid var(--line);padding:17px 0;font-size:15px;line-height:1.55}
.scene-specs dt{font-style:italic;color:var(--muted)}.scene-specs dd{margin:0}
.scene-layout>section:last-child{padding-top:58px}.fence-gallery{display:flex;align-items:stretch;gap:0;width:80%;height:360px;min-width:0;overflow:visible;margin:18px 0 0 auto;padding:18px 10px 24px;background:transparent}
.fence-panel{position:relative;flex:1 1 0;min-width:20px;border:3px solid var(--paper);padding:0;overflow:hidden;background:#d8cfc2;cursor:pointer;box-shadow:0 12px 28px rgba(72,57,45,.13);isolation:isolate;transition:flex-grow .65s cubic-bezier(.2,.75,.25,1),flex-basis .65s cubic-bezier(.2,.75,.25,1),transform .65s cubic-bezier(.2,.75,.25,1),clip-path .65s ease,filter .35s}
.fence-panel::after{content:attr(aria-label);position:absolute;left:14px;bottom:14px;color:#fff;font-size:10px;letter-spacing:.13em;writing-mode:vertical-rl;opacity:.82;text-shadow:0 1px 8px rgba(0,0,0,.35);transition:opacity .25s}
.fence-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.86);transition:filter .35s,transform .65s cubic-bezier(.2,.75,.25,1)}
.fence-panel:nth-child(1){flex-grow:1.05;transform:translateY(12px) rotate(-3deg);clip-path:polygon(7% 0,100% 5%,94% 96%,0 100%)}
.fence-panel:nth-child(2){flex-grow:.8;transform:translateY(-7px) rotate(2deg);clip-path:polygon(0 4%,94% 0,100% 100%,6% 95%)}
.fence-panel:nth-child(3){flex-grow:1.25;transform:translateY(16px) rotate(-1deg);clip-path:polygon(5% 0,100% 7%,95% 100%,0 94%)}
.fence-panel:nth-child(4){flex-grow:.72;transform:translateY(-12px) rotate(3deg);clip-path:polygon(4% 5%,96% 0,100% 94%,0 100%)}
.fence-panel:nth-child(5){flex-grow:1.12;transform:translateY(7px) rotate(-2deg);clip-path:polygon(0 0,94% 5%,100% 96%,5% 100%)}
.fence-panel:nth-child(6){flex-grow:.78;transform:translateY(-9px) rotate(2deg);clip-path:polygon(6% 2%,100% 0,95% 100%,0 94%)}
.fence-panel:nth-child(7){flex-grow:1.08;transform:translateY(13px) rotate(-2deg);clip-path:polygon(0 6%,95% 0,100% 95%,5% 100%)}
.fence-panel:hover,.fence-panel:focus-visible{flex-grow:8;flex-basis:185px;min-width:185px;z-index:4;outline:1px solid #9a8877;outline-offset:5px;transform:translateY(0) rotate(0) scale(1.035);clip-path:none}
.fence-panel:hover img,.fence-panel:focus-visible img{filter:saturate(1);transform:scale(1.015)}
.fence-panel:hover::after,.fence-panel:focus-visible::after{opacity:0}
.fence-hint{font-size:12px;letter-spacing:.12em;color:var(--muted);margin:16px 0 0;text-align:right}
@media(max-width:850px){.scene-layout{grid-template-columns:1fr;gap:42px}.scene-copy{padding-top:0}.scene-layout>section:last-child{padding-top:0}.fence-gallery{width:100%;height:430px}.scene-specs{margin-top:48px}}
@media(max-width:600px){.scene-page .detail-title{padding-top:38px}.scene-page .detail-title .back{margin-bottom:35px}.scene-page .detail-title h1{font-size:58px}.scene-copy>p{font-size:18px}.fence-gallery{height:350px;width:94%;padding:14px 5px 20px}.fence-panel:hover,.fence-panel:focus-visible{min-width:120px;flex-basis:120px}.scene-specs div{grid-template-columns:105px 1fr;gap:12px;font-size:14px}}
/* Official scene pages use the supplied photography as a quiet editorial catalogue. */
.official-detail .detail-title{max-width:760px}
.official-detail .detail-hero{width:min(82%,1100px);margin:15px 0 0 auto}
.official-detail .detail-hero img{aspect-ratio:1.5;object-fit:cover}
.official-detail .detail-info{max-width:1080px;margin:0 auto;padding-left:0;padding-right:0}
.official-detail .detail-gallery{max-width:1080px;margin:0 auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 54px}
.official-detail .detail-photo:nth-child(even){margin-top:92px}
.official-detail .detail-photo img{aspect-ratio:1.35;object-fit:cover;background:#e7e2d8}
.contact-form{display:flex;flex-direction:column;gap:17px;margin-top:26px}
.contact-form>label{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--ink)}
.contact-form>label span{color:var(--muted);font-size:12px}
.contact-form input,.contact-form textarea{background:transparent;color:var(--ink);border:1px solid #aaa89f;border-radius:0;min-height:46px;padding:11px;width:100%;font-size:16px}
.contact-form textarea{resize:vertical;line-height:1.6}
.contact-form .consent{display:flex;flex-direction:row;align-items:flex-start;gap:9px;line-height:1.55;font-size:13px;color:var(--muted)}
.contact-form .consent input{width:17px;min-height:17px;margin-top:2px;accent-color:var(--ink)}
.contact-form .button{align-self:flex-start;margin-top:4px}
.contact-confirmation{font-size:18px!important;line-height:1.8!important;color:var(--ink)!important}
@media(max-width:600px){.official-detail .detail-hero{width:100%;margin-top:5px}.official-detail .detail-gallery{grid-template-columns:1fr;gap:35px}.official-detail .detail-photo:nth-child(even){margin-top:0}}
/* Supplied ZAVA monogram used as the site wordmark. */
.wordmark{display:flex;align-items:center;height:46px}
.wordmark img{display:block;width:142px;height:auto;max-height:42px;object-fit:contain;object-position:left center;opacity:.72}
.wordmark:hover img{opacity:1}
.footer>a:first-child{display:flex;align-items:center}
.footer>a:first-child img{display:block;width:122px;height:auto;max-height:36px;object-fit:contain;opacity:.68}
@media(max-width:600px){.wordmark img{width:126px;max-height:38px}.footer>a:first-child img{width:112px}}
/* Rebalance the catalogue: the page is carried by whitespace and small image studies. */
.sets-grid{max-width:1120px;margin:0 auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:88px 54px;padding:35px 0 150px}
.card-image{max-width:330px;margin:0 auto}
.card-image img{aspect-ratio:1.48}
.card-caption{display:block;max-width:330px;margin:0 auto;padding-top:16px}
.card-caption h2{font-size:18px;margin-bottom:8px}
.card-caption>span{font-size:10px;letter-spacing:1.2px}
.official-detail .detail-hero{display:none}
.official-detail .detail-title{padding-bottom:95px}
.official-detail .detail-info{max-width:900px;padding:0 0 125px;gap:18%;}
.official-detail .detail-gallery{max-width:900px;grid-template-columns:repeat(3,minmax(0,1fr));gap:95px 38px}
.official-detail .detail-photo:nth-child(even){margin-top:65px}
.official-detail .detail-photo img{aspect-ratio:1.35;height:180px;object-fit:cover}
.official-detail .detail-photo figcaption{font-size:11px;letter-spacing:.04em}
.scene-page .scene-layout{padding-bottom:140px}
.scene-page .fence-gallery{width:68%;height:260px}
.scene-page .fence-hint{font-size:10px}
body:has(.booking-layout) .wordmark img{width:94px;max-height:30px}
body:has(.booking-layout) .booking-layout{grid-template-columns:.62fr 1.38fr;gap:11%;padding-top:86px}
body:has(.booking-layout) .booking-panel{max-width:780px;padding:40px 44px 44px}
body:has(.booking-layout) .form-step{padding-bottom:38px;margin-bottom:38px;border-bottom:1px solid #d8e0e4}
body:has(.booking-layout) .form-step:last-of-type{border-bottom:0;margin-bottom:0;padding-bottom:0}
body:has(.booking-layout) .booking-consent{border-bottom:0!important;margin-bottom:0!important;padding-bottom:0!important}
body:has(.booking-layout) .form-actions{margin-top:6px}
@media(max-width:850px){.sets-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 30px}.official-detail .detail-info{padding-bottom:90px}.official-detail .detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 28px}body:has(.booking-layout) .booking-layout{grid-template-columns:1fr;gap:45px}}
@media(max-width:600px){.sets-grid{grid-template-columns:1fr;gap:48px;padding-bottom:80px}.card-image,.card-caption{max-width:280px}.official-detail .detail-title{padding-bottom:55px}.official-detail .detail-info{padding-bottom:70px}.official-detail .detail-gallery{grid-template-columns:1fr;gap:38px}.official-detail .detail-photo:nth-child(even){margin-top:0}.official-detail .detail-photo img{height:auto;aspect-ratio:1.4;max-height:250px}.scene-page .fence-gallery{width:92%;height:210px}}
/* Compact set sheets: show the complete photo index in one desktop view. */
.sets-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1080px;gap:52px 34px;padding-top:20px;padding-bottom:80px}
.card-image,.card-caption{max-width:220px}
.card-image img{aspect-ratio:1.42}
.card-caption{padding-top:12px}.card-caption h2{font-size:16px;margin-bottom:6px}.card-caption>span{font-size:9px}
.official-detail .detail-title{padding:35px 0 42px}.official-detail .detail-title .back{margin-bottom:25px}.official-detail .detail-title h1{font-size:clamp(44px,5vw,68px)}
.official-detail .detail-info{padding-bottom:52px;max-width:920px;gap:14%}.official-detail .detail-info h2{font-size:20px;margin-bottom:14px}.official-detail .detail-info p{font-size:15px;line-height:1.55}.official-detail .detail-info ul{margin-bottom:18px}.official-detail .detail-info li{padding:7px 0;font-size:13px}.official-detail .detail-info .button{min-height:40px;padding:10px 17px;font-size:10px}.official-detail .detail-info .note{font-size:11px;margin-top:10px}.official-detail .detail-gallery{max-width:920px;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.official-detail .detail-photo:nth-child(even){margin-top:32px}.official-detail .detail-photo img{height:118px}.official-detail .detail-photo figcaption{font-size:10px;margin-top:8px}.official-detail .next-set{margin:45px 0 55px;padding-top:16px}.official-detail .next-set strong{font-size:22px}
.scene-page .detail-title{padding:38px 0 12px}.scene-page .detail-title .back{margin-bottom:24px}.scene-page .detail-title h1{font-size:clamp(52px,6vw,82px)}.scene-page .scene-layout{padding:15px 0 58px;gap:5%}.scene-page .scene-copy{padding-top:12px}.scene-page .scene-copy>p{font-size:17px;line-height:1.5;max-width:370px}.scene-page .scene-copy .rule{margin-bottom:20px}.scene-page .scene-copy .button{margin-top:20px;min-height:40px;padding:10px 17px;font-size:10px}.scene-page .scene-specs{margin-top:28px}.scene-page .scene-specs div{padding:8px 0;font-size:12px}.scene-page .scene-layout>section:last-child{padding-top:5px}.scene-page .fence-gallery{width:88%;height:190px;margin-top:5px}.scene-page .fence-hint{margin-top:8px;font-size:9px}
@media(max-width:1000px){.sets-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.official-detail .detail-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.sets-grid{grid-template-columns:1fr 1fr;gap:42px 18px}.card-image,.card-caption{max-width:100%}.official-detail .detail-title{padding-bottom:42px}.official-detail .detail-gallery{grid-template-columns:1fr 1fr}.official-detail .detail-photo:nth-child(even){margin-top:0}.official-detail .detail-photo img{height:120px}.scene-page .fence-gallery{height:210px}}
/* Final editorial pass: quiet proportions, fine type, and restrained details. */
:root{--paper:#f7f5ef;--ink:#66594f;--muted:#8a7d71;--line:#ded8ce}
body{background:var(--paper);color:var(--ink);font-family:'EB Garamond',Georgia,'Times New Roman',serif}
.header{height:78px;margin:0 5%;border-color:var(--line)}
.wordmark{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:13px;letter-spacing:3px;height:auto}
.header nav{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:11px;letter-spacing:.08em;gap:27px}
.nav-book{padding:0 0 5px;border-bottom:1px solid var(--ink)}
main{max-width:1320px;padding-left:5%;padding-right:5%;margin:0 auto}
main.home{max-width:none;padding-left:0;padding-right:0;margin:0}
.page-intro{padding:58px 0 44px}.page-intro h1{font-family:'EB Garamond',Georgia,'Times New Roman',serif!important;font-size:clamp(42px,5.4vw,74px);letter-spacing:.02em!important;line-height:1.04;margin-bottom:18px}.page-intro>p:last-child{font-family:inherit;font-size:16px;color:var(--muted)}
.sets-grid{max-width:980px;grid-template-columns:repeat(4,minmax(0,1fr));gap:58px 34px;padding:16px 0 100px}.card-image,.card-caption{max-width:185px}.card-image{border:1px solid #e4ded5;padding:4px}.card-image img{aspect-ratio:1.42;filter:saturate(.86)}.card-image>span{right:8px;bottom:8px;width:24px;height:24px;font-size:16px}.card-caption{padding-top:12px}.card-caption h2{font-family:inherit;font-size:16px;letter-spacing:.01em;font-weight:400}.card-caption>span{font-family:'EB Garamond',Georgia,'Times New Roman',serif;color:var(--muted);font-size:9px;letter-spacing:.14em}
.detail-title{padding:42px 0 34px}.detail-title .back{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:10px;letter-spacing:.1em;color:var(--muted);margin-bottom:28px}.detail-title .eyebrow{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:10px;letter-spacing:.18em;color:var(--muted);margin-bottom:12px}.detail-title h1,.scene-page .detail-title h1{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:.015em;line-height:.98}
.official-detail .detail-title h1{font-size:clamp(44px,5vw,66px)}.official-detail .detail-info{max-width:800px;padding-bottom:58px;gap:16%}.official-detail .detail-info h2{font-family:inherit;font-size:20px;font-weight:400}.official-detail .detail-info p{font-size:15px;color:var(--muted);line-height:1.65}.official-detail .detail-info li{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:11px;color:var(--muted);letter-spacing:.02em;border-color:var(--line)}.official-detail .detail-gallery{max-width:800px;gap:70px 26px}.official-detail .detail-photo img{height:106px;filter:saturate(.85)}.official-detail .detail-photo figcaption{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:9px;color:var(--muted);letter-spacing:.06em}.official-detail .next-set{max-width:800px;margin:42px auto 55px;border-color:var(--line)}
.scene-page{max-width:1320px}.scene-page .detail-title{max-width:700px;padding-top:42px}.scene-page .detail-title h1{font-size:clamp(54px,6vw,82px)}.scene-page .scene-layout{grid-template-columns:minmax(240px,.8fr) minmax(440px,1.2fr);gap:8%;padding-top:5px}.scene-page .scene-copy>p{font-size:17px;color:var(--muted);line-height:1.6}.scene-page .scene-copy .button{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:10px;letter-spacing:.15em;color:var(--ink);background:transparent;border-color:#b7aa9c}.scene-page .scene-specs div{font-family:inherit;font-size:12px;border-color:var(--line)}.scene-page .fence-gallery{width:82%;height:188px;background:transparent}.scene-page .fence-panel{border-width:2px;box-shadow:0 8px 18px rgba(72,57,45,.09)}.scene-page .fence-hint{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:9px;letter-spacing:.16em;color:var(--muted)}
.about-story{max-width:900px}.about-story .lead{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:32px}.about-story>div p,.contact-grid address,.contact-grid p{font-family:inherit;font-size:15px;line-height:1.8;color:var(--muted)}.principles{max-width:1000px;margin:0 auto}.principles h2{font-family:inherit;font-size:19px}.principles p{font-family:inherit;font-size:14px;color:var(--muted)}.about-image{width:36%;margin-top:58px}
.contact-grid{max-width:980px;margin:0 auto;gap:8%;padding-bottom:92px}.contact-grid h2{font-family:inherit;font-size:20px}.contact-grid dl{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:12px}.contact-form input,.contact-form textarea{border-color:#cfc7bc;font-family:inherit;font-size:15px}.footer{margin:0 5%;padding:24px 0;border-color:var(--line)}.footer nav{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:10px;letter-spacing:.08em;gap:20px}.footer>span{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:10px}
body:has(.booking-layout) .header{height:78px}body:has(.booking-layout) .booking-layout{padding-top:76px;padding-bottom:86px}body:has(.booking-layout) .booking-layout aside h1{font-size:clamp(50px,5.5vw,76px)}body:has(.booking-layout) .booking-panel{padding:36px 40px 40px}
@media(max-width:1000px){.sets-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.scene-page .scene-layout{grid-template-columns:1fr 1.4fr}}
@media(max-width:600px){.header{height:auto;padding-top:22px}.header nav{gap:16px;font-size:10px}.page-intro{padding-top:44px}.sets-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 20px}.card-image,.card-caption{max-width:100%}.detail-title{padding-top:34px}.scene-page .scene-layout{grid-template-columns:1fr}.scene-page .fence-gallery{width:94%;height:205px}.about-image{width:72%}.footer{margin:0 5%}}
/* Dining Room is a fixed catalogue spread and intentionally does not inherit the set index treatment. */
.dining-body{background:#f7f5ef;color:#8a7b6e;overflow-x:hidden}
.dining-editorial{min-height:100vh;padding:5.2vh 7.1vw 4.7vh;display:flex;flex-direction:column;box-sizing:border-box}
.dining-top,.dining-bottom{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:38px;font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:11px;letter-spacing:.24em;color:#9b8e82;text-transform:uppercase}
.dining-top i,.dining-bottom i{height:1px;background:#d8d0c7;display:block}
.dining-grid{position:relative;flex:1;min-height:0}
.dining-copy{position:absolute;left:3.2vw;top:16.5%;z-index:2}
.dining-kicker{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:58px;line-height:.92;letter-spacing:.02em;margin:0;color:#8b7c70}
.dining-copy h1{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:62px;font-weight:400;line-height:1.08;letter-spacing:.01em;margin:0;color:#8b7c70}
.dining-rule{width:48px;height:1px;background:#a99a8c;margin:42px 0 33px}
.dining-description{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:17px;line-height:1.58;color:#9a8d81;margin:0}
.dining-inquire{display:inline-flex;margin-top:43px;border:1px solid #b9aa9d;padding:17px 39px;color:#8c7d70;font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:14px;letter-spacing:.22em}
.dining-inquire:hover{background:#ece7df}
.dining-main-photo{position:absolute;right:2.4vw;top:13.5%;width:45.5%;margin:0;border:1px solid #a99a8d;padding:4px;background:#f7f5ef}
.dining-main-photo img{display:block;width:100%;aspect-ratio:1.55;object-fit:cover}
.dining-detail-photo{position:absolute;left:15.7%;bottom:6.5%;width:29.5%;margin:0;border:1px solid #a99a8d;padding:4px;background:#f7f5ef}
.dining-detail-photo img{display:block;width:100%;aspect-ratio:1.26;object-fit:cover}
.dining-note{position:absolute;right:3.5vw;bottom:12%;font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:17px;line-height:1.5;font-style:italic;color:#9d8f83}.dining-note p{margin:0}.dining-note span{display:block;width:30px;height:1px;background:#a99a8d;margin-top:26px}
.dining-bottom{margin-top:1vh}
@media(max-width:800px){.dining-editorial{min-height:auto;padding:28px 22px 30px}.dining-top{grid-template-columns:1fr auto;gap:12px;font-size:8px;letter-spacing:.16em}.dining-top i{display:none}.dining-grid{display:grid;grid-template-columns:1fr;gap:26px;padding:70px 0 40px}.dining-copy,.dining-main-photo,.dining-detail-photo,.dining-note{position:static;width:auto}.dining-kicker{font-size:42px}.dining-copy h1{font-size:48px}.dining-rule{margin:24px 0}.dining-description{font-size:16px}.dining-inquire{margin-top:24px}.dining-main-photo{order:2}.dining-detail-photo{order:3;width:72%;margin-left:12%}.dining-note{order:4;margin:10px 0 20px auto}.dining-bottom{font-size:8px;letter-spacing:.16em;gap:14px}}
/* Sets index contact sheet preview: all scenes visible in the first viewport. */
.sets-index main{max-width:1440px}
.sets-index .header{height:68px}
.sets-index .page-intro{padding:36px 0 24px;display:flex;align-items:baseline;gap:38px}
.sets-index .page-intro .eyebrow{margin:0;font-size:10px;letter-spacing:.16em;white-space:nowrap}
.sets-index .page-intro h1{font-size:clamp(42px,4.3vw,62px);margin:0}
.sets-index .page-intro>p:last-child{font-size:13px;margin:0 0 0 auto;color:var(--muted)}
.sets-index .sets-grid{max-width:1120px;margin:0 auto;grid-template-columns:repeat(5,minmax(0,1fr));gap:34px 28px;padding:22px 0 42px}
.sets-index .card-image,.sets-index .card-caption{max-width:100%}
.sets-index .card-image{padding:3px}
.sets-index .card-image img{aspect-ratio:1.5}
.sets-index .card-caption{padding-top:9px}
.sets-index .card-caption h2{font-size:14px;margin-bottom:4px}
.sets-index .card-caption>span{font-size:8px;letter-spacing:.12em}
.sets-index .footer{padding:16px 0}
@media(max-width:1000px){.sets-index .sets-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 20px}.sets-index .page-intro{display:block}.sets-index .page-intro .eyebrow{margin-bottom:10px}.sets-index .page-intro>p:last-child{margin-top:12px}}
@media(max-width:600px){.sets-index .header{height:auto}.sets-index .page-intro{padding:36px 0 24px}.sets-index .sets-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}.sets-index .card-caption h2{font-size:13px}}
/* Sets index alignment: place the contact sheet on the lower golden section. */
.sets-index .page-intro{min-height:calc(61.8vh - 68px);box-sizing:border-box;align-items:flex-start}
.sets-index .sets-grid{padding-top:0;gap:26px 28px}
.sets-index .card-image img{aspect-ratio:1.5}
.sets-index .card-caption h2{font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-weight:600}
@media(max-width:1000px){.sets-index .page-intro{min-height:auto}.sets-index .sets-grid{padding-top:28px}}
/* Art-school catalogue rhythm for the Sets index: disciplined grid, gentle asymmetry. */
.sets-index{--sets-grid-start:52vh}
.sets-index .page-intro{min-height:calc(var(--sets-grid-start) - 68px)}
.sets-index .sets-grid{max-width:1120px;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:row;gap:38px 24px;align-items:start}
.sets-index .set-card{min-width:0}
.sets-index .set-card:nth-child(1){grid-column:span 3}.sets-index .set-card:nth-child(2){grid-column:span 2;transform:translateY(24px)}.sets-index .set-card:nth-child(3){grid-column:span 2;transform:translateY(8px)}.sets-index .set-card:nth-child(4){grid-column:span 3;transform:translateY(30px)}.sets-index .set-card:nth-child(5){grid-column:span 2;transform:translateY(3px)}
.sets-index .set-card:nth-child(6){grid-column:span 2;transform:translateY(13px)}.sets-index .set-card:nth-child(7){grid-column:span 3;transform:translateY(-2px)}.sets-index .set-card:nth-child(8){grid-column:span 2;transform:translateY(22px)}.sets-index .set-card:nth-child(9){grid-column:span 3;transform:translateY(6px)}.sets-index .set-card:nth-child(10){grid-column:span 2;transform:translateY(28px)}
.sets-index .card-image{max-width:none;padding:3px}.sets-index .card-image img{height:clamp(92px,8.2vw,132px);aspect-ratio:auto;object-fit:cover}.sets-index .card-caption{max-width:none}.sets-index .card-caption h2{font-size:15px;line-height:1.15}.sets-index .card-caption>span{font-size:8px}
@media(max-width:1000px){.sets-index .page-intro{min-height:auto}.sets-index .sets-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 20px}.sets-index .set-card:nth-child(n){grid-column:span 1;transform:none}.sets-index .set-card:nth-child(1),.sets-index .set-card:nth-child(5),.sets-index .set-card:nth-child(9){grid-column:span 2}.sets-index .card-image img{height:110px}}
@media(max-width:600px){.sets-index{--sets-grid-start:auto}.sets-index .sets-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 16px}.sets-index .set-card:nth-child(n){grid-column:span 1;transform:none}.sets-index .set-card:nth-child(1),.sets-index .set-card:nth-child(5),.sets-index .set-card:nth-child(9){grid-column:span 1}.sets-index .card-image img{height:auto;aspect-ratio:1.42}}
/* Keep the asymmetry legible: offsets stay subtle so titles never collide. */
.sets-index .sets-grid{row-gap:48px}
.sets-index .set-card:nth-child(1),.sets-index .set-card:nth-child(5),.sets-index .set-card:nth-child(7){transform:translateY(0)}
.sets-index .set-card:nth-child(2){transform:translateY(12px)}
.sets-index .set-card:nth-child(3){transform:translateY(4px)}
.sets-index .set-card:nth-child(4){transform:translateY(15px)}
.sets-index .set-card:nth-child(6){transform:translateY(7px)}
.sets-index .set-card:nth-child(8){transform:translateY(13px)}
.sets-index .set-card:nth-child(9){transform:translateY(5px)}
.sets-index .set-card:nth-child(10){transform:translateY(16px)}
@media(max-width:1000px){.sets-index .sets-grid{row-gap:30px}.sets-index .set-card:nth-child(n){transform:none}}

/* Set photographs: an orderly two-column contact sheet with a quiet archival frame. */
.official-detail .detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(30px,4vw,52px);max-width:900px;margin:0 auto 64px}
.official-detail .detail-photo{position:relative;min-width:0;margin:0!important;padding:8px;background:#f7f5ef;border:1px solid #a99a8d;box-shadow:0 5px 18px rgba(72,57,45,.07)}
.official-detail .detail-photo::after{content:"";position:absolute;inset:4px;border:1px solid rgba(169,154,141,.48);pointer-events:none}
.official-detail .detail-photo img{display:block;width:100%;height:auto;aspect-ratio:1.42;object-fit:cover;filter:saturate(.9)}
.official-detail .detail-photo figcaption{margin-top:11px;font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:12px;line-height:1.4;letter-spacing:.04em;color:#75685e}
.official-detail .detail-photo:last-child:nth-child(odd){grid-column:1/-1;width:calc((100% - clamp(30px,4vw,52px))/2);justify-self:center}
@media(max-width:600px){.official-detail .detail-gallery{grid-template-columns:1fr;gap:28px;max-width:440px;margin-bottom:45px}.official-detail .detail-photo:last-child:nth-child(odd){grid-column:auto;width:100%}.official-detail .detail-photo{padding:7px}.official-detail .detail-photo::after{inset:3px}}

