/* Shared skeleton: opt-in Page wrapper. Plugin modal/calendar/video DOM is untouched. */
.aim26-unified { --unified-width: 1160px; --unified-gutter: clamp(24px, 5vw, 80px); --unified-space: clamp(64px, 8vw, 112px); --unified-accent: var(--aim26-promotion); --special-accent: var(--unified-accent); background: #fff; color: var(--aim26-ink); font-family: var(--aim26-ja); }
.aim26-unified--brew { --unified-accent: var(--aim26-brew); }
.aim26-unified--brew .aim26-unified__button:hover { color:var(--aim26-ink); }
.aim26-unified--nature { --unified-accent: var(--aim26-nature); }
.aim26-unified--community { --unified-accent: var(--aim26-community); }
.aim26-unified.aim-story-page { --paper:#fff; --accent:var(--unified-accent); --ink:var(--aim26-ink); background:#fff; font-family:var(--aim26-ja); }
.aim26-unified :is(.photo-movie-page,.ott-page) { background:#fff; color:var(--aim26-ink); width:100%; max-width:100%; margin-inline:0; }
.aim26-unified :is(.pm-section,.pm-hero,.pm-cta,.ott-hero,.ott-intro,.ott-tours,.ott-contact) { width:100%; max-width:100%; margin-inline:0; }
.aim26-unified .aim26-unified__container,
.aim26-unified :is(.aim26-page-content,.aim26-lab-editorial .aim26-container) { width: min(calc(100% - 2 * var(--unified-gutter)), var(--unified-width)); max-width: var(--unified-width); margin-inline: auto; min-width: 0; padding-inline:0; }
.aim26-unified .aim26-unified__container .aim26-unified__container { width: 100%; }
.aim26-unified .aim26-special-hero { width:min(calc(100% - 2 * var(--unified-gutter)),var(--unified-width)); margin:0 auto 64px; padding-top:32px; }
.aim26-unified .aim26-special-hero--plain { grid-template-columns:minmax(0,1fr); }
.aim26-unified .aim26-special-hero__image { overflow:hidden; border-radius:0 0 0 40px; }
.aim26-unified .aim26-special-hero__image img { width:100%; height:auto; }
.aim26-unified > :is(.brewery-section,.brewery-photo-row,.brewery-process,.fields-hero,.pm-hero,.ott-hero) { width: min(calc(100% - 2 * var(--unified-gutter)), var(--unified-width)); margin-inline: auto; }
.aim26-unified > :is(.brewery-section,.fields-about,.fields-program,.fields-works,.fields-stay,.fields-contact,.aim-story-intro,.aim-story-timeline,.aim-story-movie,.aim-story-notes,.mizunoue-section),
.aim26-unified :is(.pm-section,.ott-tours,.ott-concept,.ott-stay-link,.ott-contact) { padding-block: var(--unified-space); }
.aim26-unified .aim26-unified__heading { min-width: 0; max-width: 100%; white-space: normal; word-break: normal; line-break: strict; overflow-wrap: anywhere; text-wrap: balance; letter-spacing: .03em; }
.aim26-unified h1.aim26-unified__heading { font-size: clamp(30px,3.2vw,48px); line-height: 1.4; font-weight: 600; }
.aim26-unified h2.aim26-unified__heading { font-size: clamp(26px,2.8vw,38px); line-height: 1.45; font-weight: 600; margin-bottom: 36px; }
.aim26-unified h3.aim26-unified__heading { font-size: clamp(20px,2vw,26px); line-height: 1.5; font-weight: 600; }
.aim26-unified .aim26-unified__heading::before,
.aim26-unified .aim26-unified__heading::after { content: none; }
.aim26-unified .aim26-unified__label { font:600 11px/1.5 var(--aim26-en); letter-spacing:.16em; color:var(--unified-accent); }
.aim26-unified .aim26-unified__media-text { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(24px,4vw,48px); align-items:center; }
.aim26-unified .aim26-unified__media-text > * { min-width:0; max-width:100%; }
.aim26-unified :is(.pm-hero__image,.pm-hero__content,.ott-hero__image,.ott-hero__content) { position:static; width:100%; max-width:100%; inset:auto; transform:none; }
.aim26-unified :is(.pm-hero__image,.ott-hero__image,.brewery-fv__image,.fields-hero__image) img { width:100%; height:auto; }
.aim26-unified .aim26-unified__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }
.aim26-unified .aim26-unified__grid > * { min-width:0; max-width:100%; box-shadow:none; border-radius:0; background:transparent; }
.aim26-unified .aim26-unified__button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:52px; width:auto; max-width:100%; padding:12px 28px; border:1px solid var(--unified-accent); border-radius:999px; background:transparent; color:var(--unified-accent); font:600 16px/1.5 var(--aim26-ja); text-decoration:none; white-space:normal; overflow-wrap:anywhere; transform:none; transition:color .2s,background-color .2s,border-color .2s,opacity .2s; }
.aim26-unified .aim26-unified__button::before,
.aim26-unified .aim26-unified__button::after { content:none; }
.aim26-unified .aim26-unified__button svg { flex:0 0 18px; width:18px; height:18px; }
.aim26-unified .aim26-unified__button:hover { background:var(--unified-accent); color:#fff; transform:none; }
.aim26-unified :is(a,button):hover,
.aim26-unified :is(a,button):hover img { transform:none; }
.aim26-unified .aim26-unified__button:focus-visible,
.aim26-unified summary:focus-visible { outline:3px solid var(--unified-accent); outline-offset:4px; }
.aim26-unified :is(.pm-hero__buttons,.pm-cta__buttons,.ott-buttons,.brewery-links__inner) { display:flex; flex-wrap:wrap; gap:12px; }
.aim26-unified :is(.pm-youtube,.wp-block-embed,.wp-block-table) { max-width:100%; min-width:0; }
.aim26-unified :is(.pm-youtube,.wp-block-embed) iframe { max-width:100%; }
.aim26-unified .wp-block-table { overflow:auto; }
.aim26-unified .wp-block-table table { width:100%; border-collapse:collapse; }
.aim26-unified .wp-block-table :is(th,td) { padding:16px; border-bottom:1px solid var(--aim26-line); overflow-wrap:anywhere; }
.aim26-unified :is(.wp-block-gallery,.pm-photo-grid,.brewery-photo-row) { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; min-width:0; }
.aim26-unified :is(.wp-block-gallery,.pm-photo-grid,.brewery-photo-row) figure { width:100%; min-width:0; margin:0; }
.aim26-unified :is(.wp-block-gallery,.pm-photo-grid,.brewery-photo-row) img { display:block; width:100%; height:auto; }
.aim26-unified :is(.p-button>a,.wp-block-button__link,.aim26-unified__button):hover svg { transform:none; }
.aim26-unified :is(.p-text-button>a,.p-button>a)::before,
.aim26-unified :is(.p-text-button>a,.p-button>a)::after,
.aim26-unified :is(.c-form,.contact-form) .select_label::before { content:none; }
.aim26-unified .wp-embedded-content { max-width:100%; }
.aim26-unified .sf-photo-carousel__track { width:100%; animation:none; transform:none; }
.aim26-unified .sf-photo-carousel__item { width:100%; max-width:100%; }
/* Reserve controls remain in the page; only navigation wrapping is normalized. */
.aim26-unified .mizunoue-page-nav { top:100px; background:#fff; backdrop-filter:none; }
.aim26-unified .mizunoue-page-nav__inner { display:flex; flex-wrap:wrap; gap:8px; overflow:visible; max-width:1160px; width:calc(100% - 40px); margin-inline:auto; }
.aim26-unified .mizunoue-page-nav a { min-height:44px; }
.aim26-unified .mizunoue-floating-menu-toggle { display:none; }
/* Native disclosures: hide all browser triangles; apply Q/A only to verified FAQs. */
.aim26-unified summary { list-style:none; cursor:pointer; min-height:44px; }
.aim26-unified summary::-webkit-details-marker { display:none; }
.aim26-unified summary::marker { content:''; }
.aim26-unified .aim26-faq,
.aim26-unified :is(.faq-container,.tap-faq,.mizunoue-faq) { width:100%; max-width:820px; margin-inline:auto; }
.aim26-unified .aim26-faq__item { margin:0; padding:0; border:0; border-bottom:1px solid var(--aim26-line); border-radius:0; background:transparent; box-shadow:none; }
.aim26-unified .aim26-faq__question { position:relative; min-height:64px; margin:0; padding:20px 40px 20px 36px; font-size:17px; font-weight:600; line-height:1.7; color:var(--aim26-ink); overflow-wrap:anywhere; white-space:normal; }
.aim26-unified .aim26-faq__question::before { content:'Q'; position:absolute; top:20px; left:0; width:auto; height:auto; background:none; border:0; color:var(--unified-accent); font:600 18px/1.7 var(--aim26-en); }
.aim26-unified .aim26-faq__question.has-q-label::before { content:none; }
.aim26-unified .aim26-faq__question::after { content:'＋'; position:absolute; top:20px; right:8px; width:auto; height:auto; border:0; background:none; clip-path:none; transform:none; font-size:18px; line-height:1.7; }
.aim26-unified .aim26-faq__item[open] > .aim26-faq__question::after { content:'−'; transform:none; }
.aim26-unified .aim26-faq__answer { position:relative; margin:0; padding:8px 24px 28px 48px; font-size:16px; line-height:1.9; color:var(--aim26-muted); animation:none; }
.aim26-unified .aim26-faq__answer::before { content:'A'; position:absolute; left:12px; top:8px; font:500 18px/1.9 var(--aim26-en); color:var(--unified-accent); }
.aim26-unified .aim26-faq__answer p { margin:0 0 12px; }
@media(max-width:768px) {
  .aim26-unified { --unified-gutter:20px; --unified-space:64px; }
  .aim26-unified .aim26-unified__media-text,
  .aim26-unified .aim26-unified__grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .aim26-unified .aim26-unified__media-text > * { grid-column:1; }
  .aim26-unified h1.aim26-unified__heading { font-size:clamp(26px,7vw,36px); }
  .aim26-unified :is(.wp-block-gallery,.pm-photo-grid,.brewery-photo-row) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .aim26-unified .aim26-faq__question { padding:18px 32px 18px 30px; font-size:16px; }
  .aim26-unified .aim26-faq__question::before,.aim26-unified .aim26-faq__question::after { top:18px; }
  .aim26-unified .aim26-faq__answer { padding-left:38px; padding-right:8px; }
  .aim26-unified .aim26-faq__answer::before { left:6px; }
  .aim26-unified .mizunoue-page-nav { top:80px; }
}
@media(prefers-reduced-motion:reduce) {
  .aim26-unified *, .aim26-unified *::before, .aim26-unified *::after { animation:none; transition:none; }
}
