/* Approved XD detail layouts. Body copy and pictures remain ordinary editable HTML. */
:is(.saito-experience-single,.saito-places-single) .saito-breadcrumb { flex-wrap:nowrap; white-space:nowrap; overflow:hidden; }
:is(.saito-experience-single,.saito-places-single) .saito-breadcrumb > :not(:last-child) { flex-shrink:0; }
:is(.saito-experience-single,.saito-places-single) .saito-breadcrumb > :last-child { min-width:0; overflow:hidden; text-overflow:ellipsis; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-heading { margin-bottom:0; }
:is(.saito-experience-single,.saito-places-single) .saito-page-title-wrap { position:relative; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-subtitle { position:absolute; left:71px; top:0; transform:rotate(90deg); transform-origin:0 0; white-space:nowrap; font-family:"DIN Condensed",serif; font-size:12px; line-height:12px; letter-spacing:.1em; text-transform:uppercase; color:#8b3d3d; }
.saito-experience-single .saito-detail-heading-art { width:46.868104px; height:373.311012px; margin:0; }
.saito-experience-single .saito-detail-heading-art img { display:block; width:100%; height:100%; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-article { display:flow-root; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-article-heading { margin-top:87.704613px; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-article-heading h1 { position:relative; width:max-content; max-width:100%; margin:0 auto; padding:20px 32px; color:#355e3b; text-align:center; font-size:42px; font-weight:600; line-height:58px; letter-spacing:.05em; overflow-wrap:anywhere; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-article-heading h1::before { content:""; position:absolute; inset:-8px 0; pointer-events:none; background:url(../images/heading-corner.svg) left top/46px 16px no-repeat,url(../images/heading-corner-top-right.svg) right top/46px 16px no-repeat,url(../images/heading-corner-bottom-left.svg) left bottom/46px 16px no-repeat,url(../images/heading-corner-bottom-right.svg) right bottom/46px 16px no-repeat; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-badges { display:flex; flex-wrap:wrap; justify-content:center; gap:4px; margin-top:18px; font-family:var(--saito-sans); font-size:12px; line-height:22px; font-weight:700; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-badge { padding:0 9px; border:1px solid #385132; border-radius:4px; background:#385132; color:white; text-decoration:none; }
.saito-places-single .saito-detail-badge { background:transparent; border-color:#6c2735; color:#6c2735; }
.saito-places-single .saito-detail-badge-area { border-color:#c1ab48; color:#6a5e27; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-body { overflow-wrap:anywhere; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-body > :first-child { margin-top:0; }
.saito-experience-single .saito-detail-body { margin-top:45px; }
.saito-experience-single .saito-experience-photo-main { width:730px; max-width:100%; margin:0 auto 30px; transform:translateX(-1px); }
.saito-experience-single .saito-experience-photo-main img { display:block; width:100%; height:auto; aspect-ratio:730/1094; object-fit:fill; }
.saito-experience-single .saito-experience-photo-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.saito-experience-single .saito-experience-photo-pair figure { position:relative; margin:0; overflow:hidden; aspect-ratio:540/806; }
.saito-experience-single .saito-experience-photo-pair img { display:block; position:absolute; max-width:none; width:131.851852%; height:100%; left:-16.666715%; top:0; }
.saito-experience-single .saito-experience-photo-pair figure + figure img { width:111.444657%; height:auto; left:-5.628524%; top:-.125699%; }
.saito-experience-single .saito-experience-photos { margin:0; }
.saito-experience-single .saito-experience-description { margin:41px 0 38px; }
.saito-experience-single .saito-experience-description p { margin:0; }
.saito-experience-single .saito-experience-description p + p { margin-top:32px; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-table { overflow-x:auto; margin:0; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-table table { display:table; width:100%; border-block:2px solid #d5c9b9; }
.saito-experience-single .saito-detail-table th,.saito-experience-single .saito-detail-table td { padding:23px 20px 24px; line-height:27px; vertical-align:top; background:rgb(213 201 185/.1); font-weight:400; }
.saito-experience-single .saito-detail-table th { width:236px; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-map { margin:46px 0 0; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-map img { display:block; width:100%; height:auto; }
.saito-experience-single .saito-detail-map { width:calc(100% - 1.5px); margin-inline:auto; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-return { display:flex; justify-content:center; margin:63px 20px 0; padding-right:3px; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-return-button { position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center; gap:14px; width:271px; max-width:calc(100% - 4px); min-height:56px; padding:12px 12px; border:1px solid #355e3b; color:#385132; text-decoration:none; font-size:16px; font-weight:600; line-height:28px; transition:color .8s ease-out; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-return-button::after { content:""; position:absolute; inset:-4px -4px 2px 2px; border:1px solid #355e3b; pointer-events:auto; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-return-button img { flex-shrink:0; transition:filter .8s ease-out; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-button-fill { position:absolute; inset:-1px; z-index:-1; border-radius:2px; overflow:hidden; pointer-events:none; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-button-fill::before { content:""; position:absolute; left:calc(50% + .5px); top:50%; width:max(310px,calc(100% + 56px)); aspect-ratio:1; border-radius:50%; background:#385132; transform:translate(-50%,-50%) scale(.032258064516); opacity:.000849686; transition:transform .8s ease-out,opacity .8s ease-out; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-return-button:is(:hover,:focus-visible) { color:white; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-return-button:is(:hover,:focus-visible) img { filter:brightness(0) invert(1); }
:is(.saito-experience-single,.saito-places-single) .saito-detail-return-button:is(:hover,:focus-visible) .saito-detail-button-fill::before { transform:translate(-50%,-50%) scale(1); opacity:1; }
:is(.saito-experience-single,.saito-places-single) .saito-page-bottom { margin-top:-146px; }
.saito-places-single .saito-detail-article-heading { margin-top:88px; }
.saito-places-single .saito-detail-article-heading h1 { width:243px; padding:18px 0; line-height:62px; }
.saito-places-single .saito-detail-badges { margin-top:28px; }
.saito-places-single .saito-detail-body { margin-top:58px; }
.saito-places-single .saito-detail-subheading { position:relative; width:auto; max-width:100%; margin:51px 0 30px; padding:0 0 32px; text-align:left; color:#333; font-size:32px; line-height:36px; }
.saito-places-single .saito-detail-subheading::before { content:none; }
.saito-places-single .saito-detail-subheading::after { content:""; position:absolute; width:65px; height:4px; background:#355e3b; left:0; bottom:0; }
.saito-places-single .saito-detail-gallery + .saito-detail-subheading { margin-top:59px; }
.saito-places-single .saito-detail-gallery { width:min(1045px,100%); position:relative; left:.5px; margin:0 auto 51px; }
.saito-places-single .saito-detail-gallery-panels figure { margin:0; aspect-ratio:1045/695; }
.saito-places-single .saito-detail-gallery-panels figure[hidden] { display:none; }
.saito-places-single .saito-detail-gallery-panels img { display:block; width:100%; height:100%; object-fit:contain; }
.saito-places-single .saito-detail-gallery-navigation { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:10px; }
.saito-places-single .saito-detail-gallery-navigation > :is(a,span) { display:flex; justify-content:center; align-items:center; aspect-ratio:255/192; background:#f7f4f1; font-size:14px; font-weight:600; line-height:36px; letter-spacing:.05em; }
.saito-places-single .saito-detail-gallery-navigation a[aria-current] { outline:2px solid #355e3b; outline-offset:-2px; }
.saito-places-single .saito-detail-gallery-navigation img { width:100%; height:100%; object-fit:cover; }
.saito-places-single .saito-detail-gallery-arrow { position:absolute; z-index:1; top:50%; width:36px; height:36px; padding:0; border:0; background:transparent; transform:translateY(-50%); }
.saito-places-single .saito-detail-gallery-arrow.is-previous { left:-18px; }
.saito-places-single .saito-detail-gallery-arrow.is-next { right:-18px; }
.saito-places-single .saito-detail-gallery-arrow:disabled { opacity:.45; }
.saito-places-single .saito-detail-body h3 { position:relative; font-size:28px; line-height:36px; letter-spacing:.05em; font-weight:600; border-bottom:5px solid transparent; margin:71px 0 22px; padding-bottom:27px; }
.saito-places-single .saito-detail-body h3::after { content:""; position:absolute; left:0; right:0; width:auto; bottom:-4px; height:5.5px; pointer-events:none; background:repeating-linear-gradient(to right,#6c2735 0 1px,transparent 1px 2px) left top/100% 1px no-repeat,linear-gradient(#c1ab48,#c1ab48) left bottom/100% 2px no-repeat; }
.saito-places-single .saito-detail-body h3 + p { margin-top:0; }
.saito-places-single .saito-detail-body p { margin:0; }
.saito-places-single .saito-detail-body p + h3 { margin-top:34px; }
.saito-places-single .saito-detail-schedule { margin-top:23px; letter-spacing:0; }
.saito-places-single .saito-detail-schedule li { margin-bottom:14px; }
.saito-places-single .saito-detail-information-title { position:relative; width:100%; margin:55px 0 45px; padding:16px 24px; border-radius:36px; background:rgb(213 201 185/.25); color:#333; text-align:center; font-size:32px; font-weight:600; line-height:40px; letter-spacing:.05em; }
.saito-places-single .saito-detail-information-title::before { content:""; position:absolute; inset:auto 0 -7px; height:38.001px; background:url(../images/xd/exception__head-bg.svg) center/100% 100% no-repeat; pointer-events:none; }
.saito-places-single .saito-detail-information-title::after { content:""; position:absolute; width:23px; height:15px; background:url(../images/xd/head__triangle.svg) center/contain no-repeat; left:50%; bottom:-15px; transform:translateX(-50%); }
.saito-places-single .saito-detail-table th { width:164px; vertical-align:top; padding-bottom:25px; }
.saito-places-single .saito-detail-table td { vertical-align:top; padding-bottom:23px; }
.saito-places-single .saito-detail-map { width:calc(100% - 10.5px); margin:30px auto 0; transform:translateX(-.25px); }
.saito-places-single .saito-detail-return { margin-top:64px; }
.saito-places-single .saito-detail-return-button { width:207px; }
@media(min-width:601px) {
 .saito-places-single .saito-detail-article-heading h1::before { transform:translateX(4.5px); }
 /* XD offsets are relative to the editable article flow, not fixed page heights. */
 .saito-experience-single .saito-page-bottom { margin-top:-150px; height:343.278px; margin-bottom:1.722046px; mask-image:url(../images/experience-bottom-mask.svg); }
 .saito-places-single .saito-page-bottom { margin-top:-139px; }
}
@media(max-width:600px) {
 :is(.saito-experience-single,.saito-places-single) .saito-detail-subtitle { left:55.0708px; }
 .saito-experience-single .saito-detail-heading-art { width:31.069972px; height:248.715003px; margin-left:6.000291px; }
 :is(.saito-experience-single,.saito-places-single) .saito-detail-article-heading { margin-top:53.284997px; }
 :is(.saito-experience-single,.saito-places-single) .saito-detail-article-heading h1 { width:100%; padding:20px 23px; font-size:32px; line-height:38px; }
 :is(.saito-experience-single,.saito-places-single) .saito-detail-badges { margin-top:28px; }
 :is(.saito-experience-single,.saito-places-single) .saito-detail-map img { aspect-ratio:353/351; object-fit:contain; }
 .saito-experience-single .saito-detail-body { margin-top:45px; }
 .saito-experience-single .saito-experience-photo-main { width:min(354px,calc(100% + 1px)); max-width:calc(100% + 1px); margin:0 0 30px; transform:none; }
 .saito-experience-single .saito-experience-photo-main img { aspect-ratio:354/531; }
 .saito-experience-single .saito-experience-photo-pair { gap:9.2703px; grid-template-columns:172fr 171.7297fr; }
 .saito-experience-single .saito-experience-photo-pair figure { aspect-ratio:172/256; }
 .saito-experience-single .saito-experience-photo-pair img { width:131.976744%; left:-16.860048%; }
 .saito-experience-single .saito-experience-photo-pair figure + figure img { width:111.444657%; left:-5.628524%; }
 .saito-experience-single .saito-experience-description { margin:41px 0 40px; font-size:16px; line-height:27px; letter-spacing:.05em; }
 .saito-experience-single .saito-detail-introduction { font-size:15px; line-height:26px; letter-spacing:.05em; }
 .saito-experience-single .saito-experience-description p + p { margin-top:34px; }
 :is(.saito-experience-single,.saito-places-single) .saito-detail-table table { display:table; max-width:none; overflow:visible; width:100%; }
 .saito-experience-single .saito-detail-table table { min-width:570px; }
 .saito-experience-single .saito-detail-table th,.saito-experience-single .saito-detail-table td { font-size:15px; line-height:26px; padding:13px 10px 15px; min-width:0; }
 .saito-experience-single .saito-detail-table th { width:196px; }
 .saito-experience-single .saito-detail-contact :is(th,td) { padding-bottom:28px; }
 :is(.saito-experience-single,.saito-places-single) .saito-detail-map { width:100%; margin-top:46px; }
 :is(.saito-experience-single,.saito-places-single) .saito-detail-return { margin-top:63px; padding-right:2px; }
 :is(.saito-experience-single,.saito-places-single) .saito-page-bottom { margin-top:-30px; }
 .saito-places-single .saito-detail-article-heading { margin-top:48px; }
 .saito-places-single .saito-detail-badges { margin-top:28px; }
 .saito-places-single .saito-detail-body { margin-top:39px; }
 .saito-places-single .saito-detail-gallery + .saito-detail-subheading { margin-top:39px; }
 .saito-places-single .saito-detail-subheading { font-size:24px; line-height:36px; padding-bottom:28px; margin:45px 0 30px; }
 .saito-places-single .saito-detail-gallery { left:0; width:100vw; margin-left:calc((100% - 100vw)/2); margin-bottom:39px; }
 .saito-places-single .saito-detail-gallery-panels figure { aspect-ratio:393/261; }
 .saito-places-single .saito-detail-gallery-navigation { margin-inline:20px; gap:3px; }
 .saito-places-single .saito-detail-gallery-navigation > :is(a,span) { aspect-ratio:86/65; font-size:10px; line-height:10px; }
 .saito-places-single .saito-detail-gallery-arrow { display:none; }
 .saito-places-single .saito-detail-body h3 { font-size:20px; line-height:36px; padding-bottom:11px; margin:52px 0 25px; }
 .saito-places-single .saito-detail-body h3 + p { margin-top:25px; }
 .saito-places-single .saito-detail-body p + p { margin-top:0; }
 .saito-places-single .saito-detail-body p + h3 { margin-top:16px; }
 .saito-places-single .saito-detail-schedule { margin-top:24px; }
 .saito-places-single .saito-detail-schedule li { margin-bottom:11px; }
 .saito-places-single .saito-detail-information-title { font-size:24px; line-height:36px; padding:21px 24px 15px; margin:37px 0 35px; }
 .saito-places-single .saito-detail-information-title::before { height:37.999px; background-image:url(../images/xd/exception__head-bg-2.svg); }
 .saito-places-single .saito-detail-table table { min-width:693px; }
 .saito-places-single .saito-detail-table th { width:144px; min-width:144px; }
 .saito-places-single .saito-detail-table th,.saito-places-single .saito-detail-table td { line-height:26px; }
 .saito-places-single .saito-detail-table th { padding-right:19px; }
 .saito-places-single .saito-detail-table th,.saito-places-single .saito-detail-table td { padding-top:13px; padding-bottom:15px; }
 .saito-places-single .saito-detail-row-spaced :is(th,td) { padding-bottom:25px; }
 .saito-places-single .saito-detail-map { margin-top:30px; transform:none; }
 .saito-places-single .saito-detail-return { margin-top:48px; }
 .saito-places-single .saito-page-bottom { margin-top:-29px; }
}
@media(prefers-reduced-motion:reduce) {
 :is(.saito-experience-single,.saito-places-single) .saito-detail-return-button,:is(.saito-experience-single,.saito-places-single) .saito-detail-return-button img,:is(.saito-experience-single,.saito-places-single) .saito-detail-button-fill::before { transition:none; }
}

.saito-places-single .saito-detail-heading:has(.saito-page-title-long) .saito-detail-subtitle { position:static; transform:none; white-space:normal; }

.saito-places-single .saito-detail-heading.has-flow-subtitle:not(:has(.saito-page-title-long)) .saito-page-title { justify-self:start; }
/* Accepted long English expands the heading in normal flow; original short labels retain their XD rotation. */
:is(.saito-experience-single,.saito-places-single) .saito-detail-heading.has-flow-subtitle:not(:has(.saito-page-title-long)) { row-gap:16px; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-heading.has-flow-subtitle:not(:has(.saito-page-title-long)) .saito-page-title-wrap { display:contents; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-heading.has-flow-subtitle:not(:has(.saito-page-title-long)) :is(.saito-page-title,.saito-detail-heading-art) { grid-row:1; grid-column:1; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-heading.has-flow-subtitle:not(:has(.saito-page-title-long)) .saito-page-featured { grid-row:1; grid-column:2; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-heading.has-flow-subtitle .saito-detail-subtitle,
.saito-places-single .saito-detail-heading:has(.saito-page-title-long) .saito-detail-subtitle { position:static; transform:none; white-space:normal; writing-mode:horizontal-tb; min-width:0; max-width:100%; overflow-wrap:anywhere; line-height:18px; }
:is(.saito-experience-single,.saito-places-single) .saito-detail-heading.has-flow-subtitle:not(:has(.saito-page-title-long)) .saito-detail-subtitle { grid-row:2; grid-column:1/-1; box-sizing:border-box; padding-inline-end:40px; }
@media(max-width:600px) {
 :is(.saito-experience-single,.saito-places-single) .saito-detail-heading.has-flow-subtitle:not(:has(.saito-page-title-long)) .saito-detail-subtitle { padding-inline-end:20px; }
}
