/* /boracay/property-management — scoped to .pm-page.
   Plain CSS on purpose: public.css's unlayered reset zeroes Tailwind spacing. */


.pm-page {
    /* MBG public palette (resources/css/public.css :root) */
    --pm-pink: #e9378b;
    --pm-pink-600: #d12677;
    --pm-pink-700: #b91f66;
    --pm-pink-50: #fde8f1;
    --pm-blue: #007791;
    --pm-blue-600: #005f73;
    --pm-blue-50: #e6f7fa;
    --pm-cyan: #00a8c6;
    --pm-yellow: #f4b802;
    --pm-deep: #0b1416;   /* footer */
    --pm-navy: #042a34;   /* homepage hero overlay teal */
    --pm-ink: #1a1d1f;    /* --text-strong */
    --pm-cream: #ffffff;
    --pm-sand: #f7f8f9;   /* --gray-50 */
    --pm-line: #e1e4e8;   /* --gray-200 */
    --pm-muted: #565a5c;  /* --text */
    --pm-head: "Montserrat", sans-serif;   /* public.css h1–h6 */
    --pm-sans: "Lato", -apple-system, BlinkMacSystemFont, sans-serif;
    --pm-ui: "Montserrat", system-ui, sans-serif;
    --pm-radius: 20px;   /* --radius-lg */
    --pm-shadow: 0 24px 56px rgba(20,30,40,.14), 0 8px 20px rgba(20,30,40,.08);   /* --shadow-xl */
    background: var(--pm-cream);
    color: var(--pm-ink);
    font-family: var(--pm-sans);
    font-size: 15px;
    line-height: 1.75;
    overflow-x: clip;
}
.pm-page *, .pm-page *::before, .pm-page *::after { box-sizing: border-box; }
.pm-page p { margin: 0 0 1.05em; }
.pm-page h1, .pm-page h2, .pm-page h3 { margin: 0; font-weight: 700; letter-spacing: -0.01em; }
/* Only upright Montserrat is bundled, so emphasis is colour, not italics. */
.pm-page em { font-style: normal; }
.pm-page a { text-decoration: none; }
.pm-page img { display: block; max-width: 100%; }

.pm-wrap { max-width: 1240px; margin: 0 auto; padding: 0 28px; }
.pm-section { position: relative; padding: 120px 0; }
.pm-section--tight { padding-top: 40px; }
.pm-section--sand { background: var(--pm-sand); }
.pm-section--navy { background: linear-gradient(160deg, var(--pm-navy) 0%, var(--pm-deep) 100%); color: rgba(255,255,255,.86); overflow: hidden; }

/* Type */
.pm-eyebrow { font-family: var(--pm-ui);
    display: inline-flex; align-items: center; gap: 12px;
    font-size: 11px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase;
    color: var(--pm-blue); margin: 0 0 22px !important;
}
.pm-eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.pm-eyebrow--gold { color: var(--pm-yellow); }
.pm-h2 { font-family: var(--pm-head); font-size: clamp(30px, 3.8vw, 46px); line-height: 1.15; letter-spacing: -.02em; color: var(--pm-ink); }
.pm-h2 em { color: var(--pm-pink); }
.pm-h2--light { color: #fff; }
.pm-h2--light em { color: var(--pm-yellow); }
.pm-lead { font-size: 18px; line-height: 1.65; color: var(--pm-ink); margin-top: 28px !important; }
.pm-lead--light { color: rgba(255,255,255,.88); max-width: 430px; margin: 28px 0 34px !important; }
.pm-label { font-family: var(--pm-ui); font-size: 10.5px !important; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--pm-yellow); margin-bottom: 14px !important; }

