/* PMS follows the existing paper, graphite and soft green site palette. */
.pms-page {
  --pms-ink:var(--palette-ink,#202523);
  --pms-muted:var(--palette-muted,#626b66);
  --pms-line:var(--palette-border,#dce1dc);
  --pms-paper:var(--palette-paper,#f6f7f4);
  --pms-accent:var(--palette-green-ink,#405c32);
}
.pms-page :is(section[id],figure[id]) { scroll-margin-top:112px; }
.pms-hero .pms-heading,.pms-teaser .pms-heading { white-space:pre-wrap; }
.pms-hero .pms-description,.pms-teaser .pms-description { white-space:pre-wrap; }
.pms-page .pms-hero { padding-bottom:clamp(72px,8vw,120px); }
.pms-cover img,.pms-teaser .pms-cover img { aspect-ratio:3/2;object-fit:contain; }
.pms-hero .pms-window-footer>span { font:10px ui-monospace,Consolas,monospace;letter-spacing:.12em;white-space:nowrap; }
.pms-page .pms-brand { color:var(--pms-accent); }
.pms-section-nav { display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:32px;padding-top:20px;border-top:1px solid var(--pms-line); }
.pms-section-nav a { display:inline-flex;align-items:center;min-height:44px;color:var(--pms-muted);font-size:13px;text-decoration:none;transition:color .2s; }
.pms-section-nav a:hover { color:var(--pms-accent); }
.pms-section-nav a:focus-visible { outline:2px solid var(--pms-accent);outline-offset:4px;border-radius:4px; }
.pms-page .pms-overview { padding-bottom:56px; }
.pms-page .pms-overview .section-heading { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,7vw,110px);margin-bottom:0; }
.pms-page .pms-overview h2 { max-width:10em;font-size:clamp(32px,3.5vw,48px);line-height:1.35;white-space:pre-wrap; }
.pms-page .pms-body { margin:0;white-space:pre-wrap;font-size:16px;line-height:2; }
.pms-page :is(.section-heading h2,.pms-compact-heading h2,.pms-gallery-copy h2) { white-space:pre-wrap;overflow-wrap:anywhere; }
.pms-page :is(.section-heading>p,.pms-gallery-copy>p:not(.eyebrow)) { white-space:pre-wrap; }
.pms-page .pms-journey { padding-block:40px 64px;background:#fff; }
.pms-compact-heading { margin-bottom:30px; }
.pms-compact-heading h2 { margin:0;color:var(--pms-ink);font-size:clamp(25px,2.6vw,36px);font-weight:600;line-height:1.4;letter-spacing:-.025em; }
.pms-journey-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.pms-journey-card { min-width:0;padding:30px;border:1px solid var(--pms-line);border-radius:24px;background:var(--pms-paper); }
.pms-step-index { display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--pms-accent); }
.pms-step-index>span { font:12px ui-monospace,Consolas,monospace;letter-spacing:.1em; }
.pms-step-index>i { display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--pms-line);border-radius:50%;font-style:normal;font-size:18px; }
.pms-journey-card h3 { margin:34px 0 12px;color:var(--pms-ink);font-size:24px;line-height:1.4;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere; }
.pms-journey-card p { margin:0;color:var(--pms-muted);font-size:15px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere; }
.pms-page .pms-flow-section { padding-top:16px;background:#fff; }
.pms-flow-section .pms-motion { margin:0;border-radius:24px; }
.pms-page .pms-features .section-heading { align-items:start; }
.pms-page .pms-features .section-heading h2 { max-width:15em;font-size:clamp(32px,3.5vw,48px);line-height:1.35; }
.pms-page .pms-feature-card { padding:28px 30px;transition:border-color .25s,box-shadow .25s; }
.pms-page .pms-feature-card:hover { border-color:var(--palette-border-strong,#a4afa4);box-shadow:0 10px 30px -24px #25302b; }
.pms-page .pms-feature-card h3 { margin-top:28px;font-size:21px;white-space:pre-wrap; }
.pms-page .pms-feature-card p { white-space:pre-wrap; }
.pms-gallery-grid { display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:center;gap:clamp(36px,6vw,100px); }
.pms-gallery-copy h2 { margin:0 0 26px;color:var(--pms-ink);font-size:clamp(32px,3.5vw,48px);line-height:1.35;font-weight:600;letter-spacing:-.03em; }
.pms-gallery-copy>p:not(.eyebrow) { color:var(--pms-muted);font-size:16px;line-height:1.95; }
.pms-gallery-note { display:flex;align-items:center;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--pms-line);color:var(--pms-muted);font-size:13px; }
.pms-gallery-note>span:first-child { color:var(--pms-accent);font-size:22px; }
.pms-page .pms-gallery .detail-media { width:100%;min-width:0;max-width:780px; }
.pms-page .pms-gallery .detail-gallery-stage { aspect-ratio:auto;height:620px;background:var(--pms-paper); }
.pms-page .pms-gallery .detail-gallery-slide img { padding:24px 54px 94px; }
.pms-gallery-full { display:block;width:100%;height:100%;cursor:zoom-in; }
.pms-gallery-full:focus-visible { outline:2px solid var(--pms-accent);outline-offset:-4px;border-radius:14px; }
.pms-page .pms-gallery figcaption { bottom:54px;font-size:12px;line-height:1.6; }
.pms-page .pms-gallery .detail-gallery-toolbar { gap:16px; }
.pms-page .pms-gallery .detail-gallery-thumbs { min-width:0;flex:1; }
.pms-page .pms-gallery .detail-gallery-toggle { flex-shrink:0;min-height:44px; }
.pms-page .pms-services { border-top:1px solid var(--pms-line);background:var(--pms-paper); }
.pms-page .pms-services .section-heading { align-items:start; }
.pms-page .pms-services h2 { max-width:13em;font-size:clamp(32px,3.5vw,48px);line-height:1.35; }
.pms-service-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px; }
.pms-service-card { min-width:0;padding:28px 24px;border:1px solid var(--pms-line);border-radius:24px;background:#fff; }
.pms-service-index { display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--pms-accent);background:var(--palette-selected,#e7eddc);font:12px ui-monospace,Consolas,monospace; }
.pms-service-card h3 { margin:28px 0 12px;color:var(--pms-ink);font-size:21px;font-weight:600;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere; }
.pms-service-card p { margin:0;color:var(--pms-muted);font-size:15px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere; }

/* Native PMS / room-control integration and owner alerts. */
.pms-integration { border-bottom:1px solid var(--pms-line);background:#fff; }
.pms-integration-heading { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(36px,6vw,90px);align-items:end;margin-bottom:42px; }
.pms-integration-heading h2 { margin:0;color:var(--pms-ink);font-size:clamp(34px,4.1vw,56px);font-weight:600;letter-spacing:-.035em;line-height:1.3;white-space:pre-wrap;overflow-wrap:anywhere; }
.pms-integration-heading>p { margin:0 0 4px;color:var(--pms-muted);font-size:16px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere; }
.pms-direct-frame { min-width:0;overflow:hidden;border:1px solid var(--pms-line);border-radius:24px;background:var(--pms-paper);box-shadow:0 26px 60px -42px #26352e; }
.pms-direct-toolbar { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;background:#fff;border-bottom:1px solid var(--pms-line); }
.pms-direct-mark { display:flex;align-items:center;gap:10px;color:var(--pms-muted);font:10px ui-monospace,Consolas,monospace;letter-spacing:.1em; }
.pms-direct-mark>i { width:7px;height:7px;border-radius:50%;background:var(--pms-accent);box-shadow:0 0 0 4px var(--palette-selected,#edf1e7); }
.pms-direct-mark>span { color:#9aada0; }
.pms-direct-tabs { display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--pms-line);border-radius:14px;background:var(--pms-paper); }
.pms-direct-tabs[hidden],.pms-direct-screen[hidden] { display:none; }
.pms-direct-tabs button { min-height:44px;padding:0 22px;border:0;border-radius:10px;background:transparent;color:var(--pms-muted);font:inherit;font-size:14px;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s; }
.pms-direct-tabs button[aria-selected="true"] { color:var(--pms-accent);background:#fff;box-shadow:0 2px 6px #2028200b; }
.pms-direct-tabs button:hover { color:var(--pms-ink); }
.pms-direct-tabs button:focus-visible { outline:2px solid var(--pms-accent);outline-offset:2px; }
.pms-direct-screen { margin:0; }
.pms-direct-screen+.pms-direct-screen { border-top:1px solid var(--pms-line); }
[data-tabs-ready] .pms-direct-screen { animation:pms-screen-enter .35s ease-out; }
.pms-direct-image { display:grid;place-items:center;aspect-ratio:3840/1919;overflow:hidden;background:var(--pms-paper);cursor:zoom-in; }
.pms-direct-image img { display:block;width:100%;height:100%;object-fit:contain; }
.pms-direct-image:focus-visible { outline:3px solid var(--pms-accent);outline-offset:-4px; }
.pms-direct-screen figcaption { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-top:1px solid var(--pms-line);background:#fff; }
.pms-direct-screen figcaption>span { color:var(--pms-muted);font-size:12px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere; }
.pms-direct-screen figcaption>a { display:flex;align-items:center;gap:10px;flex-shrink:0;min-height:44px;color:var(--pms-accent);font-size:12px; }
.pms-direct-screen figcaption>a>span { font-size:18px; }
.pms-direct-capabilities { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;margin-block:36px 48px; }
.pms-direct-capability { display:flex;align-items:flex-start;gap:20px;min-width:0; }
.pms-direct-icon { display:grid;place-items:center;flex-shrink:0;width:48px;height:48px;border-radius:15px;border:1px solid var(--pms-line);background:var(--pms-paper);color:var(--pms-accent); }
.pms-direct-icon svg { width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
.pms-direct-capability h3 { margin:0 0 12px;color:var(--pms-ink);font-size:22px;font-weight:600;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere; }
.pms-direct-capability p { margin:0;color:var(--pms-muted);font-size:15px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere; }
.pms-revenue-guard { display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,76px);align-items:center;overflow:hidden;padding:clamp(28px,4vw,52px);border:1px solid #3a443b;border-radius:24px;color:#f4f5ee;background:#202720; }
.pms-guard-eyebrow { display:flex;align-items:center;gap:10px;margin:0 0 26px;color:#c8d5b8;font:10px ui-monospace,Consolas,monospace;letter-spacing:.15em; }
.pms-guard-eyebrow>span { width:6px;height:6px;border-radius:50%;background:#c7dcae; }
.pms-guard-copy h3 { margin:0 0 20px;color:#f4f5ee;font-size:clamp(26px,2.8vw,36px);font-weight:500;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere; }
.pms-guard-copy>p:not(.pms-guard-eyebrow) { margin:0;color:#b9c4b5;font-size:15px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere; }
.pms-guard-steps { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none; }
.pms-guard-steps li { position:relative;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding-block:0 28px;border-bottom:1px solid #53634c; }
.pms-guard-step-number { display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid #52614b;background:#293128;color:#d7e6bf;font:12px ui-monospace,Consolas,monospace; }
.pms-guard-steps li>span:last-child { color:#e7ecdf;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere; }
.pms-guard-steps li:last-child .pms-guard-step-number { border-color:#8c714e;background:#393227;color:#f2cc9d; }
.pms-guard-steps li::after { content:'';position:absolute;bottom:-2px;left:0;width:20px;height:3px;border-radius:4px;background:#c4dda3;box-shadow:0 0 12px #c4dda34d;opacity:0;animation:pms-data-pass 4.8s linear infinite;animation-play-state:paused; }
.pms-guard-steps li:nth-child(2)::after { animation-delay:1.6s; }
.pms-guard-steps li:nth-child(3)::after { animation-delay:3.2s;background:#f2cc9d; }
.is-in-view .pms-guard-steps li::after { animation-play-state:running; }
.pms-owner-alert { display:flex;align-items:flex-start;gap:14px;margin-top:26px;padding:20px;border:1px solid #465040;border-radius:16px;background:#293128; }
.pms-owner-alert>svg { flex-shrink:0;width:22px;height:22px;fill:none;stroke:#f2cc9d;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round; }
.pms-owner-alert h4 { margin:0 0 10px;color:#edf1e4;font-size:17px;font-weight:500;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere; }
.pms-owner-alert p { margin:0;color:#bac6b1;font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere; }
.pms-teaser-integration { display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 26px;padding:18px 20px;border:1px solid var(--palette-border,#dce1dc);border-radius:16px;color:var(--palette-ink,#202523);background:#fff;transition:border-color .2s,background .2s; }
.pms-teaser-integration>span:first-child { display:flex;flex-direction:column;gap:7px;min-width:0; }
.pms-teaser-integration small { color:var(--palette-green-ink,#405c32);font-size:11px;letter-spacing:.03em;white-space:pre-wrap; }
.pms-teaser-integration strong { font-size:16px;line-height:1.65;font-weight:500;white-space:pre-wrap;overflow-wrap:anywhere; }
.pms-teaser-integration>span:last-child { color:var(--palette-green-ink,#405c32);font-size:22px; }
.pms-teaser-integration:hover { border-color:var(--palette-border-strong,#a4afa4);background:var(--palette-paper,#f6f7f4); }
@keyframes pms-screen-enter { from { opacity:.55;transform:translateY(4px); } to { opacity:1;transform:none; } }
@keyframes pms-data-pass { 0%,3% { left:0;opacity:0; } 6% { opacity:1; } 30% { left:calc(100% - 20px);opacity:1; } 33%,100% { left:calc(100% - 20px);opacity:0; } }
@media (max-width:1080px) {
  .pms-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pms-journey-card { padding:24px; }
}
@media (max-width:800px) {
  .pms-integration-heading,.pms-revenue-guard { grid-template-columns:minmax(0,1fr);gap:28px; }
  .pms-direct-capabilities { gap:24px; }
  .pms-direct-capability { gap:14px; }
  .pms-page .pms-overview .section-heading,.pms-gallery-grid { grid-template-columns:minmax(0,1fr);gap:30px; }
  .pms-page .pms-overview h2 { max-width:100%; }
  .pms-journey-grid { grid-template-columns:minmax(0,1fr);gap:14px; }
  .pms-journey-card h3 { margin-top:20px; }
  .pms-page .pms-gallery .detail-media { max-width:620px; }
  .pms-page .pms-gallery .detail-gallery-stage { height:560px; }
}
@media (max-width:560px) {
  .pms-integration-heading { margin-bottom:28px; }
  .pms-integration-heading h2 { font-size:clamp(30px,8vw,38px); }
  .pms-direct-frame { border-radius:18px; }
  .pms-direct-toolbar { align-items:stretch;flex-direction:column;gap:16px;padding:18px; }
  .pms-direct-tabs { display:grid;grid-template-columns:1fr 1fr; }
  .pms-direct-tabs button { padding:0 12px; }
  .pms-direct-screen figcaption { align-items:flex-start;flex-direction:column;gap:4px;padding:12px 18px; }
  .pms-direct-capabilities { grid-template-columns:minmax(0,1fr);gap:26px;margin-block:28px 36px; }
  .pms-direct-capability h3 { font-size:20px;margin-bottom:8px; }
  .pms-revenue-guard { padding:26px 22px;border-radius:20px; }
  .pms-guard-steps { gap:12px; }
  .pms-guard-steps li { gap:18px; }
  .pms-guard-steps li>span:last-child { font-size:13px; }
  .pms-owner-alert { gap:12px;padding:16px; }
  .pms-page :is(section[id],figure[id]) { scroll-margin-top:90px; }
  .pms-page .pms-hero { padding-bottom:56px; }
  .pms-section-nav { column-gap:18px;margin-top:26px; }
  .pms-page .pms-overview { padding-bottom:28px; }
  .pms-page .pms-journey { padding-block:28px 40px; }
  .pms-page .pms-flow-section { padding-top:0; }
  .pms-page .pms-feature-grid,.pms-service-grid { grid-template-columns:minmax(0,1fr); }
  .pms-page .pms-feature-card { padding:24px; }
  .pms-page .pms-feature-card h3 { margin-top:20px; }
  .pms-page .pms-gallery .detail-gallery-stage { height:540px; }
  .pms-page .pms-gallery .detail-gallery-slide img { padding:18px 18px 100px; }
  .pms-page .pms-gallery figcaption { left:14px;right:14px;bottom:52px; }
  .pms-page .pms-gallery .detail-gallery-arrow { width:40px;height:44px;font-size:18px; }
  .pms-page .pms-gallery .detail-gallery-prev { left:5px; }
  .pms-page .pms-gallery .detail-gallery-next { right:5px; }
  .pms-service-card { padding:24px; }
  .pms-gallery-note { margin-top:24px;padding-top:18px; }
}
@media (prefers-reduced-motion:reduce) {
  .pms-page .pms-feature-card { transition:none; }
  [data-tabs-ready] .pms-direct-screen,.pms-guard-steps li::after { animation:none; }
  .pms-direct-tabs button,.pms-teaser-integration { transition:none; }
}
