.ptg-page { position: relative; overflow: clip; }
.ptg-page::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .16; background-image: radial-gradient(var(--color-ash-300) .45px, transparent .7px); background-size: 5px 5px; }
.ptg-page > * { position: relative; }
.ptg-section { padding-block: var(--section-space); }
.ptg-text-link, .ptg-gallery__link { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--color-oxide-orange); font-weight: 600; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .22em; }
.ptg-text-link:hover, .ptg-gallery__link:hover { color: var(--color-signal-yellow); transform: translateX(2px); }
.ptg-hero { padding-top: clamp(3rem, 8vw, 7rem); }
.ptg-hero__grid { display: grid; grid-template-columns: minmax(26.25rem, 5fr) minmax(32.5rem, 7fr); align-items: center; gap: clamp(2rem, 5vw, 4rem); }
.ptg-hero__copy, .ptg-hero__heading-stack { min-width: 0; }
.ptg-hero__copy { display: flex; flex-direction: column; gap: var(--space-5); }
.ptg-hero__heading-stack { width: min(100%, 35rem); }
.ptg-hero__heading-stack .poster-label { margin-top: var(--space-2); }
.ptg-hero h1 { font-size: clamp(3.5rem, 7.2vw, 6.6rem); }
.ptg-hero__heading-stack .lead { max-width: 54ch; }
.ptg-hero__notice { width: min(100%, 42ch); margin: 0; }
.ptg-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4); min-width: 0; }
.ptg-hero__media { min-width: 0; width: 100%; margin: 0; }
.ptg-hero__media .image-frame { width: 100%; object-position: center; }
.ptg-image-caption { max-width: 24ch; margin: var(--space-4) 0 0 auto; color: var(--color-ash-300); font-size: var(--text-small); line-height: 1.4; }
.ptg-room__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(23.75rem, 5fr); align-items: start; gap: var(--space-6); }
.ptg-room__media, .ptg-room__panel { min-width: 0; width: 100%; }
.ptg-room__media { margin: 0; }
.ptg-room__panel { padding: var(--panel-padding); border: var(--border-default); background: var(--color-asphalt-900); }
.ptg-room__intro { max-width: 60ch; }
.ptg-observations { display: flex; flex-direction: column; gap: var(--space-5); }
.ptg-observation { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding-top: var(--space-5); border-top: var(--border-default); }
.ptg-observation__mark { color: var(--color-oxide-orange); font-family: var(--font-heading); font-size: 1.5rem; font-weight: 900; line-height: 1; }
.ptg-observation h3 { margin-bottom: var(--space-2); }
.ptg-observation p { max-width: 45ch; margin-bottom: 0; }
.ptg-pull-quote { display: inline-block; margin-top: var(--space-3); padding: var(--space-2) var(--space-3); background: var(--color-ash-50); color: var(--color-coal-950); font-family: var(--font-heading); font-size: var(--text-small); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ptg-table-note__paper { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); width: min(100%, 66.5rem); margin-inline: auto; border: 1px solid var(--color-ash-50); border-top: 8px solid var(--color-signal-yellow); background: var(--color-ash-50); color: var(--color-coal-950); padding: clamp(1.25rem, 4vw, 3rem); }
.ptg-table-note__rail, .ptg-table-note__content { min-width: 0; }
.ptg-table-note__rail .section-marker { color: var(--color-coal-950); }
.ptg-table-note__content h2, .ptg-table-note__content p { color: var(--color-coal-950); }
.ptg-table-note__content > p { max-width: 64ch; }
.ptg-boundaries { display: flex; flex-direction: column; gap: var(--space-4); max-width: 50ch; margin: 0; padding: 0; list-style: none; }
.ptg-boundaries li { padding-top: var(--space-4); border-top: 1px solid #8c897d; }
.ptg-boundaries a { color: var(--color-rust-deep); font-weight: 600; }
.ptg-gatherings__intro { width: min(100%, 60ch); }
.ptg-scenarios { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: var(--space-5); margin-top: var(--space-6); }
.ptg-scenario { min-width: 0; width: 100%; padding: var(--panel-padding); border: var(--border-default); }
.ptg-scenario--dark { background: var(--color-asphalt-900); }
.ptg-scenario--paper { margin-top: 1rem; background: var(--color-ash-50); color: var(--color-coal-950); box-shadow: 4px 4px 0 var(--color-rust-deep); }
.ptg-scenario--lower { margin-top: .5rem; }
.ptg-scenario--paper h3, .ptg-scenario--paper p { color: var(--color-coal-950); }
.ptg-scenario .poster-label { margin-bottom: var(--space-4); }
.ptg-scenario p { max-width: 43ch; margin-bottom: 0; }
.ptg-planning-strip { width: min(100%, 60ch); margin: var(--space-6) 0 0; }
.ptg-flow__grid { display: grid; grid-template-columns: minmax(25rem, 5fr) minmax(0, 7fr); align-items: start; gap: clamp(2rem, 5vw, 4rem); }
.ptg-flow__copy, .ptg-flow__media { min-width: 0; width: 100%; }
.ptg-flow__lead { max-width: 52ch; }
.ptg-steps { display: flex; flex-direction: column; gap: var(--space-5); }
.ptg-steps article { min-width: 0; padding-top: var(--space-4); border-top: var(--border-default); }
.ptg-steps h3 { margin-bottom: var(--space-2); }
.ptg-steps p { max-width: 42ch; margin-bottom: 0; }
.ptg-steps .poster-label { margin-bottom: var(--space-3); }
.ptg-flow__media { margin: 0; position: sticky; top: var(--space-6); }
.ptg-planning__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: start; gap: var(--space-6); }
.ptg-planning__intro, .ptg-planning__notes { min-width: 0; width: 100%; }
.ptg-planning__intro p { max-width: 56ch; }
.ptg-planning__notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.ptg-plan-note { min-width: 0; width: 100%; padding: var(--space-5); border: var(--border-default); background: var(--color-asphalt-900); }
.ptg-plan-note h3 { margin-bottom: var(--space-2); }
.ptg-plan-note p { max-width: 38ch; margin-bottom: 0; }
.ptg-plan-note .poster-label { margin-bottom: var(--space-3); }
.ptg-plan-note--paper { margin-top: .5rem; background: var(--color-ash-50); color: var(--color-coal-950); box-shadow: 4px 4px 0 var(--color-rust-deep); }
.ptg-plan-note--paper h3, .ptg-plan-note--paper p { color: var(--color-coal-950); }
.ptg-gallery__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 4fr); align-items: start; gap: var(--space-5); }
.ptg-gallery__intro, .ptg-gallery-card { min-width: 0; width: 100%; }
.ptg-gallery__intro p { max-width: 52ch; }
.ptg-gallery-card { margin: 0; }
.ptg-lightbox-trigger { display: block; width: 100%; min-width: 0; padding: 0; background: transparent; cursor: zoom-in; }
.ptg-lightbox-trigger .image-frame { width: 100%; }
.ptg-gallery-card figcaption { min-height: 2.75rem; margin-top: var(--space-4); padding: var(--space-3); border: var(--border-default); background: var(--color-asphalt-800); color: var(--color-ash-300); font-size: var(--text-small); line-height: 1.4; }
.ptg-gallery-card figcaption span { display: block; margin-bottom: var(--space-1); color: var(--color-signal-yellow); font-family: var(--font-heading); font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.ptg-gallery__link { grid-column: 1 / -1; width: max-content; }
.ptg-faq__inner { width: min(var(--editorial-inline), 100%); margin-inline: auto; }
.ptg-faq__lead { max-width: 62ch; }
.ptg-accordion { border-top: var(--border-default); border-left: var(--border-default); border-right: var(--border-default); background: var(--color-asphalt-900); }
.ptg-faq-item { border-bottom: var(--border-default); }
.ptg-faq-item h3 { margin: 0; }
.ptg-faq-item button { display: flex; width: 100%; min-width: 0; min-height: 3.25rem; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4); background: transparent; color: var(--color-ash-50); font-family: var(--font-heading); font-size: var(--text-card-title); font-weight: 800; letter-spacing: -.02em; line-height: .98; text-align: left; text-transform: uppercase; }
.ptg-faq-item button::after { content: "+"; flex: 0 0 auto; color: var(--color-signal-yellow); font-size: 1.75rem; }
.ptg-faq-item button[aria-expanded="true"]::after { content: "−"; }
.ptg-faq-panel { padding: 0 var(--space-4) var(--space-5); }
.ptg-faq-panel p { max-width: 64ch; margin-bottom: 0; }
.ptg-faq-panel .poster-label { margin-bottom: var(--space-3); }
.ptg-address { font-family: var(--font-body); font-weight: 600; }
.ptg-booking { background: var(--color-coal-950); }
.ptg-booking__heading { width: min(100%, 58ch); }
.ptg-booking__heading::after { content: ""; display: block; width: 5rem; height: 4px; margin-top: var(--space-5); background: var(--color-oxide-orange); }
.ptg-booking__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); align-items: start; gap: var(--space-6); margin-top: var(--space-6); }
.ptg-contact-rail, .ptg-form-wrap { min-width: 0; width: 100%; }
.ptg-contact-rail { display: flex; flex-direction: column; gap: var(--space-4); }
.ptg-contact-block { min-width: 0; padding: var(--space-5); border: var(--border-default); background: var(--color-asphalt-900); }
.ptg-contact-block > span { display: block; margin-bottom: var(--space-2); color: var(--color-signal-yellow); font-family: var(--font-heading); font-size: var(--text-small); font-weight: 800; letter-spacing: .06em; line-height: 1; text-transform: uppercase; }
.ptg-contact-block a, .ptg-contact-block address { overflow-wrap: anywhere; color: var(--color-ash-50); font-family: var(--font-body); font-size: var(--text-lead); font-style: normal; font-weight: 600; text-decoration-thickness: 2px; text-underline-offset: .2em; }
.ptg-form-guidance { width: min(100%, 55ch); font-size: var(--text-lead); }
.ptg-booking-form fieldset { margin: 0; }
.ptg-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-4); }
.ptg-form-grid > * { min-width: 0; width: 100%; }
.ptg-form-grid__full { grid-column: 1 / -1; }
.ptg-form-status { min-height: 0; margin-bottom: var(--space-3); color: var(--color-signal-yellow); font-weight: 600; }
.ptg-form-status:empty { display: none; }
.ptg-booking__notice { width: min(100%, 48ch); margin: var(--space-5) 0 0; }
.ptg-closing { padding-block: clamp(4rem, 9vw, 6rem); }
.ptg-closing__block { width: min(100%, 37.5rem); margin-inline: auto; }
.ptg-closing__block h2 { font-size: clamp(2.6rem, 6vw, 4.4rem); }
.ptg-closing__block h2::after { content: ""; display: block; width: 4rem; height: 4px; margin-top: var(--space-4); background: var(--color-oxide-orange); }
.ptg-closing__block p { max-width: 48ch; }
.ptg-closing__action { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); min-width: 0; }
.ptg-closing__action small { max-width: 30ch; color: var(--color-ash-300); }
.ptg-lightbox[hidden] { display: none; }
.ptg-lightbox { position: fixed; z-index: 1100; inset: 0; display: grid; place-items: center; padding: var(--gutter); }
.ptg-lightbox__backdrop { position: absolute; inset: 0; background: rgba(16,16,15,.94); }
.ptg-lightbox__dialog { position: relative; z-index: 1; display: flex; width: min(100%, 68rem); max-height: calc(100vh - (var(--gutter) * 2)); min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-4); border: var(--border-strong); background: var(--color-asphalt-900); }
.ptg-lightbox__dialog img { width: 100%; max-height: calc(100vh - 12rem); object-fit: contain; }
.ptg-lightbox__dialog p { margin: 0; color: var(--color-ash-300); }
.ptg-lightbox__close { align-self: flex-end; min-height: 2.75rem; border: 1px solid var(--color-ash-50); background: var(--color-coal-950); color: var(--color-ash-50); padding: var(--space-2) var(--space-3); font-family: var(--font-heading); font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
@media (max-width: 63.9375rem) { .ptg-hero__grid, .ptg-flow__grid { grid-template-columns: 1fr; } .ptg-hero__media { order: 2; } .ptg-flow__media { position: static; order: -1; } .ptg-room__grid { grid-template-columns: 1fr; } .ptg-room__panel { max-width: none; } .ptg-booking__grid { grid-template-columns: 1fr; } .ptg-contact-rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 67.4375rem) { .ptg-scenarios { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ptg-scenario--lower { grid-column: 1 / -1; margin-top: 0; } .ptg-planning__grid { grid-template-columns: 1fr; } }
@media (max-width: 56.1875rem) { .ptg-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ptg-gallery__intro { grid-column: 1 / -1; } .ptg-table-note__paper { grid-template-columns: 1fr; gap: var(--space-3); } .ptg-table-note__content > p { max-width: 64ch; } }
@media (max-width: 47.5rem) { .ptg-page::before { opacity: .08; } .ptg-hero { padding-top: var(--space-7); } .ptg-hero__grid, .ptg-room__grid, .ptg-flow__grid, .ptg-planning__grid, .ptg-booking__grid { gap: var(--space-5); } .ptg-hero__copy { gap: var(--space-4); } .ptg-hero h1 { font-size: clamp(3rem, 14vw, 4.7rem); } .ptg-hero__actions { align-items: stretch; } .ptg-hero__actions .button, .ptg-hero__actions .ptg-text-link { width: 100%; } .ptg-image-caption { margin-left: 0; } .ptg-room__panel { padding: var(--space-4); } .ptg-table-note__paper { padding: var(--space-4); } .ptg-scenarios, .ptg-planning__notes, .ptg-gallery__grid, .ptg-contact-rail, .ptg-form-grid { grid-template-columns: 1fr; } .ptg-scenario--paper, .ptg-scenario--lower, .ptg-plan-note--paper { margin-top: 0; box-shadow: 4px 4px 0 var(--color-black-shadow); } .ptg-scenario--lower { grid-column: auto; } .ptg-gallery__intro { grid-column: auto; } .ptg-gallery__link { grid-column: auto; width: 100%; } .ptg-faq-item button { min-height: 3.5rem; padding: var(--space-4); font-size: clamp(1.25rem, 6vw, 1.5rem); } .ptg-faq-panel { padding: 0 var(--space-4) var(--space-4); } .ptg-booking__heading { width: 100%; } .ptg-booking__notice { width: 100%; } .ptg-closing__block { width: 100%; } .ptg-closing__action .button { width: 100%; min-height: 3rem; } }
@media (prefers-reduced-motion: reduce) { .ptg-text-link:hover { transform: none; } }