/* Buttons */
.pm-actions { display: flex; flex-wrap: wrap; gap: 14px; }
.pm-btn { font-family: var(--pm-ui);
    display: inline-flex; align-items: center; gap: 14px;
    background: var(--pm-pink);
    color: #fff !important; font-size: 14px; font-weight: 600; letter-spacing: .01em;
    padding: 17px 28px; border-radius: 999px;
    box-shadow: 0 14px 30px -12px rgba(233, 55, 139, .6);
    transition: transform .25s ease, box-shadow .25s ease;
}
.pm-btn:hover { background: var(--pm-pink-600); transform: translateY(-2px); box-shadow: 0 20px 36px -14px rgba(233, 55, 139, .75); }
.pm-btn .pm-arrow { transition: transform .25s ease; }
.pm-btn:hover .pm-arrow { transform: translate(2px, -2px); }
.pm-btn--ghost:hover { background: rgba(255,255,255,.16); }
.pm-btn--ghost { background: rgba(255,255,255,.08); color: #fff !important; box-shadow: inset 0 0 0 1px rgba(255,255,255,.35); backdrop-filter: blur(6px); }
.pm-btn--ghost:hover { background: rgba(255,255,255,.16); box-shadow: inset 0 0 0 1px rgba(255,255,255,.6); }

/* Hero */
.pm-hero { position: relative; min-height: min(100vh, 900px); display: flex; flex-direction: column; justify-content: flex-end; background: var(--pm-deep); color: #fff; overflow: hidden; isolation: isolate; }
.pm-hero__bg { position: absolute; inset: 0; z-index: -1; }
.pm-hero__bg img { width: 100%; height: 100%; object-fit: cover; animation: pm-zoom 22s ease-out both; }
.pm-hero__bg::after {
    content: ""; position: absolute; inset: 0;
    background:
        linear-gradient(90deg, rgba(4,42,52,.9) 0%, rgba(4,42,52,.6) 45%, rgba(4,42,52,.15) 100%),
        linear-gradient(0deg, rgba(4,42,52,.85) 0%, rgba(4,42,52,0) 45%);
}
@keyframes pm-zoom { from { transform: scale(1.12); } to { transform: scale(1); } }
.pm-hero__inner { padding-top: 140px; padding-bottom: 60px; animation: pm-rise 1s .1s ease-out both; }
@keyframes pm-rise { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
.pm-pill { font-family: var(--pm-ui);
    display: inline-flex; align-items: center; gap: 10px;
    font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
    padding: 9px 16px; border-radius: 999px; background: rgba(255,255,255,.08);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.2); backdrop-filter: blur(8px); margin-bottom: 30px !important;
}
.pm-pill__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--pm-yellow); box-shadow: 0 0 0 4px rgba(244,184,2,.22); }
.pm-hero__title { font-family: var(--pm-head); font-weight: 800 !important; font-size: clamp(40px, 6.2vw, 80px); line-height: 1.04; letter-spacing: -.03em; color: #fff; margin-bottom: 30px !important; }
.pm-hero__title em { color: var(--pm-yellow); }
.pm-hero__lead { max-width: 560px; font-size: 16.5px; line-height: 1.8; color: rgba(255,255,255,.86); margin-bottom: 38px !important; }
.pm-hero__stats-wrap { position: relative; padding-bottom: 40px; animation: pm-rise 1s .35s ease-out both; }
.pm-hero__stats { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; border-radius: var(--pm-radius); background: rgba(255,255,255,.07); box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.pm-hero__stats div { padding: 24px 26px; }
.pm-hero__stats div + div { border-left: 1px solid rgba(255,255,255,.12); }
.pm-hero__stats dt { font-family: var(--pm-head); font-weight: 700; font-size: 23px; line-height: 1.1; color: var(--pm-yellow); }
.pm-hero__stats dd { margin: 6px 0 0; font-size: 12.5px; line-height: 1.5; color: rgba(255,255,255,.75); }
.pm-hero__credit { position: absolute; right: 28px; top: -46px; text-align: right; font-size: 12px; font-weight: 500; color: rgba(255,255,255,.85); margin: 0 !important; }
.pm-hero__credit span { display: block; font-size: 9.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--pm-yellow); }

/* Sub nav */
.pm-subnav { background: var(--pm-cream); border-bottom: 1px solid var(--pm-line); }
.pm-subnav__inner { display: flex; gap: 34px; overflow-x: auto; scrollbar-width: none; }
.pm-subnav__inner::-webkit-scrollbar { display: none; }
.pm-subnav a { font-family: var(--pm-ui); flex: none; padding: 20px 0; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--pm-muted); border-bottom: 2px solid transparent; transition: color .2s, border-color .2s; }
.pm-subnav a:hover { color: var(--pm-pink); border-color: var(--pm-pink); }

/* Intro */
.pm-intro { display: grid; grid-template-columns: 1.05fr 1fr; gap: 90px; align-items: center; }
.pm-intro__copy > p:not(.pm-eyebrow):not(.pm-lead) { color: var(--pm-muted); }
.pm-checks { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; margin: 30px 0 0; padding: 0; }
.pm-checks li { font-family: var(--pm-ui); display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; padding: 9px 16px; border-radius: 999px; background: #fff; box-shadow: 0 0 0 1px var(--pm-line); }
.pm-checks svg { color: var(--pm-pink); }
.pm-collage { position: relative; aspect-ratio: 1 / 1.08; }
.pm-collage > div:not(.pm-collage__badge) { position: absolute; overflow: hidden; border-radius: var(--pm-radius); background: #eef0f2; box-shadow: var(--pm-shadow); }
.pm-collage img { width: 100%; height: 100%; object-fit: cover; }
.pm-collage__a { inset: 0 18% 22% 0; }
.pm-collage__b { inset: 46% 0 0 34%; border: 8px solid var(--pm-cream); }
.pm-collage__badge { position: absolute; left: 4%; bottom: 4%; display: flex; align-items: center; gap: 14px; padding: 18px 22px; border-radius: 18px; background: var(--pm-navy); color: #fff; box-shadow: var(--pm-shadow); }
.pm-collage__badge strong { font-family: var(--pm-head); font-size: 42px; line-height: .9; color: var(--pm-yellow); font-weight: 800; }
.pm-collage__badge span { font-size: 12px; line-height: 1.45; color: rgba(255,255,255,.8); }

/* Section heads */
.pm-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px 60px; margin-bottom: 64px; }
.pm-head__aside { max-width: 330px; font-size: 14px; color: var(--pm-muted); margin: 0 !important; }
.pm-head--center { flex-direction: column; align-items: center; text-align: center; }
.pm-head--center .pm-eyebrow::after { content: ""; width: 28px; height: 1px; background: currentColor; }
.pm-head--center .pm-head__aside { max-width: 460px; }

/* Services bento */
.pm-bento { display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; }
.pm-tile { grid-column: span 2; display: flex; flex-direction: column; padding: 34px 32px; border-radius: var(--pm-radius); background: #fff; box-shadow: 0 0 0 1px var(--pm-line); transition: transform .3s ease, box-shadow .3s ease; }
.pm-tile:hover { transform: translateY(-4px); box-shadow: 0 0 0 1px var(--pm-line), var(--pm-shadow); }
.pm-tile:nth-child(1), .pm-tile:nth-child(2) { grid-column: span 3; }
.pm-tile__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 34px; }
.pm-tile__icon { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 14px; background: var(--pm-blue-50); color: var(--pm-blue); }
.pm-tile__num { font-family: var(--pm-head); font-weight: 700; font-size: 15px; color: #c9cdd2; }
.pm-tile h3 { font-family: var(--pm-head); font-size: 20px; line-height: 1.3; margin-bottom: 14px !important; }
.pm-tile p { font-size: 14px; color: var(--pm-muted); margin: 0 !important; }
.pm-tile__chip { font-family: var(--pm-ui); align-self: flex-start; margin-top: 20px; font-size: 10.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; padding: 7px 12px; border-radius: 999px; background: var(--pm-pink-50); color: var(--pm-pink-700); }
.pm-tile--feature { background: linear-gradient(150deg, var(--pm-navy), var(--pm-deep)); color: #fff; box-shadow: none; position: relative; overflow: hidden; }
.pm-tile--feature::after { content: ""; position: absolute; right: -80px; top: -80px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(0,168,198,.35), transparent 70%); }
.pm-tile--feature .pm-tile__icon { background: rgba(0,168,198,.16); color: var(--pm-yellow); }
.pm-tile--feature h3 { color: #fff; font-size: 25px; }
.pm-tile--feature p { color: rgba(255,255,255,.75); }

/* HOA */
.pm-glow { position: absolute; width: 760px; height: 760px; right: -240px; top: -260px; border-radius: 50%; background: radial-gradient(circle, rgba(0,168,198,.22), transparent 65%); pointer-events: none; }
.pm-split { display: grid; grid-template-columns: 1fr 1fr; gap: 60px 90px; align-items: start; }
.pm-hoa__copy p { color: rgba(255,255,255,.82); }
.pm-hoa__quote { margin: 34px 0 0; padding: 4px 0 4px 26px; border-left: 2px solid var(--pm-pink); font-family: var(--pm-head); font-weight: 600; font-size: 18px; line-height: 1.5; color: var(--pm-yellow); }
.pm-glass-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 80px; }
.pm-glass { padding: 34px 30px; border-radius: var(--pm-radius); background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px rgba(255,255,255,.1); backdrop-filter: blur(10px); transition: background .3s; }
.pm-glass:hover { background: rgba(255,255,255,.08); }
.pm-glass h3 { font-family: var(--pm-head); font-size: 20px; line-height: 1.3; color: #fff; margin-bottom: 14px !important; }
.pm-glass p:not(.pm-label) { font-size: 13.5px; color: rgba(255,255,255,.75); margin: 0 !important; }

/* Portfolio gallery */
.pm-gallery { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 380px; gap: 20px; }
.pm-shot { position: relative; display: block; overflow: hidden; border-radius: var(--pm-radius); background: var(--pm-navy); color: #fff !important; isolation: isolate; }
.pm-shot--feature { grid-column: span 2; }
.pm-shot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.1s cubic-bezier(.2,.7,.2,1); }
.pm-shot::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(4,42,52,.94) 0%, rgba(4,42,52,.72) 32%, rgba(4,42,52,.18) 62%, rgba(4,42,52,0) 80%); transition: opacity .4s; }
a.pm-shot:hover img { transform: scale(1.06); }
.pm-shot__tag { font-family: var(--pm-ui); position: absolute; left: 18px; top: 18px; font-size: 9.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; padding: 8px 13px; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--pm-deep); }
.pm-shot--former .pm-shot__tag { background: rgba(4,42,52,.8); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); }
.pm-shot--former img { filter: grayscale(.35); }
.pm-shot__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 26px 24px; text-shadow: 0 1px 12px rgba(4,42,52,.45); }
.pm-shot__body h3 { font-family: var(--pm-head); font-size: 21px; line-height: 1.25; color: #fff; }
.pm-shot--feature .pm-shot__body h3 { font-size: 28px; }
.pm-shot__body p { font-size: 13px; line-height: 1.6; color: rgba(255,255,255,.8); margin: 8px 0 0 !important; max-width: 520px; }
.pm-shot__more { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 12px; font-weight: 600; letter-spacing: .08em; color: var(--pm-yellow); opacity: 0; transform: translateY(6px); transition: opacity .3s, transform .3s; }
a.pm-shot:hover .pm-shot__more, a.pm-shot:focus-visible .pm-shot__more { opacity: 1; transform: none; }

/* Accountability */
.pm-account { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.pm-account__media { position: relative; margin: 0; aspect-ratio: 4 / 5; border-radius: 200px 200px var(--pm-radius) var(--pm-radius); overflow: hidden; background: #eef0f2; box-shadow: var(--pm-shadow); }
.pm-account__media img { width: 100%; height: 100%; object-fit: cover; }
.pm-account__media figcaption { position: absolute; left: 20px; bottom: 20px; font-size: 11px; font-weight: 600; letter-spacing: .08em; padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.9); color: var(--pm-ink); }
.pm-account__body > p:not(.pm-eyebrow) { color: var(--pm-muted); }
.pm-account__body .pm-h2 { margin-bottom: 30px !important; }
.pm-points { list-style: none; margin: 34px 0 0; padding: 0; display: grid; gap: 14px; }
.pm-points li { display: flex; gap: 16px; align-items: flex-start; padding: 18px 20px; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px var(--pm-line); font-size: 13.5px; color: var(--pm-muted); }
.pm-points li > span { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--pm-pink-50); color: var(--pm-pink); }
.pm-points strong { display: block; font-size: 14.5px; font-weight: 600; color: var(--pm-ink); margin-bottom: 2px; }

/* Steps */
.pm-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; position: relative; counter-reset: none; }
.pm-steps::before { content: ""; position: absolute; top: 28px; left: 16%; right: 16%; height: 1px; background: repeating-linear-gradient(90deg, var(--pm-blue) 0 6px, transparent 6px 12px); }
.pm-steps li { position: relative; text-align: center; padding: 0 10px; }
.pm-steps__num { position: relative; display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 28px; border-radius: 50%; background: var(--pm-cream); box-shadow: inset 0 0 0 1.5px var(--pm-blue); font-family: var(--pm-head); font-weight: 700; font-size: 20px; color: var(--pm-blue); }
.pm-steps h3 { font-family: var(--pm-head); font-size: 20px; line-height: 1.3; margin-bottom: 12px !important; }
.pm-steps p:not(.pm-label) { font-size: 14px; color: var(--pm-muted); margin: 0 auto !important; max-width: 320px; }
.pm-steps .pm-label { color: var(--pm-blue); }

/* Offer */
.pm-offer { position: relative; display: grid; grid-template-columns: 1.55fr 1fr; gap: 40px; margin-top: 110px; padding: 76px 70px; border-radius: 30px; background: linear-gradient(135deg, var(--pm-navy), var(--pm-deep)); overflow: hidden; isolation: isolate; box-shadow: 0 40px 80px -40px rgba(4,42,52,.6); }
.pm-offer__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .16; z-index: -1; }
.pm-offer::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 85% 50%, rgba(233,55,139,.3), transparent 55%); }
.pm-offer .pm-h2 { font-size: clamp(26px, 3vw, 36px); margin-bottom: 38px !important; }
.pm-offer__rate { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 30px; border-radius: var(--pm-radius); background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px rgba(255,255,255,.14); backdrop-filter: blur(10px); }
.pm-offer__rate strong { font-family: var(--pm-head); font-weight: 800; font-size: 104px; letter-spacing: -.04em; line-height: .9; background: linear-gradient(135deg, var(--pm-cyan), var(--pm-pink)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.pm-offer__rate small { font-size: 44px; }
.pm-offer__rate .pm-label { color: #fff; margin: 16px 0 10px !important; }
.pm-offer__rate p:last-child { font-size: 12.5px; color: rgba(255,255,255,.75); max-width: 240px; margin: 0 !important; }

/* FAQs */
.pm-faq-wrap { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: start; }
.pm-faq-help { font-size: 14px; color: var(--pm-muted); margin-top: 26px !important; }
.pm-faq-help a { color: var(--pm-pink); font-weight: 600; border-bottom: 1px solid currentColor; }
.pm-faqs { display: grid; gap: 12px; }
.pm-faqs details { border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px var(--pm-line); transition: box-shadow .3s; }
.pm-faqs details[open] { box-shadow: 0 0 0 1px rgba(233,55,139,.45), 0 20px 40px -28px rgba(4,42,52,.3); }
.pm-faqs summary { font-family: var(--pm-ui); list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 26px; font-size: 15.5px; font-weight: 600; color: var(--pm-ink); }
.pm-faqs summary::-webkit-details-marker { display: none; }
.pm-faqs__icon { position: relative; flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--pm-sand); transition: background .3s, transform .3s; }
.pm-faqs__icon::before, .pm-faqs__icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 1.6px; background: var(--pm-blue); transform: translate(-50%, -50%); transition: transform .3s; }
.pm-faqs__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.pm-faqs details[open] .pm-faqs__icon { background: var(--pm-pink); }
.pm-faqs details[open] .pm-faqs__icon::before, .pm-faqs details[open] .pm-faqs__icon::after { background: #fff; }
.pm-faqs details[open] .pm-faqs__icon::after { transform: translate(-50%, -50%) rotate(0deg); }
.pm-faqs details p { font-size: 14px; color: var(--pm-muted); padding: 0 26px 24px; margin: 0 !important; }

/* Scroll reveals (only once the script has added .pm-anim) */
.pm-anim .pm-reveal { opacity: 0; transform: translateY(28px); transition: opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); transition-delay: var(--d, 0ms); }
.pm-anim .pm-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    .pm-hero__bg img, .pm-hero__inner, .pm-hero__stats-wrap { animation: none; }
}

/* Responsive */
@media (max-width: 1024px) {
    .pm-section { padding: 90px 0; }
    .pm-intro, .pm-account, .pm-split, .pm-faq-wrap { grid-template-columns: 1fr; gap: 56px; }
    .pm-collage { max-width: 560px; }
    .pm-account__media { max-width: 520px; }
    .pm-hero__stats { grid-template-columns: 1fr 1fr; }
    .pm-hero__stats div:nth-child(3) { border-left: 0; }
    .pm-hero__stats div:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.12); }
    .pm-hero__credit { display: none; }
    .pm-bento { grid-template-columns: 1fr 1fr; }
    .pm-tile, .pm-tile:nth-child(1), .pm-tile:nth-child(2) { grid-column: span 1; }
    .pm-tile--feature { grid-column: 1 / -1 !important; }
    .pm-glass-row { grid-template-columns: 1fr; }
    .pm-gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 300px; }
    .pm-offer { grid-template-columns: 1fr; padding: 56px 40px; }
}
@media (max-width: 640px) {
    .pm-wrap { padding: 0 16px; }
    .pm-section { padding: 72px 0; }
    .pm-hero { min-height: 0; }
    .pm-hero__inner { padding-top: 90px; padding-bottom: 40px; }
    .pm-hero__stats div { padding: 18px 16px; }
    .pm-hero__stats dt { font-size: 24px; }
    .pm-actions .pm-btn { width: 100%; justify-content: center; }
    .pm-bento { grid-template-columns: 1fr; }
    .pm-tile { padding: 28px 24px; }
    .pm-gallery { grid-template-columns: 1fr; grid-auto-rows: 420px; }
    .pm-shot--feature { grid-column: span 1; }
    .pm-shot--feature .pm-shot__body h3 { font-size: 23px; }
    .pm-shot__more { opacity: 1; transform: none; }
    .pm-steps { grid-template-columns: 1fr; gap: 44px; }
    .pm-steps::before { display: none; }
    .pm-offer { padding: 44px 22px; border-radius: 24px; }
    .pm-offer__rate strong { font-size: 84px; }
    .pm-head { margin-bottom: 44px; }
    .pm-account__media { border-radius: 140px 140px var(--pm-radius) var(--pm-radius); }
}
