    /* =========================================================
   Precise Ghostwriting ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â Custom Design System
   ========================================================= */

:root {
    --pg-orange: #f16724;
    --pg-orange-deep: #d4551a;
    --pg-orange-soft: rgba(241, 103, 36, 0.12);
    --pg-black: #0b0b0b;
    --pg-ink: #121212;
    --pg-muted: #636363;
    --pg-paper: #f8f6f2;
    --pg-paper-2: #efeae3;
    --pg-white: #ffffff;
    --pg-line: rgba(22, 22, 22, 0.08);
    --pg-gold: #c4a574;
    --font-display: "Playfair Display", Georgia, "Times New Roman", serif;
    --font-body: "Manrope", "Segoe UI", sans-serif;
    --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
    --header-h: 58px;
    --topbar-h: 32px;
    --shell-h: 98px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

html {
    overflow-x: clip;
}
body {
    font-family: var(--font-body);
    color: var(--pg-ink);
    background: var(--pg-paper);
    line-height: 1.65;
    overflow-x: clip;
}
body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 9998;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
    opacity: .35;
    mix-blend-mode: multiply;
}

img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; transition: color .3s var(--ease-out); }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, h4, h5 {
    font-family: var(--font-display);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: var(--pg-ink);
    margin: 0 0 .6em;
}
/* Dark surfaces: headings inherit light color (fixes global --pg-ink on dark bg) */
.pg-about-why :is(h1, h2, h3, h4, h5),
.pg-about-cta :is(h1, h2, h3, h4, h5),
.pg-pricing-cta :is(h1, h2, h3, h4, h5),
.pg-testimonials :is(h1, h2, h3, h4, h5),
.pg-cta-banner :is(h1, h2, h3, h4, h5),
.pg-footer :is(h1, h2, h3, h4, h5),
.pg-lead-aside :is(h1, h2, h3, h4, h5),
.pg-cta-dark :is(h1, h2, h3, h4, h5),
.pg-about-hero.is-rich :is(h1, h2, h3, h4, h5),
.pg-quote-panel :is(h1, h2, h3, h4, h5),
.pg-offer-popup :is(h1, h2, h3, h4, h5) {
    color: inherit;
}
h2 { font-size: clamp(2rem, 4vw, 3.4rem); }
p { margin: 0 0 1rem; color: var(--pg-muted); }

/* ---------- Buttons ---------- */
.pg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .85rem 1.6rem;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: .92rem;
    letter-spacing: .02em;
    line-height: 1;
    border: 2px solid transparent;
    border-radius: 2px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: background .35s var(--ease-out), color .35s var(--ease-out), border-color .35s var(--ease-out), box-shadow .35s var(--ease-out), transform .35s var(--ease-out), filter .35s var(--ease-out);
}

/* Split arrow primary - reference style */
.pg-btn-primary,
.pg-btn-chat {
    --pg-btn-arrow: 3.15rem;
    --pg-btn-face: var(--pg-orange);
    --pg-btn-face-hover: var(--pg-orange-deep);
    --pg-btn-arrow-ink: var(--pg-orange);
    --pg-btn-shadow: 0 10px 24px rgba(241, 103, 36, 0.28);
    border: 0;
    border-radius: 999px;
    background: var(--pg-btn-face);
    color: #fff;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    justify-content: center;
    align-items: center;
    line-height: 1;
    min-height: 3.35rem;
    padding: 0 calc(var(--pg-btn-arrow) + 2.55rem) 0 1.65rem;
    box-shadow: var(--pg-btn-shadow);
    overflow: hidden;
}
.pg-btn-primary::before,
.pg-btn-chat::before {
    content: "";
    display: block;
    position: absolute;
    inset: auto;
    left: auto;
    right: calc(var(--pg-btn-arrow) - .15rem);
    top: -28%;
    width: 1.85rem;
    height: 156%;
    background: var(--pg-btn-face);
    border-radius: 50%;
    transform: none;
    transition: background .35s var(--ease-out);
    z-index: 1;
    pointer-events: none;
}
.pg-btn-primary:hover::before,
.pg-btn-chat:hover::before {
    background: var(--pg-btn-face-hover);
}
.pg-btn-primary::after,
.pg-btn-chat::after {
    content: "\f054";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: .78em;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: var(--pg-btn-arrow);
    display: grid;
    place-items: center;
    background: #fff;
    color: var(--pg-btn-arrow-ink);
    border-radius: 0 999px 999px 0;
    z-index: 3;
    transition: color .35s var(--ease-out), background .35s var(--ease-out), transform .35s var(--ease-out);
}
.pg-btn-primary:hover,
.pg-btn-chat:hover {
    background: var(--pg-btn-face-hover);
    color: #fff;
    transform: translateY(-3px);
    filter: none;
    letter-spacing: .07em;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28);
}
.pg-btn-primary:hover::after,
.pg-btn-chat:hover::after {
    /* keep white arrow panel - only nudge */
    color: var(--pg-btn-arrow-ink);
    background: #fff;
    text-indent: 0;
    box-shadow: none;
    transform: translateX(2px);
}
.pg-btn-chat:hover {
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.28);
}
.pg-btn-primary:active,
.pg-btn-chat:active {
    filter: none;
    transform: translateY(-1px);
    letter-spacing: .07em;
    box-shadow: var(--pg-btn-shadow);
}

/* Live Chat - black face; hover slightly lighter (not orange, white arrow stays) */
.pg-btn-chat {
    --pg-btn-face: #161616;
    --pg-btn-face-hover: #2c2c2c;
    --pg-btn-arrow-ink: #161616;
    --pg-btn-shadow: 0 10px 24px rgba(0, 0, 0, 0.22);
}
.pg-btn-chat:hover {
    --pg-btn-arrow-ink: #161616;
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.32);
}

/* Primary - deeper orange on hover (not same tone) */
.pg-btn-primary {
    --pg-btn-face-hover: #d4551a;
}

.pg-btn-outline {
    border-color: var(--pg-ink);
    color: var(--pg-ink);
    background: transparent;
}
.pg-btn-outline:hover {
    background: var(--pg-orange);
    color: #fff;
    border-color: var(--pg-orange);
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(241,103,36,.28);
}
.pg-btn-ghost {
    border-color: rgba(255,255,255,.55);
    color: #fff;
    background: rgba(255,255,255,.08);
    backdrop-filter: blur(8px);
}
.pg-btn-ghost:hover {
    background: var(--pg-orange);
    color: #fff;
    border-color: var(--pg-orange);
    transform: translateY(-3px);
}
.pg-btn-glass {
    border-color: rgba(255,255,255,.35);
    color: #fff;
    background: rgba(255,255,255,.1);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.pg-btn-glass:hover {
    background: var(--pg-orange);
    color: #fff;
    border-color: var(--pg-orange);
    transform: translateY(-3px);
}
.pg-btn-lg {
    min-height: 3.65rem;
    padding: 0 calc(var(--pg-btn-arrow, 3.15rem) + 2.75rem) 0 1.85rem;
    font-size: 1rem;
    letter-spacing: .08em;
}
.pg-btn-lg.pg-btn-primary,
.pg-btn-lg.pg-btn-chat {
    --pg-btn-arrow: 3.45rem;
    border-radius: 999px;
}
.pg-btn-lg.pg-btn-primary::after,
.pg-btn-lg.pg-btn-chat::after {
    border-radius: 0 999px 999px 0;
}

.pg-section-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .85rem;
    margin-top: 1.75rem;
}
.pg-section-actions.is-center {
    justify-content: center;
}
.pg-section-actions.is-end {
    justify-content: flex-end;
}
.pg-section-head + .pg-section-actions,
.pg-services-grid + .pg-section-actions,
.pg-svc-slider + .pg-section-actions,
.pg-promise-mosaic + .pg-section-actions,
.pg-genre-grid + .pg-section-actions,
.pg-portfolio-grid + .pg-section-actions,
.pg-portfolio-slider + .pg-section-actions,
.pg-testi-slider + .pg-section-actions {
    margin-top: 2.5rem;
}
.pg-cta-dark .pg-section-actions,
.pg-cta-banner-actions {
    justify-content: flex-start;
    margin-top: 2rem;
}
.pg-cta-dark .pg-section-actions .pg-btn,
.pg-cta-banner-actions .pg-btn {
    min-width: 180px;
}
.pg-lead-aside .pg-section-actions {
    margin-top: 2rem;
}

.pg-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--pg-orange);
    font-weight: 600;
    font-size: .92rem;
}
.pg-link i { transition: transform .3s var(--ease-out); }
.pg-link:hover i { transform: translateX(5px); }

.pg-eyebrow {
    display: inline-block;
    font-family: var(--font-body);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--pg-orange);
    margin-bottom: .9rem;
    position: relative;
    padding-left: 2.4rem;
}
.pg-eyebrow::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1.8rem;
    height: 2px;
    background: var(--pg-orange);
    transform: translateY(-50%);
}
.pg-eyebrow.light { color: #ffb48a; }
.pg-eyebrow.light::before { background: #ffb48a; }

.pg-section-lead {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.05rem;
}
.pg-section-head { margin-bottom: 3.5rem; }

/* ---------- Zigzag / Clip Paths ---------- */
.pg-zigzag {
    position: absolute;
    left: 0;
    width: 100%;
    height: 70px;
    pointer-events: none;
    z-index: 2;
}
.pg-zigzag-bottom {
    bottom: -1px;
    background: var(--pg-paper);
    clip-path: polygon(
        0 40%, 8% 70%, 16% 35%, 24% 80%, 32% 45%, 40% 75%,
        48% 30%, 56% 70%, 64% 40%, 72% 85%, 80% 50%, 88% 75%,
        96% 40%, 100% 65%, 100% 100%, 0 100%
    );
}
.pg-zigzag-top {
    top: -1px;
    background: var(--pg-paper);
    clip-path: polygon(
        0 0, 100% 0, 100% 60%, 92% 30%, 84% 65%, 76% 20%,
        68% 55%, 60% 25%, 52% 70%, 44% 30%, 36% 60%, 28% 15%,
        20% 50%, 12% 25%, 4% 60%, 0 35%
    );
}
.pg-zigzag-top.light { background: var(--pg-white); }
.pg-zigzag-bottom.dark-bottom { background: var(--pg-paper); }
.pg-zigzag-top.dark-top { background: var(--pg-paper); }

/* ---------- Reveal Animations ---------- */
.reveal {
    opacity: 0;
    transform: translateY(56px) scale(.985);
    filter: blur(6px);
    transition:
        opacity 1s var(--ease-out),
        transform 1s var(--ease-out),
        filter 1s var(--ease-out);
}
.reveal.reveal-delay { transition-delay: .18s; }
.reveal.reveal-left {
    transform: translateX(-48px) scale(.985);
}
.reveal.reveal-right {
    transform: translateX(48px) scale(.985);
}
.reveal.in {
    opacity: 1;
    transform: none;
    filter: blur(0);
}

/* =========================================================
   PREMIUM NAV
   ========================================================= */
/* Nav sits on banner via zero-height anchor */
.pg-nav-anchor {
    position: relative;
    height: 0;
    z-index: 1000;
}
.pg-header-shell {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    width: 100%;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-bottom: 0;
    box-shadow: none;
    transition: background .4s var(--ease-out), box-shadow .4s, backdrop-filter .4s, border-color .4s;
}

/* Premium contact top bar (scrolls away - not sticky) */
.pg-topbar {
    position: relative;
    z-index: 2;
    min-height: var(--topbar-h);
    max-height: 48px;
    background: #100e0c;
    border-bottom: 1px solid rgba(241, 103, 36, .22);
    overflow: hidden;
    transition: max-height .35s var(--ease-out), opacity .3s, border-color .3s, min-height .35s;
}
.pg-topbar::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(241, 103, 36, .55), transparent);
    pointer-events: none;
}
.pg-topbar .container {
    max-width: 100%;
    padding-left: 3.25rem;
    padding-right: 3.25rem;
}
.pg-topbar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    min-height: var(--topbar-h);
    padding: 0;
}
.pg-topbar-note {
    margin: 0;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    font-size: .68rem;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(247, 241, 234, .55);
    white-space: nowrap;
}
.pg-topbar-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--pg-orange);
    box-shadow: 0 0 0 3px rgba(241, 103, 36, .18);
    flex-shrink: 0;
}
.pg-topbar-actions {
    display: flex;
    align-items: center;
    gap: 0;
    flex-shrink: 0;
    margin-left: auto;
}
.pg-topbar-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: 0 .9rem;
    min-height: var(--topbar-h);
    border: 0;
    border-radius: 0;
    background: transparent;
    border-left: 1px solid rgba(255, 255, 255, .08);
    transition: background .3s, color .3s;
}
.pg-topbar-link:first-child {
    border-left: 0;
}
.pg-topbar-link:hover {
    background: rgba(241, 103, 36, .1);
}
.pg-topbar-ico {
    width: auto;
    height: auto;
    display: inline-flex;
    place-items: center;
    border-radius: 0;
    background: transparent;
    color: var(--pg-orange);
    font-size: .68rem;
    box-shadow: none;
}
.pg-topbar-txt {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: .4rem;
    line-height: 1;
    padding-right: 0;
}
.pg-topbar-txt small {
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255, 180, 138, .75);
}
.pg-topbar-txt strong {
    font-size: .74rem;
    font-weight: 600;
    color: #f7f1ea;
    white-space: nowrap;
    letter-spacing: .01em;
}

/* When nav sticks, topbar scrolls away */
.pg-header-shell::after {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, transparent, var(--pg-orange), transparent);
    opacity: .55;
    pointer-events: none;
}
.pg-header-shell.is-scrolled {
    --shell-h: var(--header-h);
    position: fixed;
    top: 0;
    background: rgba(247,242,234,.92);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    box-shadow: 0 12px 36px rgba(90,40,10,.08);
    border-bottom: 1px solid rgba(22,22,22,.05);
}
.pg-header-shell.is-scrolled .pg-topbar {
    max-height: 0;
    min-height: 0;
    opacity: 0;
    border-bottom-color: transparent;
    pointer-events: none;
}
.pg-header-shell::before {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(241,103,36,.35), transparent);
    opacity: .85;
    transition: opacity .35s, height .35s, background .35s;
    pointer-events: none;
}
.pg-header-shell.is-scrolled::before {
    height: 2px;
    background: linear-gradient(90deg, transparent 5%, var(--pg-orange) 35%, #ffb48a 50%, var(--pg-orange) 65%, transparent 95%);
    opacity: 1;
}

.pg-header {
    position: relative;
    padding: .4rem 0;
}
.pg-header .container {
    max-width: 100%;
    padding-left: 3.25rem;
    padding-right: 3.25rem;
}
.pg-header-shell.is-scrolled .pg-header {
    padding: .3rem 0;
}
.pg-header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-height: var(--header-h);
    width: 100%;
    padding: .25rem 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.pg-header-shell.is-scrolled .pg-header-inner {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

.pg-logo { position: relative; z-index: 2; flex-shrink: 0; }
.pg-logo img {
    height: 48px;
    width: auto;
    filter: drop-shadow(0 6px 16px rgba(90,40,10,.1));
    transition: transform .4s var(--ease-out), filter .4s;
}
.pg-logo:hover img {
    transform: scale(1.03);
    filter: drop-shadow(0 10px 22px rgba(241,103,36,.2));
}

.pg-nav {
    flex: 1;
    display: flex;
    justify-content: center;
    min-width: 0;
}
.pg-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    width: auto;
    max-width: 100%;
    gap: .2rem;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
.pg-menu > li { position: relative; }
.pg-menu > li > a {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .5rem .58rem;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .01em;
    text-transform: none;
    color: rgba(22,22,22,.72);
    position: relative;
    border-radius: 2px;
    transition: color .3s, background .3s, box-shadow .3s;
    white-space: nowrap;
}
.pg-menu > li > a::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: .22rem;
    width: 0;
    height: 2px;
    background: var(--pg-orange);
    border-radius: 2px;
    transform: translateX(-50%);
    transition: width .35s var(--ease-out);
    box-shadow: 0 0 10px rgba(241,103,36,.35);
}
.pg-menu > li:hover > a,
.pg-menu > li.active > a {
    color: var(--pg-ink);
}
.pg-menu > li:hover > a {
    background: rgba(241,103,36,.08);
}
.pg-menu > li.active > a {
    background: transparent;
    box-shadow: none;
}
.pg-menu > li:hover > a::before,
.pg-menu > li.active > a::before { width: 42%; }
.pg-menu > li > a i {
    font-size: .55rem;
    opacity: .55;
    transition: transform .3s, opacity .3s, color .3s;
}
.pg-menu > li:hover > a i {
    transform: rotate(180deg);
    opacity: 1;
    color: var(--pg-orange);
}

.pg-submenu {
    position: absolute;
    top: calc(100% + 14px);
    left: 0;
    min-width: 250px;
    background: rgba(255,255,255,.98);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(22,22,22,.08);
    box-shadow: 0 24px 50px rgba(90,40,10,.12);
    padding: .55rem 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: .3s var(--ease-out);
    z-index: 50;
}
.pg-submenu::before {
    content: "";
    position: absolute;
    top: -5px; left: 26px;
    width: 10px; height: 10px;
    background: rgba(255,255,255,.98);
    border-left: 1px solid rgba(22,22,22,.08);
    border-top: 1px solid rgba(22,22,22,.08);
    transform: rotate(45deg);
}
.pg-submenu::after {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--pg-orange), transparent);
}
.pg-submenu-cols {
    min-width: min(480px, 92vw);
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-height: min(70vh, 520px);
    overflow-y: auto;
    padding: .35rem 0;
}
.has-dropdown:hover > .pg-submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.pg-submenu a {
    display: block;
    padding: .62rem 1.2rem;
    font-size: .86rem;
    color: rgba(22,22,22,.72);
    transition: .25s;
    position: relative;
}
.pg-submenu a:hover {
    color: var(--pg-orange);
    background: rgba(241,103,36,.06);
    padding-left: 1.45rem;
}

.pg-header-cta {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-shrink: 0;
}
.pg-header-cta .pg-btn-primary,
.pg-header-cta .pg-btn-chat,
.pg-header-quote {
    --pg-btn-arrow: 2.75rem;
    min-height: 2.7rem;
    padding: 0 calc(var(--pg-btn-arrow) + 2.1rem) 0 1.2rem;
    min-width: 0;
    font-size: .78rem;
    letter-spacing: .06em;
}
.pg-header-cta .pg-btn-primary,
.pg-header-quote {
    box-shadow: 0 10px 28px rgba(241,103,36,.28);
}
.pg-header-cta .pg-btn-chat {
    box-shadow: 0 10px 28px rgba(0,0,0,.18);
}
.pg-header-quote:hover {
    box-shadow: 0 14px 34px rgba(241,103,36,.4);
}
.pg-header-call {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    padding: .35rem .7rem .35rem .4rem;
    border: 1px solid rgba(241,103,36,.18);
    background: linear-gradient(135deg, rgba(241,103,36,.08), rgba(255,255,255,.7));
    border-radius: 999px;
    transition: transform .35s var(--ease-out), box-shadow .35s, border-color .35s, background .35s;
}
.pg-header-call-ico {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--pg-orange);
    color: #fff;
    font-size: .78rem;
    box-shadow: 0 8px 18px rgba(241,103,36,.3);
}
.pg-header-call-txt {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    padding-right: .35rem;
}
.pg-header-call-txt small {
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--pg-orange);
}
.pg-header-call-txt strong {
    font-size: .82rem;
    font-weight: 700;
    color: var(--pg-ink);
}
.pg-header-call:hover {
    transform: translateY(-2px);
    border-color: rgba(241,103,36,.4);
    box-shadow: 0 12px 26px rgba(241,103,36,.16);
    background: #fff;
}
.pg-header-email .pg-header-call-txt strong {
    font-size: .72rem;
    letter-spacing: .01em;
}

.pg-toggler {
    display: none;
    width: 46px; height: 46px;
    border: 1px solid rgba(22,22,22,.1);
    background: rgba(255,255,255,.8);
    backdrop-filter: blur(10px);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
    transition: border-color .3s, background .3s;
}
.pg-toggler:hover {
    border-color: rgba(241,103,36,.45);
    background: rgba(241,103,36,.08);
}
.pg-toggler span {
    display: block;
    width: 18px; height: 2px;
    background: var(--pg-ink);
    transition: .3s;
}
.pg-toggler.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.pg-toggler.is-open span:nth-child(2) { opacity: 0; }
.pg-toggler.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* =========================================================
   HERO - Premium editorial split + dual book marquee
   ========================================================= */
.pg-hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #fff;
    padding: calc(var(--shell-h) + 2.8rem) 0 5.5rem;
    background:
        radial-gradient(ellipse 95% 75% at 8% 28%, rgba(241,103,36,.36), transparent 58%),
        radial-gradient(ellipse 70% 55% at 92% 12%, rgba(255,190,140,.24), transparent 54%),
        radial-gradient(ellipse 55% 45% at 55% 90%, rgba(241,103,36,.18), transparent 55%),
        radial-gradient(ellipse 48% 42% at 28% 42%, rgba(255,255,255,.09), transparent 62%),
        linear-gradient(165deg, #1c1411 0%, #261a15 36%, #2e1f18 68%, #1e1512 100%);
}
.pg-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(ellipse 75% 60% at 28% 38%, transparent 38%, rgba(0,0,0,.18) 100%),
        linear-gradient(180deg, rgba(0,0,0,.1) 0%, transparent 24%, transparent 76%, rgba(0,0,0,.24) 100%);
}
.pg-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(105deg, rgba(241,103,36,.1) 0%, transparent 32%, transparent 58%, rgba(255,220,180,.06) 100%);
    mix-blend-mode: soft-light;
}

.pg-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
}
.pg-hero-wash {
    position: absolute;
    inset: -12% -6%;
    background:
        conic-gradient(from 200deg at 22% 32%, rgba(241,103,36,.18), transparent 26%, rgba(255,255,255,.08) 48%, transparent 68%, rgba(241,103,36,.12) 100%);
    filter: blur(36px);
    opacity: 1;
    animation: washDrift 22s ease-in-out infinite alternate;
}
@keyframes washDrift {
    from { transform: translate(0, 0) scale(1); }
    to { transform: translate(2%, -1.5%) scale(1.05); }
}
.pg-hero-mist {
    position: absolute;
    border-radius: 50%;
    filter: blur(50px);
    opacity: .55;
    animation: mistFloat 16s ease-in-out infinite alternate;
}
.pg-hero-mist.m1 {
    width: 55vw;
    height: 40vh;
    left: -8%;
    top: 18%;
    background: radial-gradient(ellipse, rgba(255,170,110,.28), transparent 70%);
}
.pg-hero-mist.m2 {
    width: 42vw;
    height: 36vh;
    right: -6%;
    bottom: 10%;
    background: radial-gradient(ellipse, rgba(255,220,180,.16), transparent 70%);
    animation-delay: -5s;
}
@keyframes mistFloat {
    from { transform: translate(0, 0) scale(1); }
    to { transform: translate(3%, -2%) scale(1.08); }
}
.pg-hero-beam {
    position: absolute;
    top: -20%;
    width: min(30vw, 360px);
    height: 140%;
    background: linear-gradient(180deg, rgba(255,210,160,.22), rgba(241,103,36,.12) 40%, transparent 78%);
    filter: blur(26px);
    transform: rotate(18deg);
    opacity: .85;
    animation: beamPulse 10s ease-in-out infinite;
}
.pg-hero-beam.b1 { left: 6%; }
.pg-hero-beam.b2 {
    right: 10%;
    width: min(20vw, 240px);
    transform: rotate(-14deg);
    opacity: .55;
    animation-delay: -3.5s;
    background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(241,103,36,.08) 45%, transparent 80%);
}
.pg-hero-beam.b3 {
    left: 42%;
    width: min(14vw, 160px);
    transform: rotate(8deg);
    opacity: .35;
    animation-delay: -6s;
    background: linear-gradient(180deg, rgba(255,200,140,.18), transparent 70%);
}
@keyframes beamPulse {
    0%, 100% { opacity: .5; }
    50% { opacity: .9; }
}
.pg-hero-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(1px);
    background: radial-gradient(circle, rgba(255,210,160,.75), rgba(241,103,36,.28) 45%, transparent 70%);
    animation: orbFloat 14s ease-in-out infinite;
}
.pg-hero-orb.o1 {
    width: 20px; height: 20px;
    left: 20%; top: 26%;
    box-shadow: 0 0 48px rgba(241,103,36,.5);
}
.pg-hero-orb.o2 {
    width: 14px; height: 14px;
    left: 46%; top: 16%;
    animation-delay: -4s;
    box-shadow: 0 0 32px rgba(255,200,150,.4);
}
.pg-hero-orb.o3 {
    width: 12px; height: 12px;
    right: 36%; bottom: 28%;
    animation-delay: -7s;
    background: radial-gradient(circle, rgba(255,255,255,.7), transparent 70%);
}
.pg-hero-orb.o4 {
    width: 9px; height: 9px;
    left: 32%; bottom: 22%;
    animation-delay: -2s;
    box-shadow: 0 0 24px rgba(241,103,36,.45);
}
.pg-hero-orb.o5 {
    width: 16px; height: 16px;
    right: 22%; top: 34%;
    animation-delay: -9s;
    box-shadow: 0 0 36px rgba(255,190,140,.4);
}
@keyframes orbFloat {
    0%, 100% { transform: translate(0, 0); opacity: .65; }
    50% { transform: translate(12px, -18px); opacity: 1; }
}
.pg-hero-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    animation: heroGlowPulse 9s ease-in-out infinite;
}
.pg-hero-glow.g1 {
    width: 680px; height: 680px;
    left: -160px; top: -4%;
    background: rgba(241,103,36,.34);
}
.pg-hero-glow.g2 {
    width: 520px; height: 520px;
    right: -60px; top: 0%;
    background: rgba(255,170,110,.22);
    animation-delay: -2.5s;
}
.pg-hero-glow.g3 {
    width: 380px; height: 380px;
    left: 36%; bottom: -4%;
    background: rgba(255,255,255,.08);
    animation-delay: -4s;
}
.pg-hero-glow.g4 {
    width: 300px; height: 300px;
    right: 24%; bottom: 10%;
    background: rgba(241,103,36,.18);
    animation-delay: -6s;
}
.pg-hero-glow.g5 {
    width: 240px; height: 240px;
    left: 48%; top: 12%;
    background: rgba(255,220,180,.12);
    animation-delay: -1.5s;
}
@keyframes heroGlowPulse {
    0%, 100% { transform: scale(1); opacity: .85; }
    50% { transform: scale(1.1); opacity: 1; }
}
.pg-hero-slash {
    position: absolute;
    top: -18%;
    right: -12%;
    width: 58%;
    height: 136%;
    background:
        linear-gradient(155deg, rgba(255,255,255,.08) 0%, rgba(241,103,36,.16) 38%, transparent 70%);
    clip-path: polygon(34% 0, 100% 0, 100% 100%, 8% 100%);
    transform: skewX(-10deg);
    opacity: .95;
}
.pg-hero-panel {
    position: absolute;
    left: -4%;
    top: 8%;
    width: min(46vw, 560px);
    height: 78%;
    background:
        linear-gradient(135deg, rgba(255,255,255,.07), rgba(241,103,36,.05) 45%, transparent 75%);
    border: 1px solid rgba(255,255,255,.06);
    transform: skewY(-3deg);
    filter: blur(.2px);
    opacity: .7;
}
.pg-hero-aurora {
    position: absolute;
    filter: blur(44px);
    opacity: .65;
    mix-blend-mode: screen;
}
.pg-hero-aurora.a1 {
    width: 74%;
    height: 44%;
    left: -12%;
    top: 16%;
    background: linear-gradient(90deg, transparent, rgba(241,103,36,.42), rgba(255,180,120,.22), transparent);
    transform: rotate(-8deg);
    animation: auroraDrift 14s ease-in-out infinite;
}
.pg-hero-aurora.a2 {
    width: 60%;
    height: 36%;
    right: -10%;
    bottom: 12%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), rgba(241,103,36,.26), transparent);
    transform: rotate(6deg);
    animation: auroraDrift2 16s ease-in-out infinite;
}
.pg-hero-aurora.a3 {
    width: 48%;
    height: 28%;
    left: 28%;
    top: 48%;
    background: linear-gradient(90deg, transparent, rgba(255,200,150,.2), transparent);
    transform: rotate(-2deg);
    animation: auroraDrift 18s ease-in-out infinite reverse;
}
@keyframes auroraDrift {
    0%, 100% { transform: translateX(0) rotate(-8deg); opacity: .4; }
    50% { transform: translateX(4%) rotate(-5deg); opacity: .7; }
}
@keyframes auroraDrift2 {
    0%, 100% { transform: translateX(0) rotate(6deg); opacity: .35; }
    50% { transform: translateX(-5%) rotate(3deg); opacity: .6; }
}
.pg-hero-arc {
    position: absolute;
    border: 1px solid rgba(241,103,36,.28);
    border-radius: 50%;
    opacity: .55;
    animation: arcSpin 28s linear infinite;
}
.pg-hero-arc.arc1 {
    width: 520px;
    height: 520px;
    left: -120px;
    top: 8%;
    border-color: rgba(241,103,36,.22);
    border-top-color: transparent;
    border-left-color: transparent;
}
.pg-hero-arc.arc2 {
    width: 340px;
    height: 340px;
    right: 8%;
    top: 18%;
    border-style: dashed;
    border-color: rgba(255,255,255,.16);
    animation-duration: 36s;
    animation-direction: reverse;
}
.pg-hero-arc.arc3 {
    width: 220px;
    height: 220px;
    left: 38%;
    bottom: 12%;
    border-color: rgba(255,190,140,.25);
    animation-duration: 22s;
}
@keyframes arcSpin {
    to { transform: rotate(360deg); }
}
.pg-hero-grid {
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image:
        linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: radial-gradient(ellipse at 30% 40%, #000 15%, transparent 70%);
    -webkit-mask-image: radial-gradient(ellipse at 30% 40%, #000 15%, transparent 70%);
}
.pg-hero-grain {
    position: absolute;
    inset: 0;
    opacity: .2;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
    background-size: 180px 180px;
    mix-blend-mode: soft-light;
    pointer-events: none;
}
.pg-hero-mesh {
    position: absolute;
    inset: 0;
    opacity: .75;
    background:
        radial-gradient(circle at 16% 58%, rgba(241,103,36,.22), transparent 32%),
        radial-gradient(circle at 74% 20%, rgba(255,255,255,.08), transparent 28%),
        radial-gradient(circle at 90% 78%, rgba(241,103,36,.16), transparent 26%),
        radial-gradient(circle at 42% 8%, rgba(255,190,140,.12), transparent 24%);
    animation: meshShift 18s ease-in-out infinite alternate;
}
@keyframes meshShift {
    from { transform: scale(1) translate(0, 0); }
    to { transform: scale(1.05) translate(-1.2%, 1%); }
}

/* ---- Animated vectors layer ---- */
.pg-hero-vectors {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
}
.pg-hero-vectors .hv-svg {
    position: absolute;
    color: rgba(255,255,255,.45);
    filter: drop-shadow(0 8px 16px rgba(0,0,0,.25));
}
.pg-hero-vectors .draw {
    stroke-dasharray: 160;
    stroke-dashoffset: 160;
    animation: hvDraw 3s ease forwards;
}
.pg-hero-vectors .write {
    stroke-dasharray: 200;
    stroke-dashoffset: 200;
    animation: hvWrite 5s ease-in-out infinite;
}
@keyframes hvDraw { to { stroke-dashoffset: 0; } }
@keyframes hvWrite {
    0% { stroke-dashoffset: 200; opacity: .2; }
    40% { stroke-dashoffset: 0; opacity: 1; }
    70% { stroke-dashoffset: 0; opacity: 1; }
    100% { stroke-dashoffset: -30; opacity: .15; }
}

.hv-quill {
    width: 110px; height: 110px;
    left: 6%; top: 22%;
    color: rgba(241,103,36,.8);
    animation: hvFloat 7s ease-in-out infinite;
}
.hv-pen {
    width: 78px; height: 78px;
    left: 38%; top: 16%;
    color: rgba(255,210,180,.7);
    animation: hvTilt 6.5s ease-in-out infinite;
}
.hv-book {
    width: 88px; height: 70px;
    right: 42%; bottom: 22%;
    color: rgba(255,255,255,.4);
    animation: hvFloat 8s ease-in-out infinite reverse;
}
.hv-script {
    width: 170px; height: 48px;
    left: 18%; bottom: 26%;
    color: rgba(241,103,36,.55);
    animation: hvFloat 9s ease-in-out infinite;
}
.hv-spark {
    width: 28px; height: 28px;
    color: rgba(241,103,36,.85);
    animation: hvSpark 10s linear infinite;
}
.hv-spark.s1 { left: 48%; top: 28%; }
.hv-spark.s2 { right: 36%; top: 42%; width: 20px; height: 20px; color: rgba(255,255,255,.5); animation-duration: 14s; animation-direction: reverse; }
.hv-spark.s3 { left: 28%; top: 58%; width: 18px; height: 18px; animation-duration: 12s; }
.hv-spark.s4 { right: 48%; top: 20%; width: 16px; height: 16px; color: rgba(255,210,170,.75); animation-duration: 11s; }
.hv-star {
    width: 16px; height: 16px;
    right: 30%; bottom: 34%;
    color: rgba(241,103,36,.7);
    animation: hvTwinkle 3s ease-in-out infinite;
}
.hv-star.s2 {
    left: 26%; top: 34%;
    width: 12px; height: 12px;
    color: rgba(255,210,170,.65);
    animation-delay: -1.4s;
}

.hv-ring {
    position: absolute;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 50%;
}
.hv-ring.r1 {
    width: 380px; height: 380px;
    left: -80px; bottom: 8%;
    border-color: rgba(241,103,36,.28);
    animation: hvSpin 40s linear infinite;
}
.hv-ring.r2 {
    width: 220px; height: 220px;
    right: 18%; top: 18%;
    border-style: dashed;
    border-color: rgba(255,255,255,.2);
    animation: hvSpin 28s linear infinite reverse;
}
.hv-ring.r3 {
    width: 120px; height: 120px;
    left: 42%; top: 36%;
    border-color: rgba(241,103,36,.4);
    animation: hvPulse 4.5s ease-in-out infinite;
}
.hv-ring.r4 {
    width: 160px; height: 160px;
    right: 42%; bottom: 18%;
    border-color: rgba(255,200,150,.28);
    animation: hvSpin 32s linear infinite;
}

.hv-line {
    position: absolute;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(241,103,36,.7), transparent);
    animation: hvShimmer 4s ease-in-out infinite;
}
.hv-line.l1 { width: 180px; left: 10%; top: 38%; }
.hv-line.l2 { width: 120px; left: 32%; top: 72%; transform: rotate(-24deg); animation-delay: -1s; }
.hv-line.l3 { width: 90px; right: 40%; top: 24%; transform: rotate(18deg); animation-delay: -2s; }
.hv-line.l4 { width: 140px; right: 28%; bottom: 28%; transform: rotate(-12deg); animation-delay: -1.5s; }
.hv-line.l5 { width: 100px; left: 52%; top: 48%; transform: rotate(8deg); animation-delay: -2.8s; }

.hv-diamond {
    position: absolute;
    width: 10px; height: 10px;
    background: var(--pg-orange);
    clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
    box-shadow: 0 0 14px rgba(241,103,36,.55);
    animation: hvDiamond 5s ease-in-out infinite;
}
.hv-diamond.d1 { left: 14%; top: 48%; }
.hv-diamond.d2 { left: 44%; top: 20%; width: 8px; height: 8px; animation-delay: -1.2s; }
.hv-diamond.d3 { right: 38%; top: 58%; width: 7px; height: 7px; background: #fff; animation-delay: -2.4s; }
.hv-diamond.d4 { left: 8%; bottom: 32%; width: 9px; height: 9px; animation-delay: -3s; }
.hv-diamond.d5 { right: 22%; top: 28%; width: 8px; height: 8px; animation-delay: -1.8s; }

.hv-dot {
    position: absolute;
    width: 4px; height: 4px;
    border-radius: 50%;
    background: rgba(255,255,255,.65);
    animation: hvRise 10s linear infinite;
}
.hv-dot.p1 { left: 12%; bottom: 12%; }
.hv-dot.p2 { left: 22%; bottom: 10%; animation-delay: -2s; width: 3px; height: 3px; }
.hv-dot.p3 { left: 35%; bottom: 14%; animation-delay: -4s; background: var(--pg-orange); }
.hv-dot.p4 { left: 48%; bottom: 8%; animation-delay: -1s; width: 2px; height: 2px; }
.hv-dot.p5 { right: 42%; bottom: 16%; animation-delay: -5s; }
.hv-dot.p6 { right: 34%; bottom: 11%; animation-delay: -3s; background: rgba(241,103,36,.7); }
.hv-dot.p7 { right: 26%; bottom: 20%; animation-delay: -6s; width: 3px; height: 3px; }
.hv-dot.p8 { left: 55%; bottom: 18%; animation-delay: -2.5s; }
.hv-dot.p9 { left: 18%; bottom: 24%; animation-delay: -3.5s; background: rgba(255,200,150,.8); }
.hv-dot.p10 { right: 18%; bottom: 14%; animation-delay: -4.5s; width: 3px; height: 3px; }

.hv-page {
    position: absolute;
    width: 36px; height: 48px;
    background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.03));
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 12px 28px rgba(0,0,0,.25);
}
.hv-page::before,
.hv-page::after {
    content: "";
    position: absolute;
    left: 7px; right: 7px;
    height: 1px;
    background: rgba(255,255,255,.25);
}
.hv-page::before { top: 14px; }
.hv-page::after { top: 21px; width: 50%; right: auto; }
.hv-page.pg1 { left: 8%; top: 62%; animation: hvPage 7s ease-in-out infinite; }
.hv-page.pg2 { left: 40%; bottom: 18%; width: 28px; height: 38px; border-color: rgba(241,103,36,.3); animation: hvPageAlt 8s ease-in-out infinite; }
.hv-page.pg3 { right: 34%; top: 30%; width: 30px; height: 40px; animation: hvPage 6.5s .8s ease-in-out infinite; }

.hv-ink {
    position: absolute;
    border-radius: 60% 40% 55% 45%;
    filter: blur(2px);
    animation: hvBlob 10s ease-in-out infinite;
}
.hv-ink.i1 {
    width: 110px; height: 90px;
    left: 24%; top: 30%;
    background: radial-gradient(circle at 35% 35%, rgba(241,103,36,.36), transparent 70%);
    opacity: .7;
}
.hv-ink.i2 {
    width: 80px; height: 70px;
    right: 32%; bottom: 26%;
    background: radial-gradient(circle at 40% 40%, rgba(255,255,255,.16), transparent 70%);
    opacity: .6;
    animation-delay: -3s;
}
.hv-ink.i3 {
    width: 96px; height: 78px;
    left: 58%; top: 42%;
    background: radial-gradient(circle at 40% 40%, rgba(255,190,140,.22), transparent 70%);
    opacity: .55;
    animation-delay: -5s;
}

.hv-frame {
    position: absolute;
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 0 0 1px rgba(241,103,36,.08);
    animation: hvPulse 6s ease-in-out infinite;
}
.hv-frame.f1 {
    width: 90px;
    height: 120px;
    left: 4%;
    top: 42%;
    border-color: rgba(241,103,36,.3);
    transform: rotate(-8deg);
}
.hv-frame.f2 {
    width: 70px;
    height: 70px;
    right: 46%;
    top: 12%;
    border-style: dashed;
    border-color: rgba(255,210,170,.35);
    animation-delay: -2s;
}

.hv-constellation {
    position: absolute;
    width: 120px; height: 80px;
    background:
        radial-gradient(circle at 10% 40%, #fff 0 1.5px, transparent 2px),
        radial-gradient(circle at 40% 20%, rgba(241,103,36,.9) 0 1.5px, transparent 2px),
        radial-gradient(circle at 70% 55%, #fff 0 1px, transparent 2px),
        radial-gradient(circle at 90% 30%, rgba(255,255,255,.7) 0 1.5px, transparent 2px);
    opacity: .8;
    animation: hvTwinkle 4s ease-in-out infinite;
}
.hv-constellation.c1 { left: 52%; top: 14%; }
.hv-constellation.c2 { left: 4%; top: 70%; width: 90px; animation-delay: -1.5s; }
.hv-constellation.c3 { right: 12%; top: 48%; width: 100px; animation-delay: -2.2s; }

@keyframes hvFloat {
    0%, 100% { transform: translateY(0) rotate(-4deg); }
    50% { transform: translateY(-14px) rotate(3deg); }
}
@keyframes hvTilt {
    0%, 100% { transform: translateY(0) rotate(-14deg); }
    50% { transform: translateY(-10px) rotate(4deg); }
}
@keyframes hvSpark { to { transform: rotate(360deg); } }
@keyframes hvTwinkle {
    0%, 100% { opacity: .35; transform: scale(.9); }
    50% { opacity: 1; transform: scale(1.1); }
}
@keyframes hvSpin { to { transform: rotate(360deg); } }
@keyframes hvPulse {
    0%, 100% { transform: scale(1); opacity: .45; }
    50% { transform: scale(1.12); opacity: .9; }
}
@keyframes hvShimmer {
    0%, 100% { opacity: .3; filter: brightness(1); }
    50% { opacity: 1; filter: brightness(1.4); }
}
@keyframes hvDiamond {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-14px) rotate(180deg); }
}
@keyframes hvRise {
    0% { transform: translateY(0) scale(1); opacity: 0; }
    15% { opacity: .85; }
    100% { transform: translateY(-380px) scale(.4); opacity: 0; }
}
@keyframes hvPage {
    0%, 100% { transform: translateY(0) rotate(12deg); opacity: .65; }
    50% { transform: translateY(-16px) rotate(18deg); opacity: 1; }
}
@keyframes hvPageAlt {
    0%, 100% { transform: translateY(0) rotate(-16deg); opacity: .6; }
    50% { transform: translateY(-12px) rotate(-8deg); opacity: 1; }
}
@keyframes hvBlob {
    0%, 100% { transform: translate(0,0) scale(1) rotate(0deg); border-radius: 60% 40% 55% 45%; }
    50% { transform: translate(-12px, 10px) scale(1.12) rotate(16deg); border-radius: 45% 55% 40% 60%; }
}

.pg-hero > .container {
    position: relative;
    z-index: 3;
    width: 100%;
}
.pg-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 1.05fr);
    gap: clamp(1.6rem, 4vw, 3.5rem);
    align-items: center;
}

.pg-hero-copy {
    max-width: 700px;
    position: relative;
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    animation: heroCopyIn .9s var(--ease-out) both;
}
@keyframes heroCopyIn {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: none; }
}
.pg-hero-copy::before {
    content: "";
    position: absolute;
    left: -1.5rem;
    top: .2rem;
    bottom: .4rem;
    width: 2px;
    background: linear-gradient(180deg, var(--pg-orange), rgba(241,103,36,.15), transparent);
    opacity: .7;
    border-radius: 2px;
}

.pg-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .5rem 1rem;
    margin-bottom: 1.35rem;
    background: linear-gradient(135deg, rgba(241,103,36,.22), rgba(255,255,255,.06));
    border: 1px solid rgba(241,103,36,.42);
    color: #ffe4d2;
    font-size: .76rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow:
        0 12px 28px rgba(241,103,36,.18),
        inset 0 1px 0 rgba(255,255,255,.12);
}
.pg-hero-badge i { color: var(--pg-orange); }

.pg-hero-copy h1 {
    font-size: clamp(3.6rem, 7.6vw, 6.6rem);
    line-height: .98;
    color: #fff;
    margin-bottom: 1.35rem;
    letter-spacing: -.045em;
    text-shadow:
        0 18px 50px rgba(0,0,0,.4),
        0 2px 0 rgba(0,0,0,.15);
    font-weight: 600;
}
.pg-hero-typed {
    display: inline-flex;
    align-items: center;
    min-height: 1.15em;
    position: relative;
    margin-top: .15em;
    padding: .1em .22em .14em .28em;
    background: linear-gradient(90deg, rgba(0,0,0,.4), rgba(0,0,0,.22) 55%, rgba(0,0,0,.08));
    border-left: 3px solid #fff;
    box-shadow:
        inset 0 -3px 0 rgba(241,103,36,.95),
        0 12px 30px rgba(0,0,0,.25);
    gap: .22em;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}
.pg-hero-typed::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, transparent 28%, rgba(255,255,255,.2) 48%, transparent 68%);
    transform: translateX(-120%);
    animation: typedSheen 4.8s ease-in-out infinite;
    pointer-events: none;
}
.pg-hero-typed::after {
    content: "";
    width: .38em;
    height: .72em;
    flex-shrink: 0;
    background: #fff;
    border-radius: 2px;
    box-shadow:
        0 0 16px rgba(255,255,255,.55),
        0 0 0 1px rgba(241,103,36,.45);
    animation: typeCaret .7s steps(1) infinite;
}
@keyframes typedSheen {
    0%, 55% { transform: translateX(-120%); }
    80%, 100% { transform: translateX(120%); }
}
.pg-typewriter {
    display: inline-block;
    font-style: normal;
    font-weight: 700;
    letter-spacing: -.02em;
    color: #fff;
    -webkit-text-fill-color: #fff;
    background: none;
    text-shadow:
        0 2px 0 rgba(0,0,0,.4),
        0 10px 28px rgba(0,0,0,.5),
        0 0 22px rgba(255,255,255,.2);
    filter: none;
    position: relative;
    min-width: .55em;
    z-index: 1;
}
@keyframes typeCaret {
    0%, 48% { opacity: 1; transform: scaleY(1); }
    49%, 100% { opacity: 0; transform: scaleY(.88); }
}
.pg-typewriter.is-swap {
    animation: typedSwap .28s var(--ease-out);
}
@keyframes typedSwap {
    from { opacity: .35; transform: translateY(8px); filter: blur(2px); }
    to { opacity: 1; transform: none; filter: none; }
}

.pg-hero-lead {
    color: rgba(255,255,255,.84);
    font-size: clamp(1.08rem, 1.55vw, 1.25rem);
    line-height: 1.75;
    max-width: 480px;
    margin: 0;
    text-shadow: 0 8px 24px rgba(0,0,0,.25);
}

.pg-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
    margin: 2.15rem 0 0;
}
.pg-hero-actions .pg-btn-primary,
.pg-hero-actions .pg-btn-chat {
    --pg-btn-arrow: 3rem;
    min-height: 3.1rem;
    padding: 0 calc(var(--pg-btn-arrow) + 2.4rem) 0 1.4rem;
    font-size: .86rem;
    min-width: 0;
}

/* Gallery - premium book showcase */
.pg-hero-gallery {
    position: relative;
    justify-self: end;
    width: 100%;
    max-width: 560px;
    animation: heroGalleryIn 1s .15s var(--ease-out) both;
}
@keyframes heroGalleryIn {
    from { opacity: 0; transform: translateX(28px) scale(.97); }
    to { opacity: 1; transform: none; }
}
.pg-hero-gallery-glow {
    position: absolute;
    inset: 6% -16% -2%;
    background:
        radial-gradient(ellipse at 50% 35%, rgba(241,103,36,.32), transparent 60%),
        radial-gradient(ellipse at 75% 85%, rgba(255,180,120,.2), transparent 55%);
    filter: blur(38px);
    z-index: 0;
}
.pg-hero-gallery-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(241,103,36,.22);
    pointer-events: none;
    z-index: 0;
}
.pg-hero-gallery-ring.r1 {
    width: 280px;
    height: 280px;
    right: -60px;
    top: -44px;
    animation: galleryRing 18s linear infinite;
}
.pg-hero-gallery-ring.r2 {
    width: 170px;
    height: 170px;
    left: -40px;
    bottom: 48px;
    border-style: dashed;
    border-color: rgba(22,22,22,.12);
    animation: galleryRing 24s linear infinite reverse;
}
@keyframes galleryRing {
    to { transform: rotate(360deg); }
}

.pg-hero-float-chip {
    position: absolute;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .78rem 1.15rem;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(22,22,22,.06);
    color: var(--pg-ink);
    font-size: .8rem;
    font-weight: 700;
    letter-spacing: .03em;
    box-shadow:
        0 18px 40px rgba(90,40,10,.14),
        inset 0 1px 0 #fff;
    animation: chipBob 5.5s ease-in-out infinite;
}
.pg-hero-float-chip i {
    color: var(--pg-orange);
    font-size: .88rem;
}
.pg-hero-float-chip.chip-a {
    top: 5%;
    left: -8%;
}
.pg-hero-float-chip.chip-b {
    right: -6%;
    bottom: 16%;
    animation-delay: -1.8s;
}
@keyframes chipBob {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

.pg-hero-gallery-card {
    position: relative;
    z-index: 1;
    height: clamp(520px, 72vh, 680px);
    padding: 16px;
    overflow: hidden;
    background:
        linear-gradient(165deg, #ffffff 0%, #fbf7f2 48%, #f3e9df 100%);
    border: 1px solid rgba(22,22,22,.07);
    box-shadow:
        0 44px 100px rgba(90,40,10,.18),
        0 0 0 1px rgba(255,255,255,.85) inset,
        inset 0 1px 0 #fff;
    clip-path: polygon(0 0, 100% 0, 100% 93.5%, 93% 100%, 0 100%);
}
.pg-hero-gallery-edge {
    position: absolute;
    left: 16px;
    right: 16px;
    top: 10px;
    height: 2px;
    z-index: 3;
    background: linear-gradient(90deg, transparent, var(--pg-orange), #ffb48a, var(--pg-orange), transparent);
    opacity: .85;
    pointer-events: none;
}
.pg-hero-gallery-mat {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(135deg, rgba(241,103,36,.1), transparent 42%),
        radial-gradient(ellipse 55% 45% at 85% 8%, rgba(255,200,150,.22), transparent 60%);
    z-index: 0;
}
.pg-hero-gallery-stage {
    position: relative;
    z-index: 1;
    height: calc(100% - 20px);
    overflow: hidden;
    background:
        radial-gradient(ellipse 95% 50% at 50% -5%, rgba(241,103,36,.42), transparent 52%),
        radial-gradient(ellipse 50% 45% at 15% 70%, rgba(255,150,80,.1), transparent 55%),
        radial-gradient(ellipse 55% 40% at 90% 85%, rgba(80,40,20,.35), transparent 50%),
        linear-gradient(180deg, #2f241e 0%, #1a1512 45%, #0f0d0b 100%);
    border: 1px solid rgba(241,103,36,.35);
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.07),
        inset 0 0 0 8px rgba(0,0,0,.18),
        inset 0 40px 70px rgba(0,0,0,.4),
        0 20px 44px rgba(0,0,0,.2);
}
.pg-hero-gallery-shine {
    position: absolute;
    inset: 0;
    z-index: 6;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.1) 48%, transparent 62%);
    background-size: 220% 100%;
    animation: gallerySheen 7s ease-in-out infinite;
    opacity: .7;
}
@keyframes gallerySheen {
    0%, 55% { background-position: 140% 0; }
    80%, 100% { background-position: -40% 0; }
}
.pg-hero-gallery-label {
    position: absolute;
    top: 18px;
    left: 50%;
    z-index: 8;
    transform: translateX(-50%);
    padding: .42rem 1.1rem;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #fff4ea;
    background: linear-gradient(180deg, rgba(40,24,16,.55), rgba(0,0,0,.45));
    border: 1px solid rgba(241,103,36,.5);
    box-shadow:
        0 10px 24px rgba(0,0,0,.25),
        inset 0 1px 0 rgba(255,255,255,.12);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    white-space: nowrap;
}
.pg-hero-gallery-label::before,
.pg-hero-gallery-label::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 5px;
    height: 5px;
    background: var(--pg-orange);
    transform: translateY(-50%) rotate(45deg);
}
.pg-hero-gallery-label::before { left: -14px; }
.pg-hero-gallery-label::after { right: -14px; }
.pg-hero-gallery-rail {
    position: absolute;
    left: 50%;
    top: 16%;
    bottom: 12%;
    width: 1px;
    z-index: 3;
    transform: translateX(-50%);
    background: linear-gradient(180deg, transparent, rgba(241,103,36,.55), transparent);
    pointer-events: none;
    box-shadow: 0 0 12px rgba(241,103,36,.25);
}
.pg-hero-gallery-shelf {
    position: absolute;
    left: 6%;
    right: 6%;
    bottom: 10px;
    height: 10px;
    z-index: 2;
    background: linear-gradient(180deg, #fff, #eadfd4 55%, #dfd2c4);
    box-shadow:
        0 10px 22px rgba(90,40,10,.2),
        inset 0 1px 0 #fff;
    clip-path: polygon(1.5% 0, 98.5% 0, 100% 100%, 0 100%);
}

.pg-hero-corner {
    position: absolute;
    width: 28px;
    height: 28px;
    z-index: 7;
    border: 2px solid rgba(255,190,140,.75);
    pointer-events: none;
}
.pg-hero-corner.c-tl {
    top: 14px;
    left: 14px;
    border-right: 0;
    border-bottom: 0;
}
.pg-hero-corner.c-tr {
    top: 14px;
    right: 14px;
    border-left: 0;
    border-bottom: 0;
}
.pg-hero-corner.c-bl {
    left: 14px;
    bottom: 18px;
    border-right: 0;
    border-top: 0;
}
.pg-hero-corner.c-br {
    right: 14px;
    bottom: 18px;
    border-left: 0;
    border-top: 0;
}
.pg-hero-books-fade {
    position: absolute;
    left: 0; right: 0;
    height: 110px;
    z-index: 4;
    pointer-events: none;
}
.pg-hero-books-fade.top {
    top: 0;
    background: linear-gradient(180deg, rgba(20,14,10,.94) 0%, transparent 100%);
}
.pg-hero-books-fade.bottom {
    bottom: 0;
    background: linear-gradient(0deg, rgba(10,8,6,.96) 0%, transparent 100%);
}

.pg-hero-marquee {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.35rem;
    padding: 3.4rem 1.75rem 1.7rem;
    align-items: stretch;
    justify-items: center;
}
.pg-marquee-col {
    position: relative;
    overflow: hidden;
    height: 100%;
    width: min(100%, 180px);
    mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 12%, #000 88%, transparent 100%);
}
.pg-marquee-track {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
    width: 100%;
    will-change: transform;
}
.pg-marquee-col.is-down .pg-marquee-track {
    animation: marqueeDown 26s linear infinite;
}
.pg-marquee-col.is-up .pg-marquee-track {
    animation: marqueeUp 30s linear infinite;
}
.pg-hero-gallery-card:hover .pg-marquee-track {
    animation-play-state: paused;
}
@keyframes marqueeDown {
    from { transform: translateY(0); }
    to { transform: translateY(-50%); }
}
@keyframes marqueeUp {
    from { transform: translateY(-50%); }
    to { transform: translateY(0); }
}

.pg-marquee-book {
    position: relative;
    width: 100%;
    max-width: 172px;
    margin: 0 auto;
    overflow: hidden;
    background: #1a1a1a;
    border-radius: 3px 9px 9px 3px;
    box-shadow:
        0 20px 40px rgba(0,0,0,.48),
        10px 0 22px rgba(0,0,0,.22),
        inset -7px 0 14px rgba(0,0,0,.3),
        inset 1px 0 0 rgba(255,255,255,.14);
    transform: rotate(-2deg);
    transition: transform .4s var(--ease-out), box-shadow .4s;
}
.pg-marquee-book::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 8px;
    z-index: 2;
    background: linear-gradient(90deg, rgba(0,0,0,.4), transparent);
    pointer-events: none;
}
.pg-marquee-book::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(120deg, rgba(255,255,255,.08), transparent 35%);
    pointer-events: none;
}
.pg-marquee-col.is-up .pg-marquee-book { transform: rotate(2.2deg); }
.pg-marquee-book:nth-child(even) { transform: rotate(1.6deg) translateX(6%); }
.pg-marquee-col.is-up .pg-marquee-book:nth-child(even) { transform: rotate(-2deg) translateX(-6%); }
.pg-marquee-book img {
    width: 100%;
    display: block;
    aspect-ratio: 2 / 3;
    object-fit: cover;
}
.pg-marquee-book:hover {
    transform: rotate(0) scale(1.06) !important;
    box-shadow:
        0 26px 52px rgba(0,0,0,.55),
        0 0 0 1px rgba(241,103,36,.5),
        0 0 32px rgba(241,103,36,.28);
    z-index: 2;
}

.pg-hero-gallery::before,
.pg-hero-gallery::after { display: none; }

.pg-hero .pg-wave-edge { z-index: 6; }

@media (prefers-reduced-motion: reduce) {
    .pg-marquee-col.is-down .pg-marquee-track,
    .pg-marquee-col.is-up .pg-marquee-track {
        animation: none;
        transform: translateY(0);
    }
    .pg-typewriter::after { display: none; }
    .pg-hero-glow,
    .pg-hero-wash,
    .pg-hero-mist,
    .pg-hero-beam,
    .pg-hero-orb,
    .pg-hero-arc,
    .pg-hero-gallery-card,
    .pg-hero-gallery::before,
    .pg-hero-gallery::after,
    .pg-hero-gallery-card::after,
    .pg-hero-gallery-glow,
    .pg-hero-float-chip,
    .pg-hero-copy,
    .pg-hero-gallery,
    .pg-hero-aurora,
    .pg-hero-mesh,
    .pg-hero-vectors * {
        animation: none !important;
    }
}


/* =========================================================
   LAYERED WAVE EDGES (Precise-style)
   ========================================================= */
.pg-wave-edge {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    z-index: 6;
    line-height: 0;
    pointer-events: none;
}
.pg-wave-edge-top {
    top: -2px;
    bottom: auto;
}
.pg-wave-svg {
    width: 100%;
    height: 120px;
    display: block;
    object-fit: cover;
}
.pg-wave-edge-top .pg-wave-svg,
.pg-wave-svg-flip {
    transform: scaleY(-1);
}
.pg-wave-edge.soft .pg-wave-svg { height: 90px; }
.pg-wave-edge.dark .pg-wave-svg { height: 110px; }

.pg-wave-book {
    position: absolute;
    z-index: 7;
    filter: drop-shadow(0 18px 30px rgba(0,0,0,.35));
    animation: bookFloat 5.5s ease-in-out infinite;
}
.pg-wave-book-left {
    left: 3%;
    bottom: 42px;
    width: clamp(90px, 12vw, 170px);
}
.pg-wave-book-right {
    right: 4%;
    bottom: 55px;
    width: clamp(100px, 13vw, 190px);
    animation-delay: -1.8s;
}
.pg-wave-prop {
    position: absolute;
    z-index: 7;
    filter: drop-shadow(0 16px 28px rgba(0,0,0,.3));
    animation: bookFloat 6.5s ease-in-out infinite;
}
.pg-wave-typewriter {
    right: 16%;
    bottom: 70px;
    width: clamp(70px, 9vw, 130px);
    animation-delay: -3s;
}
@keyframes bookFloat {
    0%, 100% { transform: translateY(0) rotate(-2deg); }
    50% { transform: translateY(-12px) rotate(2deg); }
}

.pg-cta-figure {
    max-width: 240px;
    margin: 0 auto;
    filter: drop-shadow(0 20px 40px rgba(0,0,0,.35));
}

.pg-genres { position: relative; overflow: hidden; }

.pg-services,
.pg-cta-banner,
.pg-testimonials { position: relative; }
/* =========================================================
   STATS - after About (trust strip)
   ========================================================= */
.pg-stats {
    position: relative;
    z-index: 2;
    margin-top: 0;
    padding: 0 0 3rem;
    background: #f4efe7;
}
.pg-stats .container {
    position: relative;
    z-index: 1;
}
.pg-stats-rail {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(22,22,22,.07);
    clip-path: polygon(0 12%, 2% 0, 98% 0, 100% 12%, 100% 88%, 98% 100%, 2% 100%, 0 88%);
    box-shadow:
        0 28px 64px rgba(90,40,10,.12),
        0 6px 18px rgba(90,40,10,.06),
        inset 0 1px 0 #fff;
}
.pg-stats-edge {
    position: absolute;
    left: 10%;
    right: 10%;
    top: 0;
    height: 3px;
    z-index: 3;
    background: linear-gradient(90deg, transparent, var(--pg-orange), #ffb48a, var(--pg-orange), transparent);
    pointer-events: none;
}
.pg-stats-floor,
.pg-stats-glow {
    display: none;
}
.pg-stats-rail::before {
    content: none;
}
.pg-stat {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.05rem;
    text-align: left;
    padding: 1.95rem 1.25rem;
    position: relative;
    z-index: 1;
    background: #fff;
    transition: background .35s;
}
.pg-stat:hover {
    background: #fffaf6;
}
.pg-stat:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 24%;
    bottom: 24%;
    width: 1px;
    background: linear-gradient(to bottom, transparent, rgba(22,22,22,.12), transparent);
}
.pg-stat-icon {
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 1.12rem;
    background: linear-gradient(145deg, #ff8a4a, var(--pg-orange) 45%, var(--pg-orange-deep));
    clip-path: polygon(18% 0, 100% 0, 82% 100%, 0 100%);
    box-shadow:
        0 14px 28px rgba(241,103,36,.28),
        inset 0 1px 0 rgba(255,255,255,.35);
    transition: transform .4s var(--ease-out), box-shadow .4s;
}
.pg-stat:hover .pg-stat-icon {
    transform: translateY(-3px);
    box-shadow:
        0 18px 34px rgba(241,103,36,.34),
        inset 0 1px 0 rgba(255,255,255,.4);
}
.pg-stat-body { min-width: 0; }
.pg-stat-value {
    display: flex;
    align-items: baseline;
    gap: .12rem;
    line-height: 1;
}
.pg-stat-num,
.pg-stat-plus {
    font-family: var(--font-display);
    font-size: clamp(2.05rem, 3.2vw, 2.95rem);
    font-weight: 700;
    color: var(--pg-ink);
    line-height: 1;
    letter-spacing: -.02em;
}
.pg-stat-plus { color: var(--pg-orange); }
.pg-stat p {
    margin: .42rem 0 0;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #6b635a;
}
.pg-stats .pg-about-zigzag {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
}

/* =========================================================
   ABOUT - Who We Are (cream light theme)
   ========================================================= */
.pg-about {
    position: relative;
    padding: 5.25rem 0 2.5rem;
    overflow: hidden;
    background: #f4efe7;
    color: var(--pg-ink);
    margin-top: -3.25rem;
    z-index: 2;
}
.pg-about-wave {
    top: -1px;
    bottom: auto;
    z-index: 4;
}
.pg-about > .pg-about-wave.pg-wave-edge-top .pg-wave-svg {
    height: 78px;
    transform: none;
}
.pg-about-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 55% 50% at 15% 30%, rgba(241,103,36,.08), transparent 58%),
        radial-gradient(ellipse 45% 40% at 90% 75%, rgba(241,103,36,.05), transparent 55%),
        #f4efe7;
}
.pg-about-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    opacity: .65;
}
.pg-about-glow.g1 {
    width: 420px;
    height: 420px;
    left: -80px;
    top: 10%;
    background: rgba(241,103,36,.12);
}
.pg-about-glow.g2 {
    width: 320px;
    height: 320px;
    right: -60px;
    bottom: 8%;
    background: rgba(255,255,255,.55);
}
.pg-about-line {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(22,22,22,.08), transparent);
    transform: translateX(-50%);
    opacity: .7;
}
.pg-about .container { position: relative; z-index: 1; }

.pg-about-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: clamp(2.5rem, 5vw, 5rem);
    align-items: center;
}

.pg-about-media {
    position: relative;
}
.pg-about-media-frame {
    position: relative;
    overflow: hidden;
    clip-path: polygon(0 0, 100% 0, 100% 94%, 96% 100%, 0 100%);
    box-shadow:
        0 36px 80px rgba(40, 28, 18, .16),
        0 0 0 1px rgba(22,22,22,.06);
    background: #1a1512;
}
.pg-about-media-frame::before {
    content: "";
    position: absolute;
    inset: 14px;
    border: 1px solid rgba(255,255,255,.22);
    clip-path: polygon(0 0, 100% 0, 100% 92%, 95% 100%, 0 100%);
    z-index: 2;
    pointer-events: none;
}
.pg-about-media-frame img {
    width: 100%;
    height: clamp(420px, 58vh, 560px);
    object-fit: cover;
    object-position: center 28%;
    display: block;
    filter: saturate(1.02) contrast(1.03);
    transition: transform 1.3s var(--ease-out);
}
.pg-about-media:hover .pg-about-media-frame img {
    transform: scale(1.04);
}
.pg-about-media-veil {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, transparent 48%, rgba(20,14,10,.55) 100%),
        linear-gradient(90deg, rgba(241,103,36,.1), transparent 42%);
    pointer-events: none;
    z-index: 1;
}

.pg-about-copy .pg-eyebrow {
    color: var(--pg-orange);
}
.pg-about-copy .pg-eyebrow::before {
    background: var(--pg-orange);
}
.pg-about-copy h2 {
    color: var(--pg-ink);
    margin-bottom: 1.15rem;
    max-width: 14ch;
    font-size: clamp(2.4rem, 4.2vw, 3.6rem);
    letter-spacing: -.03em;
}
.pg-about-copy h2 em {
    font-style: italic;
    color: var(--pg-orange);
    font-weight: 500;
}
.pg-about-lead {
    color: var(--pg-muted);
    font-size: 1.05rem;
    line-height: 1.85;
    max-width: 44ch;
    margin-bottom: 0;
}

.pg-about-points {
    margin: 2.2rem 0 0;
    display: grid;
    gap: 0;
}
.pg-about-points li {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 1rem;
    align-items: start;
    padding: 1.15rem 0;
    border-top: 1px solid rgba(22,22,22,.1);
    transition: transform .35s var(--ease-out);
}
.pg-about-points li:last-child {
    border-bottom: 1px solid rgba(22,22,22,.1);
}
.pg-about-points li:hover {
    transform: translateX(6px);
}
.pg-about-point-num {
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--pg-orange);
    letter-spacing: .04em;
    padding-top: .15rem;
}
.pg-about-points h4 {
    font-family: var(--font-body);
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--pg-ink);
    margin: 0 0 .3rem;
}
.pg-about-points p {
    margin: 0;
    font-size: .94rem;
    color: var(--pg-muted);
    line-height: 1.65;
    max-width: 40ch;
}

.pg-about .pg-section-actions {
    margin-top: 2.75rem;
    justify-content: center;
}

.pg-about-zigzag {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 44px;
    z-index: 3;
    pointer-events: none;
}
.pg-about-zigzag-fill {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 42px;
    background: #faf7f2;
    clip-path: polygon(
        0 48%, 5% 72%, 10% 42%, 15% 78%, 20% 50%, 25% 82%,
        30% 46%, 35% 74%, 40% 38%, 45% 80%, 50% 44%, 55% 76%,
        60% 40%, 65% 78%, 70% 48%, 75% 84%, 80% 42%, 85% 70%,
        90% 46%, 95% 76%, 100% 50%, 100% 100%, 0 100%
    );
}
.pg-about-zigzag-accent {
    display: none;
}

/* =========================================================
   TRUST LOGOS - below lead form panel
   ========================================================= */
.pg-trust {
    position: relative;
    z-index: 1;
}
.pg-trust-below {
    margin-top: 1.75rem;
    text-align: center;
}
.pg-trust-label {
    margin: 0 0 .85rem;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: rgba(40, 28, 18, .45);
}
.pg-trust-rail {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: .55rem .75rem;
    padding: .95rem 1.1rem;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(252, 248, 242, .94));
    border: 1px solid rgba(40, 28, 18, .08);
    border-radius: 16px;
    box-shadow:
        0 14px 32px rgba(90, 40, 10, .06),
        inset 0 1px 0 #fff;
}
.pg-trust-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 46px;
    padding: .3rem .55rem;
    border-radius: 10px;
    color: rgba(35, 24, 16, .58);
    transition: color .25s ease, transform .25s ease, background .25s ease;
}
.pg-trust-item img {
    display: block;
    width: auto;
    max-width: 156px;
    height: 36px;
    object-fit: contain;
}
.pg-trust-item:hover {
    color: var(--pg-orange);
    background: rgba(241, 103, 36, .07);
    transform: translateY(-1px);
}

/* =========================================================
   SERVICES - What We Offer (premium watercolor BG)
   ========================================================= */
.pg-services {
    position: relative;
    padding: 5.25rem 0 5rem;
    overflow: hidden;
    color: var(--pg-ink);
    background-color: #faf7f2;
    isolation: isolate;
}
.pg-services-media {
    position: absolute;
    inset: -2%;
    z-index: 0;
    pointer-events: none;
    background-image: var(--pg-offer-bg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
    transform: scaleY(-1) scale(1.04);
    opacity: .62;
    filter: saturate(1.05) contrast(1.02);
}
.pg-services-veil {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.52) 34%, rgba(255,255,255,.2) 62%, rgba(255,248,242,.1) 100%),
        radial-gradient(ellipse 60% 42% at 50% 6%, rgba(255,255,255,.6), transparent 70%),
        radial-gradient(ellipse 40% 35% at 12% 80%, rgba(241,103,36,.06), transparent 60%);
}
.pg-services-fx {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}
.pg-services-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(50px);
}
.pg-services-glow.g1 {
    width: 320px;
    height: 320px;
    left: -80px;
    top: 20%;
    background: rgba(241,103,36,.14);
    animation: svcPulseSoft 8s ease-in-out infinite;
}
.pg-services-glow.g2 {
    width: 260px;
    height: 260px;
    right: -60px;
    bottom: 12%;
    background: rgba(241,103,36,.1);
    animation: svcPulseSoft 9.5s ease-in-out infinite reverse;
}
.pg-services-ornament {
    position: absolute;
    border: 1px solid rgba(241,103,36,.2);
    opacity: .55;
}
.pg-services-ornament.o1 {
    width: 120px;
    height: 120px;
    left: 4%;
    top: 18%;
    border-radius: 50%;
    border-style: dashed;
    animation: svcOrbit 28s linear infinite;
}
.pg-services-ornament.o2 {
    width: 72px;
    height: 96px;
    right: 5%;
    bottom: 22%;
    transform: rotate(12deg);
    border-color: rgba(22,22,22,.1);
    animation: svcPulseSoft 7s ease-in-out infinite;
}
.pg-services-ring {
    position: absolute;
    border-radius: 50%;
    border: 1.5px solid rgba(241,103,36,.22);
}
.pg-services-ring.r1 {
    width: 180px;
    height: 180px;
    right: 8%;
    top: 12%;
    animation: svcOrbit 32s linear infinite reverse;
}
.pg-services-ring.r2 {
    width: 100px;
    height: 100px;
    left: 10%;
    bottom: 16%;
    border-style: dashed;
    animation: svcOrbit 24s linear infinite;
}
.pg-services-dot {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--pg-orange);
    opacity: .4;
    box-shadow: 0 0 12px rgba(241,103,36,.4);
}
.pg-services-dot.d1 { left: 18%; top: 28%; }
.pg-services-dot.d2 { right: 16%; top: 36%; width: 5px; height: 5px; }
.pg-services-dot.d3 { left: 42%; bottom: 14%; width: 6px; height: 6px; opacity: .3; }
.pg-services-frame {
    position: absolute;
    width: 42px;
    height: 42px;
    border: 1.5px solid rgba(241,103,36,.3);
    opacity: .55;
}
.pg-services-frame.f-tl { top: 1.75rem; left: 1.75rem; border-right: 0; border-bottom: 0; }
.pg-services-frame.f-tr { top: 1.75rem; right: 1.75rem; border-left: 0; border-bottom: 0; }
.pg-services-frame.f-bl { bottom: 1.75rem; left: 1.75rem; border-right: 0; border-top: 0; }
.pg-services-frame.f-br { bottom: 1.75rem; right: 1.75rem; border-left: 0; border-top: 0; }
@keyframes svcOrbit { to { transform: rotate(360deg); } }
@keyframes svcPulseSoft {
    0%, 100% { opacity: .35; transform: scale(1); }
    50% { opacity: .7; transform: scale(1.06); }
}
.pg-services .container { position: relative; z-index: 1; }

.pg-services-head {
    text-align: center;
    max-width: 740px;
    margin: 0 auto 3.6rem;
}
.pg-services-head .pg-eyebrow {
    margin-bottom: .95rem;
}
.pg-services-head h2 {
    color: var(--pg-ink);
    margin: 0 0 1.15rem;
    font-size: clamp(2.2rem, 4.4vw, 3.55rem);
    letter-spacing: -.03em;
    line-height: 1.1;
}
.pg-services-head h2 em {
    font-style: italic;
    font-weight: 500;
    color: var(--pg-orange);
}
.pg-services-divider {
    display: block;
    width: 88px;
    height: 2px;
    margin: 0 auto 1.15rem;
    background: linear-gradient(90deg, transparent, var(--pg-orange), transparent);
    position: relative;
}
.pg-services-divider::before,
.pg-services-divider::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--pg-orange);
    transform: translateY(-50%);
    box-shadow: 0 0 10px rgba(241,103,36,.45);
}
.pg-services-divider::before { left: -10px; }
.pg-services-divider::after { right: -10px; }
.pg-services-head .pg-section-lead {
    color: #6b635a;
    max-width: 44ch;
    margin: 0 auto;
    font-size: 1.06rem;
    line-height: 1.75;
}

.pg-services-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    margin-top: .15rem;
}
.pg-services-grid--expert {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Expert services premium slider */
.pg-svc-slider {
    position: relative;
    margin-top: .35rem;
}
.pg-svc-slider-viewport {
    overflow: hidden;
    padding: .35rem .15rem 1.1rem;
    margin: 0 -.15rem;
    mask-image: linear-gradient(90deg, transparent 0, #000 2%, #000 98%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 2%, #000 98%, transparent 100%);
}
.pg-svc-slider-track {
    display: flex;
    align-items: stretch;
    gap: 1.25rem;
    transition: transform .65s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform;
}
.pg-svc-slide {
    flex: 0 0 calc((100% - 2.5rem) / 3);
    min-width: 0;
    height: auto;
    animation: none;
    opacity: 1;
}
.pg-svc-slide .pg-service-cta {
    margin-top: auto;
}
.pg-svc-slider-ui {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: .35rem;
}
.pg-svc-slider-btn {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(241, 103, 36, .28);
    background: rgba(255, 255, 255, .88);
    color: var(--pg-orange);
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(90, 40, 10, .08);
    transition: background .3s, color .3s, border-color .3s, transform .3s var(--ease-out), box-shadow .3s;
}
.pg-svc-slider-btn:hover {
    background: var(--pg-orange);
    color: #fff;
    border-color: var(--pg-orange);
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(241, 103, 36, .28);
}
.pg-svc-slider-dots {
    display: flex;
    align-items: center;
    gap: .45rem;
}
.pg-svc-slider-dot {
    width: 8px;
    height: 8px;
    border: 0;
    padding: 0;
    border-radius: 999px;
    cursor: pointer;
    background: rgba(22, 22, 22, .18);
    transition: width .35s var(--ease-out), background .3s;
}
.pg-svc-slider-dot.is-active {
    width: 26px;
    background: var(--pg-orange);
}

.pg-service {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 2.4rem 2.25rem 2.15rem;
    background:
        linear-gradient(165deg, rgba(255,255,255,.94), rgba(255,252,248,.84) 48%, rgba(255,246,238,.88));
    border: 1px solid rgba(255,255,255,.85);
    box-shadow:
        0 22px 50px rgba(90, 35, 8, .1),
        inset 0 1px 0 rgba(255,255,255,.98);
    backdrop-filter: blur(18px) saturate(1.15);
    -webkit-backdrop-filter: blur(18px) saturate(1.15);
    overflow: hidden;
    transition:
        border-color .4s var(--ease-out),
        box-shadow .45s var(--ease-out),
        background .4s var(--ease-out),
        transform .45s var(--ease-out);
    animation: serviceRise .75s calc(var(--i) * .09s) var(--ease-out) both;
}
@keyframes serviceRise {
    from { opacity: 0; transform: translateY(22px) scale(.98); }
    to { opacity: 1; transform: none; }
}
.pg-service-shine {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.45) 48%, transparent 66%);
    transform: translateX(-120%);
    transition: transform .8s var(--ease-out);
    z-index: 2;
}
.pg-service:hover .pg-service-shine {
    transform: translateX(120%);
}
.pg-service::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.35rem;
    bottom: 1.35rem;
    width: 3px;
    background: linear-gradient(180deg, transparent, var(--pg-orange) 18%, var(--pg-orange) 82%, transparent);
    opacity: .8;
    transition: opacity .35s, width .35s, top .35s, bottom .35s;
}
.pg-service::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 60% 50% at 100% 0%, rgba(241,103,36,.12), transparent 58%),
        radial-gradient(ellipse 40% 35% at 0% 100%, rgba(241,103,36,.05), transparent 55%);
    opacity: .75;
    transition: opacity .4s;
}
.pg-service-corner {
    position: absolute;
    width: 22px;
    height: 22px;
    opacity: .55;
    transition: opacity .35s, transform .4s var(--ease-out);
    z-index: 2;
}
.pg-service-corner.c-tl {
    top: 14px;
    left: 14px;
    border-top: 1.5px solid rgba(241,103,36,.5);
    border-left: 1.5px solid rgba(241,103,36,.5);
}
.pg-service-corner.c-br {
    right: 14px;
    bottom: 14px;
    border-bottom: 1.5px solid rgba(241,103,36,.5);
    border-right: 1.5px solid rgba(241,103,36,.5);
}
.pg-service:hover {
    transform: translateY(-6px);
    border-color: rgba(241,103,36,.28);
    background:
        linear-gradient(165deg, #fff, rgba(255,250,245,.96) 55%, rgba(255,244,236,.94));
    box-shadow:
        0 32px 70px rgba(90, 35, 8, .16),
        0 0 0 1px rgba(241,103,36,.08),
        inset 0 1px 0 #fff;
}
.pg-service:hover::before {
    opacity: 1;
    width: 4px;
    top: .75rem;
    bottom: .75rem;
}
.pg-service:hover::after { opacity: 1; }
.pg-service:hover .pg-service-corner {
    opacity: 1;
}
.pg-service:hover .pg-service-corner.c-tl {
    transform: translate(-2px, -2px);
}
.pg-service:hover .pg-service-corner.c-br {
    transform: translate(2px, 2px);
}

.pg-service-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
    position: relative;
    z-index: 1;
}
.pg-service-num {
    font-family: var(--font-display);
    font-size: clamp(2.7rem, 3.8vw, 3.55rem);
    font-weight: 600;
    line-height: 1;
    color: rgba(241,103,36,.16);
    letter-spacing: -.03em;
    transition: color .4s var(--ease-out), transform .4s var(--ease-out);
}
.pg-service:hover .pg-service-num {
    color: rgba(241,103,36,.42);
    transform: scale(1.04);
}

.pg-service-icon {
    position: relative;
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    background: linear-gradient(145deg, #ff8a4a 0%, var(--pg-orange) 48%, var(--pg-orange-deep) 100%);
    color: #fff;
    font-size: 1.15rem;
    border-radius: 2px;
    clip-path: polygon(0 0, 100% 0, 100% 78%, 78% 100%, 0 100%);
    box-shadow:
        0 14px 30px rgba(241,103,36,.32),
        inset 0 1px 0 rgba(255,255,255,.28);
    transition: background .35s, box-shadow .4s var(--ease-out), transform .4s var(--ease-out), color .35s, filter .35s;
}
.pg-service-icon svg {
    width: 38px;
    height: 38px;
    display: block;
    overflow: visible;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,.12));
}
.pg-service-icon i {
    font-size: 1.35rem;
    line-height: 1;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,.12));
}
.pg-service-icon::after {
    content: "";
    position: absolute;
    inset: -5px;
    border: 1px solid rgba(241,103,36,.28);
    clip-path: polygon(0 0, 100% 0, 100% 78%, 78% 100%, 0 100%);
    opacity: .65;
    transition: opacity .35s, inset .35s, border-color .35s;
}
.pg-service:nth-child(1) .pg-service-icon {
    background: linear-gradient(145deg, #ff9a5c, #f16724 55%, #d4551a);
}
.pg-service:nth-child(2) .pg-service-icon {
    background: linear-gradient(145deg, #ffb35c, #f08a2e 55%, #d96a14);
}
.pg-service:nth-child(3) .pg-service-icon {
    background: linear-gradient(145deg, #e08a3c, #c96a1e 55%, #a85512);
}
.pg-service:nth-child(4) .pg-service-icon {
    background: linear-gradient(145deg, #ff7a35, #e85a12 55%, #c4470e);
}
.pg-service:nth-child(5) .pg-service-icon {
    background: linear-gradient(145deg, #ff9a5c, #ef6d20 55%, #c95512);
}
.pg-service:nth-child(6) .pg-service-icon {
    background: linear-gradient(145deg, #e08a3c, #d45f18 55%, #a84a10);
}
.pg-service:hover .pg-service-icon {
    background: linear-gradient(145deg, #ffb07a, #ff7a35 45%, var(--pg-orange));
    box-shadow: 0 18px 40px rgba(241,103,36,.45);
    transform: translateY(-3px) scale(1.04);
    filter: saturate(1.1);
}
.pg-service:hover .pg-service-icon::after {
    opacity: 1;
    border-color: rgba(241,103,36,.5);
}
.pg-service:hover .pg-service-icon svg {
    filter: drop-shadow(0 3px 6px rgba(0,0,0,.18));
}

/* Animated service icons */
.pg-svc-ico-write .ico-pen {
    transform-origin: 34px 10px;
    animation: svcPenWrite 2.8s ease-in-out infinite;
}
.pg-svc-ico-write .ico-book {
    animation: svcBookPulse 2.8s ease-in-out infinite;
}
.pg-svc-ico-write .ico-dot {
    animation: svcBlink 2.8s ease-in-out infinite;
}
@keyframes svcPenWrite {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    35% { transform: translate(-2px, 3px) rotate(-8deg); }
    70% { transform: translate(1px, 1px) rotate(4deg); }
}
@keyframes svcBookPulse {
    0%, 100% { opacity: 1; }
    50% { opacity: .75; }
}
@keyframes svcBlink {
    0%, 40%, 60%, 100% { opacity: 1; }
    50% { opacity: .2; }
}

.pg-svc-ico-edit .ico-line {
    stroke-dasharray: 16;
    stroke-dashoffset: 16;
    animation: svcLineDraw 2.6s ease-in-out infinite;
}
.pg-svc-ico-edit .ico-line.l2 { animation-delay: .15s; }
.pg-svc-ico-edit .ico-line.l3 { animation-delay: .3s; }
.pg-svc-ico-edit .ico-check {
    stroke-dasharray: 24;
    stroke-dashoffset: 24;
    animation: svcCheckDraw 2.6s ease-in-out infinite;
}
@keyframes svcLineDraw {
    0% { stroke-dashoffset: 16; opacity: .35; }
    35%, 70% { stroke-dashoffset: 0; opacity: 1; }
    100% { stroke-dashoffset: 0; opacity: .7; }
}
@keyframes svcCheckDraw {
    0%, 45% { stroke-dashoffset: 24; opacity: 0; }
    70%, 100% { stroke-dashoffset: 0; opacity: 1; }
}

.pg-svc-ico-publish .ico-arrow,
.pg-svc-ico-publish .ico-arrowhead {
    animation: svcUpload 2.2s ease-in-out infinite;
}
.pg-svc-ico-publish .ico-cloud {
    animation: svcCloudFloat 2.2s ease-in-out infinite;
}
@keyframes svcUpload {
    0%, 100% { transform: translateY(3px); opacity: .65; }
    50% { transform: translateY(-3px); opacity: 1; }
}
@keyframes svcCloudFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-1.5px); }
}

.pg-svc-ico-market .ico-horn {
    transform-origin: 16px 24px;
    animation: svcHorn 2.4s ease-in-out infinite;
}
.pg-svc-ico-market .ico-wave {
    opacity: 0;
    animation: svcWave 2.4s ease-in-out infinite;
}
.pg-svc-ico-market .ico-wave.w2 { animation-delay: .25s; }
.pg-svc-ico-market .ico-pulse {
    animation: svcPulseDot 2.4s ease-in-out infinite;
}
@keyframes svcHorn {
    0%, 100% { transform: rotate(0deg); }
    30% { transform: rotate(-8deg); }
    55% { transform: rotate(6deg); }
}
@keyframes svcWave {
    0%, 20% { opacity: 0; transform: scale(.85); }
    45%, 65% { opacity: 1; transform: scale(1); }
    100% { opacity: 0; transform: scale(1.05); }
}
@keyframes svcPulseDot {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.35); opacity: .55; }
}

.pg-service:hover .pg-svc-ico-write .ico-pen,
.pg-service:hover .pg-svc-ico-edit .ico-check,
.pg-service:hover .pg-svc-ico-publish .ico-arrow,
.pg-service:hover .pg-svc-ico-market .ico-horn {
    animation-duration: 1.35s;
}

.pg-service h3 {
    position: relative;
    z-index: 1;
    font-size: clamp(1.5rem, 2.1vw, 1.9rem);
    margin-bottom: .75rem;
    color: var(--pg-ink);
    letter-spacing: -.02em;
}
.pg-service p {
    position: relative;
    z-index: 1;
    margin-bottom: 1.55rem;
    color: #5f574f;
    line-height: 1.78;
    max-width: 38ch;
    flex: 1;
}

.pg-service-cta {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-top: auto;
    padding: .55rem .95rem .55rem 0;
    font-family: var(--font-body);
    font-size: .9rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--pg-ink);
    border-bottom: 1.5px solid rgba(241,103,36,.35);
    transition: color .35s var(--ease-out), border-color .35s var(--ease-out), gap .35s var(--ease-out);
}
.pg-service-cta i {
    color: var(--pg-orange);
    font-size: .78em;
    transition: transform .35s var(--ease-out);
}
.pg-service-cta:hover {
    color: var(--pg-orange);
    border-color: var(--pg-orange);
    gap: .75rem;
}
.pg-service-cta:hover i {
    transform: translateX(4px);
}

.pg-services .pg-section-actions {
    margin-top: 3.1rem;
}

/* =========================================================
   PROCESS
   ========================================================= */
.pg-process { padding: 4.5rem 0; }
.pg-steps {
    display: grid;
    gap: 1rem;
    position: relative;
}
.pg-steps::before {
    content: "";
    position: absolute;
    left: 28px; top: 20px; bottom: 20px;
    width: 2px;
    background: linear-gradient(to bottom, var(--pg-orange), transparent);
}
.pg-step {
    display: grid;
    grid-template-columns: 56px 1fr;
    gap: 1.1rem;
    align-items: start;
    background: #fff;
    padding: 1.3rem 1.4rem;
    clip-path: polygon(0 0, 100% 0, 100% 78%, 96% 100%, 0 100%);
    border: 1px solid transparent;
    transition: .4s var(--ease-out);
}
.pg-step:hover {
    border-color: var(--pg-orange);
    transform: translateX(10px);
    box-shadow: 0 18px 40px rgba(0,0,0,.07);
}
.pg-step-index {
    width: 56px; height: 56px;
    display: grid; place-items: center;
    background: var(--pg-ink);
    color: #fff;
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 700;
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
    position: relative;
    z-index: 1;
    transition: background .35s;
}
.pg-step:hover .pg-step-index { background: var(--pg-orange); }
.pg-step h4 {
    font-family: var(--font-body);
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: .3rem;
}
.pg-step p { margin: 0; font-size: .92rem; }

/* =========================================================
   PREMIUM CTA BANNER (full panoramic image + reference copy)
   ========================================================= */
.pg-cta-banner {
    position: relative;
    overflow: hidden;
    color: #fff;
    padding: 4.25rem 0 4rem;
    min-height: clamp(360px, 46vh, 460px);
    display: flex;
    align-items: center;
    background-color: transparent;
    background-image: var(--pg-cta-bg);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
    isolation: isolate;
}
.pg-cta-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(0,0,0,.1) 0%, transparent 22%, transparent 78%, rgba(0,0,0,.14) 100%),
        linear-gradient(90deg, transparent 0%, transparent 38%, rgba(18,8,2,.16) 62%, rgba(18,8,2,.28) 100%);
}
.pg-cta-banner-veil {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: radial-gradient(ellipse 50% 70% at 72% 48%, rgba(255,255,255,.1), transparent 70%);
}
.pg-cta-banner .container {
    position: relative;
    z-index: 2;
    width: 100%;
}
.pg-cta-banner-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.5rem 2rem;
    max-width: 720px;
    margin-left: auto;
}
.pg-cta-banner-copy {
    text-align: left;
    max-width: 540px;
}
.pg-cta-banner h2 {
    color: #fff;
    margin: 0 0 .85rem;
    max-width: 14ch;
    font-size: clamp(1.85rem, 3.2vw, 2.7rem);
    line-height: 1.12;
    letter-spacing: -.025em;
    text-shadow: 0 12px 30px rgba(40, 10, 0, .28);
}
.pg-cta-banner .pg-cta-lead {
    color: rgba(255,255,255,.94);
    max-width: 46ch;
    margin: 0 0 1.15rem;
    font-size: clamp(.95rem, 1.15vw, 1.08rem);
    line-height: 1.65;
    text-shadow: 0 6px 18px rgba(40, 10, 0, .2);
}
.pg-cta-accent {
    display: block;
    width: fit-content;
    max-width: 100%;
    margin: 0;
    padding: .72rem 1.15rem;
    background: #1a1a1a;
    color: #f2d58a;
    font-family: var(--font-body);
    font-size: clamp(.88rem, 1.05vw, 1rem);
    font-weight: 600;
    letter-spacing: .01em;
    line-height: 1.35;
    box-shadow: 0 12px 28px rgba(0,0,0,.22);
}
.pg-cta-banner-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    margin-top: 1.35rem;
    justify-content: flex-start;
}
.pg-cta-banner .pg-btn-primary {
    --pg-btn-face: var(--pg-orange);
    --pg-btn-face-hover: var(--pg-orange-deep);
    --pg-btn-arrow-ink: var(--pg-orange);
    --pg-btn-shadow: 0 14px 34px rgba(241,103,36,.35);
    background: var(--pg-btn-face);
    box-shadow: var(--pg-btn-shadow);
}
.pg-cta-banner .pg-btn-primary::before {
    background: var(--pg-btn-face);
}
.pg-cta-banner .pg-btn-primary:hover {
    background: var(--pg-btn-face-hover);
    box-shadow: 0 16px 38px rgba(241,103,36,.42);
    transform: translateY(-2px);
}
.pg-cta-banner .pg-btn-primary:hover::before {
    background: var(--pg-btn-face-hover);
}
.pg-cta-banner .pg-btn-primary::after {
    color: var(--pg-btn-arrow-ink);
    background: #fff;
}
.pg-cta-banner .pg-btn-primary:hover::after {
    color: var(--pg-btn-arrow-ink);
    background: #fff;
}
.pg-cta-banner .pg-btn-chat {
    --pg-btn-face: #161616;
    --pg-btn-face-hover: #2c2c2c;
    --pg-btn-arrow-ink: #161616;
    --pg-btn-shadow: 0 14px 34px rgba(0,0,0,.3);
}
.pg-cta-banner .pg-btn-ghost {
    border-color: rgba(255,255,255,.82);
    color: #1a1a1a;
    background: linear-gradient(180deg, #f4f4f4, #d9d9d9);
    box-shadow: 0 10px 24px rgba(0,0,0,.16);
}
.pg-cta-banner .pg-btn-ghost:hover {
    background: #fff;
    color: var(--pg-orange);
    border-color: #fff;
    transform: none;
    box-shadow: 0 10px 24px rgba(0,0,0,.16);
}
.pg-cta-banner .pg-btn-ghost::after {
    display: none;
}

.pg-cta-offer {
    position: relative;
    width: clamp(118px, 12vw, 148px);
    height: clamp(118px, 12vw, 148px);
    border-radius: 50%;
    display: grid;
    place-content: center;
    text-align: center;
    padding: .85rem;
    color: #fff;
    background:
        radial-gradient(circle at 35% 30%, #ff6a3a, #c41e12 62%, #8a0f08 100%);
    border: 4px solid #e8c76a;
    box-shadow:
        0 18px 40px rgba(80, 10, 0, .35),
        inset 0 0 0 3px rgba(255, 220, 140, .35),
        inset 0 -10px 22px rgba(0,0,0,.22);
    animation: pgCtaBadge 5.5s ease-in-out infinite;
    flex-shrink: 0;
}
.pg-cta-offer::before {
    content: "";
    position: absolute;
    inset: 7px;
    border-radius: 50%;
    border: 1px dashed rgba(255, 230, 170, .55);
    pointer-events: none;
}
.pg-cta-offer-top,
.pg-cta-offer-bot {
    display: block;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #ffe7a8;
}
.pg-cta-offer strong {
    display: block;
    margin: .2rem 0;
    font-family: var(--font-display);
    font-size: clamp(1.05rem, 1.4vw, 1.28rem);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -.02em;
    text-transform: uppercase;
}
.pg-cta-offer strong em {
    font-style: normal;
    color: #ffe28a;
    font-size: 1.15em;
}

@keyframes pgCtaBadge {
    0%, 100% { transform: translateY(0) rotate(-4deg); }
    50% { transform: translateY(-6px) rotate(-2deg); }
}

/* legacy class hooks (if referenced) */
.pg-cta-dark {
    position: relative;
}

/* =========================================================
   PROMISE MOSAIC
   ========================================================= */
.pg-promise { padding: 4.5rem 0; }
.pg-promise-mosaic {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 1.1rem;
}
.pg-promise-item {
    background: #fff;
    padding: 2rem 1.6rem;
    clip-path: polygon(0 0, 100% 0, 100% 88%, 94% 100%, 0 100%);
    transition: transform .45s var(--ease-out), box-shadow .45s;
    border: 1px solid var(--pg-line);
}
.pg-promise-item:hover {
    transform: translateY(-8px);
    box-shadow: 0 24px 50px rgba(0,0,0,.1);
}
.pg-promise-item.large {
    grid-row: span 2;
    min-height: 420px;
    background-size: cover;
    background-position: 28% center;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding: 0;
    border: 0;
    overflow: hidden;
}
.pg-promise-overlay {
    width: 100%;
    padding: 2rem;
    background: linear-gradient(to top, rgba(0,0,0,.85), transparent 70%);
    color: #fff;
}
.pg-promise-overlay h3 { color: #fff; font-size: 2rem; }
.pg-promise-overlay p { color: rgba(255,255,255,.8); margin: 0; }
.pg-promise-item > i {
    font-size: 1.5rem;
    color: var(--pg-orange);
    margin-bottom: 1rem;
    display: inline-block;
}
.pg-promise-item h3 {
    font-size: 1.35rem;
    margin-bottom: .5rem;
}
.pg-promise-item p { margin: 0; font-size: .92rem; }

/* =========================================================
   GENRES - light premium grid
   ========================================================= */
.pg-genres {
    position: relative;
    background: #f4efe7;
    color: var(--pg-ink);
    padding: 4.5rem 0 4.25rem;
    overflow: hidden;
}
.pg-genres-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}
.pg-genres-wash {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 55% 45% at 8% 20%, rgba(241,103,36,.16), transparent 60%),
        radial-gradient(ellipse 50% 40% at 92% 78%, rgba(241,103,36,.14), transparent 58%),
        radial-gradient(ellipse 40% 35% at 70% 12%, rgba(255,140,70,.1), transparent 55%),
        radial-gradient(ellipse 35% 30% at 30% 88%, rgba(241,103,36,.1), transparent 50%);
}
.pg-genres-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(48px);
    opacity: .7;
}
.pg-genres-orb.o1 {
    width: 380px;
    height: 380px;
    left: -100px;
    top: 6%;
    background: rgba(241,103,36,.22);
}
.pg-genres-orb.o2 {
    width: 300px;
    height: 300px;
    right: -80px;
    bottom: 4%;
    background: rgba(241,103,36,.18);
}
.pg-genres-orb.o3 {
    width: 200px;
    height: 200px;
    right: 18%;
    top: 8%;
    background: rgba(255,140,70,.2);
    filter: blur(40px);
}
.pg-genres-orb.o4 {
    width: 160px;
    height: 160px;
    left: 22%;
    bottom: 10%;
    background: rgba(241,103,36,.16);
    filter: blur(36px);
}
.pg-genres-ring {
    position: absolute;
    border-radius: 50%;
    border: 1.5px solid rgba(241,103,36,.28);
}
.pg-genres-ring.r1 {
    width: 220px;
    height: 220px;
    right: -40px;
    top: 12%;
    animation: genreSpin 28s linear infinite;
}
.pg-genres-ring.r2 {
    width: 140px;
    height: 140px;
    left: -30px;
    bottom: 18%;
    border-style: dashed;
    border-color: rgba(241,103,36,.35);
    animation: genreSpin 36s linear infinite reverse;
}
.pg-genres-ring.r3 {
    width: 90px;
    height: 90px;
    left: 12%;
    top: 22%;
    border-color: rgba(241,103,36,.22);
    animation: genreSpin 22s linear infinite;
}
.pg-genres-ring.r4 {
    width: 160px;
    height: 160px;
    right: 10%;
    bottom: 22%;
    border: 2px solid rgba(241,103,36,.18);
    box-shadow: inset 0 0 0 10px rgba(241,103,36,.05);
}
.pg-genres-dot {
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--pg-orange);
    opacity: .45;
    box-shadow: 0 0 12px rgba(241,103,36,.45);
}
.pg-genres-dot.d1 { left: 6%; top: 28%; }
.pg-genres-dot.d2 { left: 18%; top: 12%; width: 5px; height: 5px; opacity: .35; }
.pg-genres-dot.d3 { right: 8%; top: 36%; width: 6px; height: 6px; }
.pg-genres-dot.d4 { right: 22%; top: 18%; width: 4px; height: 4px; opacity: .5; }
.pg-genres-dot.d5 { left: 8%; bottom: 24%; width: 6px; height: 6px; opacity: .4; }
.pg-genres-dot.d6 { right: 14%; bottom: 14%; }
.pg-genres-dot.d7 { left: 42%; top: 8%; width: 5px; height: 5px; opacity: .3; }
.pg-genres-slash {
    position: absolute;
    width: 72px;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(241,103,36,.55), transparent);
    transform: rotate(-32deg);
}
.pg-genres-slash.s1 { left: 4%; top: 42%; }
.pg-genres-slash.s2 { right: 5%; top: 58%; width: 96px; transform: rotate(28deg); }
.pg-genres-slash.s3 { left: 28%; bottom: 12%; width: 60px; transform: rotate(-18deg); opacity: .7; }
.pg-genres-arc {
    position: absolute;
    border: 2px solid rgba(241,103,36,.2);
    border-radius: 50%;
    border-left-color: transparent;
    border-bottom-color: transparent;
}
.pg-genres-arc.a1 {
    width: 120px;
    height: 120px;
    right: 26%;
    top: 4%;
    transform: rotate(25deg);
}
.pg-genres-arc.a2 {
    width: 80px;
    height: 80px;
    left: 36%;
    bottom: 6%;
    border-color: rgba(241,103,36,.28);
    border-right-color: transparent;
    border-top-color: transparent;
    transform: rotate(-10deg);
}
.pg-genres-gridline {
    position: absolute;
    inset: 8% 6%;
    background-image:
        linear-gradient(rgba(241,103,36,.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(241,103,36,.07) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: radial-gradient(ellipse 70% 65% at 50% 50%, #000 20%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse 70% 65% at 50% 50%, #000 20%, transparent 75%);
    opacity: .9;
}
.pg-genres-rule {
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent 4%, rgba(241,103,36,.55) 28%, rgba(241,103,36,.2) 50%, rgba(241,103,36,.55) 72%, transparent 96%);
}
.pg-genres-rule.top { top: 0; }
.pg-genres-rule.bottom { bottom: 0; }
.pg-genres-corner {
    position: absolute;
    width: 48px;
    height: 48px;
    border: 2px solid rgba(241,103,36,.35);
}
.pg-genres-corner.c-tl { top: 1.5rem; left: 1.5rem; border-right: 0; border-bottom: 0; }
.pg-genres-corner.c-tr { top: 1.5rem; right: 1.5rem; border-left: 0; border-bottom: 0; }
.pg-genres-corner.c-bl { bottom: 1.5rem; left: 1.5rem; border-right: 0; border-top: 0; }
.pg-genres-corner.c-br { bottom: 1.5rem; right: 1.5rem; border-left: 0; border-top: 0; }

@keyframes genreSpin {
    to { transform: rotate(360deg); }
}

.pg-genres .container { position: relative; z-index: 2; }

.pg-genres-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    gap: 2.5rem 3rem;
    align-items: center;
}
.pg-genres-main {
    min-width: 0;
}
.pg-genres-head {
    display: block;
    margin-bottom: 1.75rem;
    max-width: 34rem;
}
.pg-genres-head h2 {
    color: var(--pg-ink);
    margin: 0 0 .85rem;
    max-width: 18ch;
}
.pg-genres-lead {
    color: #6b635a;
    font-size: 1.02rem;
    line-height: 1.7;
    margin: 0;
    max-width: 42ch;
    padding-bottom: 0;
    border-left: 2px solid var(--pg-orange);
    padding-left: 1.1rem;
}

.pg-genre-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}
.pg-genres-visual {
    position: relative;
    justify-self: end;
    width: 100%;
    max-width: 440px;
}
.pg-genres-frame {
    position: relative;
    padding: .85rem;
}
.pg-genres-frame-glow {
    position: absolute;
    inset: 8% 4% 12%;
    background: radial-gradient(ellipse at center, rgba(241,103,36,.28), transparent 68%);
    filter: blur(28px);
    pointer-events: none;
    z-index: 0;
}
.pg-genres-frame-ring {
    position: absolute;
    inset: 1.1rem -.35rem -.55rem 1.4rem;
    border: 1.5px solid rgba(241,103,36,.35);
    border-radius: 28px;
    z-index: 0;
    pointer-events: none;
}
.pg-genres-frame-accent {
    position: absolute;
    top: .2rem;
    left: .2rem;
    width: 4.5rem;
    height: 4.5rem;
    border-top: 3px solid var(--pg-orange);
    border-left: 3px solid var(--pg-orange);
    border-radius: 18px 0 0 0;
    z-index: 2;
    pointer-events: none;
}
.pg-genres-photo {
    position: relative;
    z-index: 1;
    margin: 0;
    overflow: hidden;
    border-radius: 24px;
    background: #1a1410;
    box-shadow:
        0 28px 60px rgba(60, 30, 10, .22),
        0 0 0 1px rgba(255,255,255,.35) inset;
    aspect-ratio: 4 / 5;
}
.pg-genres-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 58% center;
    transform: scale(1.02);
    transition: transform 1.1s var(--ease-out);
}
.pg-genres-frame:hover .pg-genres-photo img {
    transform: scale(1.06);
}
.pg-genres-chip {
    position: absolute;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .55rem .85rem;
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(40, 20, 8, .16);
    color: #1a1410;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .02em;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}
.pg-genres-chip i {
    color: var(--pg-orange);
    font-size: .85rem;
}
.pg-genres-chip.chip-a {
    left: -.35rem;
    bottom: 18%;
}
.pg-genres-chip.chip-b {
    right: -.15rem;
    top: 14%;
}
.pg-genre-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: 1.15rem 1.2rem;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(22,22,22,.08);
    color: var(--pg-ink);
    overflow: hidden;
    box-shadow: 0 10px 28px rgba(80,40,10,.04);
    transition: transform .4s var(--ease-out), background .35s, border-color .35s, box-shadow .4s, color .35s;
    animation: genreRise .7s calc(var(--i) * .04s) var(--ease-out) both;
}
.pg-genre-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 0;
    background: var(--pg-orange);
    transition: width .35s var(--ease-out);
}
.pg-genre-card:hover {
    transform: translateY(-5px);
    background: #fff;
    border-color: rgba(241,103,36,.4);
    box-shadow: 0 18px 40px rgba(80,40,10,.1);
    color: var(--pg-ink);
}
.pg-genre-card:hover::before { width: 3px; }

.pg-genre-icon {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    background: rgba(241,103,36,.1);
    color: var(--pg-orange);
    border: 1px solid rgba(241,103,36,.22);
    font-size: .95rem;
    transition: .35s var(--ease-out);
}
.pg-genre-card:hover .pg-genre-icon {
    background: var(--pg-orange);
    color: #fff;
    border-color: var(--pg-orange);
}
.pg-genre-name {
    flex: 1;
    font-weight: 600;
    font-size: .95rem;
    letter-spacing: .01em;
}
.pg-genre-arrow {
    color: rgba(22,22,22,.22);
    font-size: .75rem;
    transform: translateX(-4px);
    opacity: 0;
    transition: .35s var(--ease-out);
}
.pg-genre-card:hover .pg-genre-arrow {
    opacity: 1;
    transform: translateX(0);
    color: var(--pg-orange);
}

@keyframes genreRise {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: none; }
}

.pg-genres .pg-section-actions {
    margin-top: 1.75rem;
    justify-content: flex-start;
}

/* =========================================================
   ALSO OFFERED (Editing / Marketing / Publishing / Cover)
   ========================================================= */
.pg-also {
    position: relative;
    padding: 3.75rem 0 4rem;
    background:
        radial-gradient(ellipse 70% 60% at 10% 20%, rgba(241, 103, 36, .06), transparent 55%),
        radial-gradient(ellipse 50% 50% at 90% 80%, rgba(241, 103, 36, .04), transparent 50%),
        linear-gradient(180deg, #fffdf9 0%, #f7f2eb 100%);
}
.pg-also-head {
    max-width: none;
    margin: 0 0 1.5rem;
    text-align: left;
}
.pg-also-head h2 {
    margin: 0 0 .65rem;
}
.pg-also-head h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-also-head .pg-section-lead {
    margin: 0;
}
.pg-also-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.pg-also-card {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 1.35rem 1.2rem 1.25rem;
    background: linear-gradient(165deg, #fff 0%, #fffaf5 100%);
    border: 1px solid rgba(40, 28, 18, .07);
    border-radius: 18px;
    box-shadow: 0 16px 36px rgba(70, 40, 15, .06);
    text-decoration: none;
    color: inherit;
    transition: transform .35s var(--ease-out), box-shadow .35s, border-color .35s;
}
.pg-also-card:hover {
    transform: translateY(-5px);
    border-color: rgba(241, 103, 36, .22);
    box-shadow: 0 22px 44px rgba(90, 40, 10, .1);
    color: inherit;
}
.pg-also-ico {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    margin-bottom: .85rem;
    border-radius: 14px;
    background: linear-gradient(160deg, rgba(255, 138, 74, .2), rgba(241, 103, 36, .12));
    color: var(--pg-orange);
    font-size: 1rem;
    box-shadow: 0 0 0 5px rgba(241, 103, 36, .05);
}
.pg-also-card h3 {
    margin: 0 0 .4rem;
    font-family: var(--font-display);
    font-size: 1.18rem;
    color: #17120e;
}
.pg-also-card p {
    margin: 0 0 .85rem;
    color: #5a5046;
    font-size: .86rem;
    line-height: 1.5;
    flex: 1;
}
.pg-also-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: var(--pg-orange);
    font-weight: 700;
    font-size: .78rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.pg-also-link i {
    font-size: .7rem;
    transition: transform .3s var(--ease-out);
}
.pg-also-card:hover .pg-also-link i {
    transform: translateX(3px);
}
.pg-also-visual {
    position: relative;
}
.pg-also-visual-glow {
    position: absolute;
    left: 50%;
    top: 28%;
    width: 70%;
    height: 50%;
    transform: translate(-50%, -50%);
    background: radial-gradient(ellipse at center, rgba(241,103,36,.18), transparent 70%);
    filter: blur(18px);
    pointer-events: none;
    animation: alsoPulse 6s ease-in-out infinite;
}
@keyframes alsoPulse {
    0%, 100% { opacity: .7; transform: translate(-50%, -50%) scale(1); }
    50% { opacity: 1; transform: translate(-50%, -50%) scale(1.06); }
}
.pg-also-shelf-img {
    display: block;
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    filter: drop-shadow(0 22px 40px rgba(0,0,0,.2));
    animation: alsoFloat 8s ease-in-out infinite;
}
@keyframes alsoFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}

/* =========================================================
   SOLUTIONS
   ========================================================= */
.pg-solutions { padding: 4rem 0 4.25rem; }
.pg-solution-tags {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .9rem;
}
.pg-tag {
    display: flex;
    align-items: center;
    gap: .8rem;
    padding: 1.05rem 1.15rem;
    background: #fff;
    border: 1px solid var(--pg-line);
    clip-path: polygon(0 0, 100% 0, 100% 70%, 92% 100%, 0 100%);
    font-weight: 500;
    transition: .35s var(--ease-out);
}
.pg-tag i {
    width: 38px; height: 38px;
    display: grid; place-items: center;
    background: var(--pg-orange-soft);
    color: var(--pg-orange);
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}
.pg-tag:hover {
    background: var(--pg-ink);
    color: #fff;
    border-color: var(--pg-ink);
    transform: translateX(6px);
}
.pg-tag:hover i {
    background: var(--pg-orange);
    color: #fff;
}

/* =========================================================
   TESTIMONIALS - premium dark stage
   ========================================================= */
.pg-testimonials {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #0c1628;
    color: #fff;
    padding: 5rem 0 4.5rem;
}
.pg-testimonials-media {
    position: absolute;
    inset: -3%;
    z-index: 0;
    background-image: var(--pg-testi-bg);
    background-size: cover;
    background-position: center;
    transform: scale(1.05) rotate(-1deg);
    filter: saturate(1.05) contrast(1.04);
}
.pg-testimonials-veil {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(8,16,32,.78) 0%, rgba(10,22,42,.82) 48%, rgba(8,14,28,.9) 100%),
        radial-gradient(ellipse 70% 55% at 50% 35%, rgba(241,103,36,.18), transparent 62%);
    pointer-events: none;
}
.pg-testimonials-ring {
    position: absolute;
    z-index: 1;
    border-radius: 50%;
    border: 1px solid rgba(241,103,36,.2);
    pointer-events: none;
}
.pg-testimonials-ring.r1 {
    width: 280px;
    height: 280px;
    right: -70px;
    top: 8%;
    animation: testiRing 24s linear infinite;
}
.pg-testimonials-ring.r2 {
    width: 160px;
    height: 160px;
    left: -40px;
    bottom: 14%;
    border-style: dashed;
    border-color: rgba(255,255,255,.12);
    animation: testiRing 30s linear infinite reverse;
}
@keyframes testiRing {
    to { transform: rotate(360deg); }
}
.pg-testimonials-frame {
    position: absolute;
    inset: 2.5rem 3.5%;
    z-index: 1;
    pointer-events: none;
}
.pg-testimonials-frame .tf {
    position: absolute;
    width: 42px;
    height: 42px;
    border: 1.5px solid rgba(255,180,120,.45);
    opacity: .7;
}
.pg-testimonials-frame .tf-tl { top: 0; left: 0; border-right: 0; border-bottom: 0; }
.pg-testimonials-frame .tf-tr { top: 0; right: 0; border-left: 0; border-bottom: 0; }
.pg-testimonials-frame .tf-bl { bottom: 0; left: 0; border-right: 0; border-top: 0; }
.pg-testimonials-frame .tf-br { bottom: 0; right: 0; border-left: 0; border-top: 0; }

.pg-testimonials .container {
    position: relative;
    z-index: 2;
}
.pg-testimonials .pg-section-head {
    margin-bottom: 2.25rem;
}
.pg-testimonials .pg-section-head h2 {
    color: #fff;
    max-width: 16ch;
    margin-left: auto;
    margin-right: auto;
}
.pg-testimonials-divider {
    display: block;
    width: 72px;
    height: 3px;
    margin: 1.1rem auto 0;
    background: linear-gradient(90deg, transparent, var(--pg-orange), transparent);
}

.pg-testi-stage {
    position: relative;
    max-width: 820px;
    margin: 0 auto 2.25rem;
    padding: 2.6rem 2.4rem 2.1rem;
    background:
        linear-gradient(165deg, rgba(255,255,255,.1) 0%, rgba(255,255,255,.04) 55%, rgba(255,255,255,.02) 100%);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow:
        0 30px 70px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.12);
    backdrop-filter: blur(16px) saturate(140%);
    -webkit-backdrop-filter: blur(16px) saturate(140%);
    clip-path: polygon(0 0, 100% 0, 100% 92%, 96% 100%, 0 100%);
}
.pg-testi-quote {
    position: absolute;
    top: 1.1rem;
    left: 1.35rem;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    color: rgba(241,103,36,.85);
    font-size: 1.35rem;
    background: rgba(241,103,36,.12);
    border: 1px solid rgba(241,103,36,.3);
    clip-path: polygon(18% 0, 100% 0, 82% 100%, 0 100%);
    pointer-events: none;
}
.pg-testi-slider {
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    min-height: 250px;
}
.pg-testi {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .55s var(--ease-out), transform .55s var(--ease-out);
    pointer-events: none;
}
.pg-testi.active {
    opacity: 1;
    transform: none;
    pointer-events: auto;
    position: relative;
}
.pg-stars {
    display: inline-flex;
    gap: .28rem;
    color: #ffb347;
    margin-bottom: 1.25rem;
    font-size: .95rem;
    filter: drop-shadow(0 0 10px rgba(255,179,71,.45));
}
.pg-testi p {
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2.4vw, 1.85rem);
    font-weight: 500;
    color: rgba(255,255,255,.96);
    line-height: 1.45;
    margin: 0 0 1.6rem;
}
.pg-testi-author {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .35rem;
}
.pg-testi-avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 2px solid rgba(241,103,36,.55);
    box-shadow:
        0 0 0 4px rgba(241,103,36,.12),
        0 12px 28px rgba(0,0,0,.28);
    margin-bottom: .35rem;
}
.pg-testi-author-line {
    display: block;
    width: 36px;
    height: 2px;
    margin-bottom: .35rem;
    background: linear-gradient(90deg, transparent, #ffb48a, transparent);
}
.pg-stars {
    display: inline-flex;
    gap: .28rem;
    color: #ffb347;
    margin-bottom: 1.25rem;
    font-size: .95rem;
    filter: drop-shadow(0 0 10px rgba(255,179,71,.45));
}
.pg-stars i:nth-child(1) { animation: starPop .55s .05s var(--ease-out) both; }
.pg-stars i:nth-child(2) { animation: starPop .55s .1s var(--ease-out) both; }
.pg-stars i:nth-child(3) { animation: starPop .55s .15s var(--ease-out) both; }
.pg-stars i:nth-child(4) { animation: starPop .55s .2s var(--ease-out) both; }
.pg-stars i:nth-child(5) { animation: starPop .55s .25s var(--ease-out) both; }
@keyframes starPop {
    from { opacity: 0; transform: scale(.4) translateY(6px); }
    to { opacity: 1; transform: none; }
}
.pg-testi h5 {
    margin: 0;
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .04em;
    color: #fff;
}
.pg-testi-role {
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,180,138,.85);
}
.pg-testi-nav {
    display: flex;
    justify-content: center;
    gap: .75rem;
    margin-top: 1.75rem;
}
.pg-testi-prev,
.pg-testi-next {
    width: 50px;
    height: 50px;
    border: 1px solid rgba(255,255,255,.2);
    background: rgba(255,255,255,.08);
    color: #fff;
    display: grid;
    place-items: center;
    cursor: pointer;
    clip-path: polygon(18% 0, 100% 0, 82% 100%, 0 100%);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition: background .3s, border-color .3s, box-shadow .3s;
}
.pg-testi-prev:hover,
.pg-testi-next:hover {
    background: var(--pg-orange);
    border-color: var(--pg-orange);
    box-shadow: 0 12px 28px rgba(241,103,36,.32);
}
.pg-testimonials .pg-section-actions {
    margin-top: .25rem;
}
.pg-testimonials .pg-section-actions .pg-btn-chat {
    --pg-btn-face: #101820;
    --pg-btn-face-hover: #1a2430;
    box-shadow:
        0 14px 34px rgba(0,0,0,.28),
        0 0 0 1px rgba(255,255,255,.16);
}

.pg-testi-layout {
    position: relative;
    display: block;
    max-width: 820px;
    margin: 0 auto 2rem;
    padding-top: .75rem;
    padding-left: 0;
}
.pg-testi-layout .pg-testi-stage {
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
}
.pg-testi-offer {
    position: absolute;
    top: -2rem;
    left: -6rem;
    z-index: 4;
    width: clamp(150px, 16vw, 200px);
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    border-radius: 0;
    box-shadow: none;
    display: block;
    line-height: 0;
    animation: pgTestiOffer 5.5s ease-in-out infinite;
    filter: drop-shadow(0 22px 36px rgba(0, 0, 0, .55));
    pointer-events: none;
}
.pg-testi-offer::before,
.pg-testi-offer::after {
    content: none;
    display: none;
}
.pg-testi-offer img {
    display: block;
    width: 100%;
    height: auto;
    user-select: none;
    -webkit-user-drag: none;
}
@keyframes pgTestiOffer {
    0%, 100% { transform: translateY(0) rotate(-3deg); }
    50% { transform: translateY(-8px) rotate(2deg); }
}

/* =========================================================
   LEAD FORM - premium contact panel
   ========================================================= */
.pg-lead {
    padding: .75rem 0 4.5rem;
    background: #f4efe7;
}
.pg-lead-panel {
    position: relative;
    background: #fff;
    overflow: hidden;
    clip-path: polygon(0 0, 100% 0, 100% 94%, 96.5% 100%, 0 100%);
    box-shadow:
        0 48px 110px rgba(60,28,8,.16),
        0 0 0 1px rgba(22,22,22,.06);
}
.pg-lead-frame {
    position: absolute;
    inset: 0;
    z-index: 4;
    pointer-events: none;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.4),
        inset 0 0 0 12px rgba(255,255,255,.02);
}
.pg-lead-aside {
    position: relative;
    color: #fff;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
    overflow: hidden;
    isolation: isolate;
}
.pg-lead-aside-bg {
    position: absolute;
    inset: -4%;
    z-index: 0;
    background: url("../images/pen-paper.jpg") center/cover no-repeat;
    transform: scale(1.06);
    filter: saturate(1.05) contrast(1.04);
}
.pg-lead-aside-veil {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(165deg, rgba(10,8,8,.92) 0%, rgba(28,16,12,.78) 42%, rgba(120,48,22,.7) 100%),
        linear-gradient(90deg, rgba(8,6,6,.45), transparent 68%);
}
.pg-lead-aside-glow {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        radial-gradient(ellipse 80% 55% at 20% 85%, rgba(241,103,36,.28), transparent 55%),
        radial-gradient(ellipse 50% 40% at 85% 10%, rgba(255,180,120,.12), transparent 50%);
}
.pg-lead-aside-corners {
    position: absolute;
    inset: 1.35rem;
    z-index: 2;
    pointer-events: none;
}
.pg-lead-aside-corners .lc {
    position: absolute;
    width: 28px;
    height: 28px;
    border: 1.5px solid rgba(255,180,120,.5);
    opacity: .75;
}
.pg-lead-aside-corners .lc-tl { top: 0; left: 0; border-right: 0; border-bottom: 0; }
.pg-lead-aside-corners .lc-tr { top: 0; right: 0; border-left: 0; border-bottom: 0; }
.pg-lead-aside-corners .lc-bl { bottom: 0; left: 0; border-right: 0; border-top: 0; }
.pg-lead-aside-corners .lc-br { bottom: 0; right: 0; border-left: 0; border-top: 0; }

.pg-lead-aside-inner {
    position: relative;
    z-index: 3;
    margin: 1.5rem;
    padding: 2.35rem 2rem 2.2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: calc(100% - 3rem);
    background:
        linear-gradient(160deg, rgba(255,255,255,.1) 0%, rgba(255,255,255,.04) 50%, rgba(255,255,255,.02) 100%);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow:
        0 24px 50px rgba(0,0,0,.22),
        inset 0 1px 0 rgba(255,255,255,.16);
    backdrop-filter: blur(14px) saturate(130%);
    -webkit-backdrop-filter: blur(14px) saturate(130%);
}
.pg-lead-aside h2 {
    color: #fff;
    margin-bottom: .85rem;
    max-width: 13ch;
    font-size: clamp(1.85rem, 3vw, 2.45rem);
    line-height: 1.14;
    text-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.pg-lead-aside-note {
    margin: 0 0 1.45rem;
    color: rgba(255,255,255,.8);
    font-size: .95rem;
    line-height: 1.65;
    max-width: 34ch;
}
.pg-lead-perks {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: .65rem;
}
.pg-lead-perks li {
    display: flex;
    align-items: center;
    gap: .8rem;
    color: rgba(255,255,255,.94);
    font-size: .9rem;
    font-weight: 500;
    letter-spacing: .02em;
    padding: .55rem .7rem;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.08);
}
.pg-lead-perk-icon {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(241,103,36,.22);
    border: 1px solid rgba(241,103,36,.45);
    color: #ffc9a4;
    font-size: .68rem;
    box-shadow: 0 0 16px rgba(241,103,36,.2);
}
.pg-lead-aside-rule {
    display: block;
    width: 56px;
    height: 2px;
    margin: 1.45rem 0 0;
    background: linear-gradient(90deg, var(--pg-orange), transparent);
}
.pg-lead-aside .pg-section-actions {
    margin-top: 1.35rem;
    flex-direction: column;
    align-items: stretch;
    gap: .7rem;
}
.pg-lead-aside .pg-section-actions .pg-btn {
    width: 100%;
    justify-content: center;
}
.pg-lead-aside .pg-section-actions .pg-btn-chat {
    --pg-btn-face: rgba(12,14,18,.88);
    --pg-btn-face-hover: #141a22;
    box-shadow:
        0 12px 28px rgba(0,0,0,.28),
        0 0 0 1px rgba(255,255,255,.14);
}

.pg-lead-form-wrap {
    position: relative;
    padding: 3.15rem 3rem 3.25rem;
    background:
        radial-gradient(ellipse 70% 50% at 100% 0%, rgba(241,103,36,.06), transparent 55%),
        linear-gradient(180deg, #ffffff 0%, #fff8f2 100%);
}
.pg-lead-form-wrap::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12%;
    bottom: 12%;
    width: 1px;
    background: linear-gradient(180deg, transparent, rgba(22,22,22,.1), transparent);
}
.pg-lead-form-wrap::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--pg-orange), rgba(241,103,36,.15) 55%, transparent);
    pointer-events: none;
}
.pg-lead-form-head {
    margin-bottom: 1.75rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(22,22,22,.06);
}
.pg-lead-form-kicker {
    display: inline-block;
    margin-bottom: .55rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--pg-orange);
}
.pg-lead-form-head h3 {
    margin: 0 0 .45rem;
    font-family: var(--font-display);
    font-size: clamp(1.55rem, 2.4vw, 1.95rem);
    font-weight: 700;
    color: var(--pg-ink);
    line-height: 1.2;
}
.pg-lead-form-head p {
    margin: 0;
    color: #6b635a;
    font-size: .92rem;
    line-height: 1.6;
    max-width: 42ch;
}

/* Shared form fields */
.pg-form-grid {
    display: flex;
    flex-direction: column;
    gap: 1.05rem;
}
.pg-form-row { width: 100%; }
.pg-form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.05rem;
}
.pg-input,
.pg-textarea {
    width: 100%;
    border: 1px solid rgba(22,22,22,.1);
    border-radius: 4px;
    padding: 1.05rem 1.2rem;
    font-family: var(--font-body);
    font-size: .95rem;
    color: var(--pg-ink);
    background: #f7f3ee;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
    outline: none;
    transition: border-color .3s, box-shadow .3s, background .3s;
}
.pg-input::placeholder,
.pg-textarea::placeholder {
    color: #8a8178;
}
.pg-input:focus,
.pg-textarea:focus {
    border-color: rgba(241,103,36,.55);
    background: #fff;
    box-shadow:
        0 0 0 4px rgba(241, 103, 36, 0.12),
        inset 0 1px 0 #fff;
}
.pg-textarea {
    min-height: 148px;
    resize: vertical;
    line-height: 1.55;
}
.pg-submit-btn {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    margin-top: .25rem;
    padding: 1.1rem 1.7rem;
    border: 0;
    border-radius: 0;
    clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%);
    font-family: var(--font-body);
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #fff;
    cursor: pointer;
    background: linear-gradient(135deg, #ff8a4a 0%, var(--pg-orange) 45%, var(--pg-orange-deep) 100%);
    box-shadow: 0 16px 34px rgba(241,103,36,.28);
    transition: background .3s, box-shadow .3s, filter .3s;
}
.pg-submit-btn i {
    font-size: .85rem;
    transition: transform .3s var(--ease-out);
}
.pg-submit-btn:hover {
    background: linear-gradient(135deg, var(--pg-orange) 0%, var(--pg-orange-deep) 100%);
    box-shadow: 0 18px 40px rgba(241,103,36,.34);
    filter: none;
    color: #fff;
    transform: none;
}
.pg-submit-btn:hover i { transform: translateX(4px); }

@media (max-width: 575.98px) {
    .pg-form-row-2 { grid-template-columns: 1fr; }
}


/* =========================================================
   PORTFOLIO - Premium Coverflow Slider
   ========================================================= */
.pg-portfolio {
    position: relative;
    background:
        radial-gradient(ellipse 70% 50% at 50% 38%, rgba(241,103,36,.1), transparent 60%),
        radial-gradient(ellipse 40% 35% at 12% 80%, rgba(241,103,36,.05), transparent 55%),
        linear-gradient(180deg, #f7f2ea 0%, #faf7f2 40%, #f4efe7 100%);
    padding: 5rem 0 2.75rem;
    overflow: hidden;
}
.pg-portfolio-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
.pg-portfolio-glow {
    position: absolute;
    left: 50%;
    top: 48%;
    width: min(920px, 90vw);
    height: 360px;
    transform: translate(-50%, -50%);
    background: radial-gradient(ellipse at center, rgba(241,103,36,.18), transparent 68%);
}
.pg-portfolio-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(241,103,36,.18);
}
.pg-portfolio-ring.r1 {
    width: 320px;
    height: 320px;
    right: -80px;
    top: 8%;
    animation: portRing 22s linear infinite;
}
.pg-portfolio-ring.r2 {
    width: 180px;
    height: 180px;
    left: -40px;
    bottom: 12%;
    border-style: dashed;
    border-color: rgba(22,22,22,.1);
    animation: portRing 28s linear infinite reverse;
}
@keyframes portRing {
    to { transform: rotate(360deg); }
}
.pg-portfolio-dot {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--pg-orange);
    opacity: .35;
}
.pg-portfolio-dot.d1 { left: 12%; top: 22%; }
.pg-portfolio-dot.d2 { right: 16%; top: 30%; width: 5px; height: 5px; opacity: .25; }
.pg-portfolio-dot.d3 { left: 22%; bottom: 18%; width: 6px; height: 6px; opacity: .2; }
.pg-portfolio-rail {
    position: absolute;
    left: 50%;
    top: 18%;
    bottom: 22%;
    width: 1px;
    transform: translateX(-50%);
    background: linear-gradient(180deg, transparent, rgba(241,103,36,.28), transparent);
    opacity: .55;
}

.pg-portfolio-frame {
    position: absolute;
    inset: 3rem 3.5%;
    pointer-events: none;
    z-index: 0;
}
.pg-portfolio-frame .pf {
    position: absolute;
    width: 58px;
    height: 58px;
    border: 1.5px solid rgba(241,103,36,.4);
    opacity: .65;
}
.pg-portfolio-frame .pf-tl { top: 0; left: 0; border-right: 0; border-bottom: 0; }
.pg-portfolio-frame .pf-tr { top: 0; right: 0; border-left: 0; border-bottom: 0; }
.pg-portfolio-frame .pf-bl { bottom: 0; left: 0; border-right: 0; border-top: 0; }
.pg-portfolio-frame .pf-br { bottom: 0; right: 0; border-left: 0; border-top: 0; }

.pg-portfolio-container {
    position: relative;
    z-index: 1;
    max-width: 1380px;
}
.pg-portfolio .pg-section-head {
    margin-bottom: 2.75rem;
}
.pg-portfolio .pg-section-head h2 {
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.18;
    white-space: normal;
}
.pg-portfolio .pg-section-head h2 em {
    display: block;
    font-style: italic;
    color: var(--pg-orange);
    font-weight: 600;
}
.pg-portfolio-divider {
    display: block;
    width: 72px;
    height: 3px;
    margin: 1.15rem auto 1.1rem;
    background: linear-gradient(90deg, transparent, var(--pg-orange), transparent);
}
.pg-portfolio .pg-section-lead {
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}

/* Portfolio book grid (homepage) */
.pg-portfolio-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.35rem 1.15rem;
    margin: 0 auto 2.25rem;
    max-width: 1100px;
}
.pg-portfolio-card {
    position: relative;
    opacity: 0;
    animation: serviceRise .7s calc(var(--i, 0) * .06s) var(--ease-out) both;
}
.pg-portfolio-card-cover {
    position: relative;
    border-radius: 2px;
    overflow: hidden;
    background: #1a1612;
    box-shadow:
        0 18px 40px rgba(40, 22, 10, .16),
        0 0 0 1px rgba(40, 22, 10, .06);
    transition: transform .45s var(--ease-out), box-shadow .45s var(--ease-out);
}
.pg-portfolio-card-cover::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 7px;
    z-index: 2;
    background: linear-gradient(90deg, rgba(0,0,0,.35), transparent);
    pointer-events: none;
}
.pg-portfolio-card-cover img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    transition: transform .55s var(--ease-out);
}
.pg-portfolio-card-shine {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 32%, rgba(255,255,255,.22) 48%, transparent 64%);
    transform: translateX(-120%);
    transition: transform .7s var(--ease-out);
}
.pg-portfolio-card:hover .pg-portfolio-card-cover {
    transform: translateY(-8px);
    box-shadow:
        0 28px 54px rgba(40, 22, 10, .22),
        0 0 0 1px rgba(241, 103, 36, .28);
}
.pg-portfolio-card:hover .pg-portfolio-card-cover img {
    transform: scale(1.04);
}
.pg-portfolio-card:hover .pg-portfolio-card-shine {
    transform: translateX(120%);
}

.pg-portfolio-slider {
    position: relative;
    margin: 0 auto;
    max-width: 1360px;
    padding: 1rem 3.5rem 0;
}

.pg-port-stage {
    position: relative;
    height: clamp(400px, 48vw, 500px);
    perspective: 1600px;
    perspective-origin: 50% 42%;
}

.pg-port-track {
    position: absolute;
    inset: 0;
    transform-style: preserve-3d;
}

.pg-port-item {
    position: absolute;
    left: 50%;
    top: 4%;
    width: clamp(180px, 21vw, 260px);
    margin-left: calc(clamp(180px, 21vw, 260px) / -2);
    transform-origin: center bottom;
    transform: translate3d(0, 40px, -200px) scale(.55);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        transform .8s var(--ease-out),
        opacity .55s var(--ease-out),
        visibility .55s,
        filter .55s;
    z-index: 1;
    cursor: pointer;
}
.pg-port-item.is-visible { visibility: visible; pointer-events: auto; }

.pg-port-item[data-offset="0"] {
    transform: translate3d(0, 0, 100px) scale(1) rotateY(0deg);
    opacity: 1;
    z-index: 10;
    filter: drop-shadow(0 36px 60px rgba(0,0,0,.32));
}
.pg-port-item[data-offset="-1"] {
    transform: translate3d(-68%, 22px, -30px) scale(.84) rotateY(26deg);
    opacity: .92;
    z-index: 8;
    filter: drop-shadow(0 20px 34px rgba(0,0,0,.22));
}
.pg-port-item[data-offset="1"] {
    transform: translate3d(68%, 22px, -30px) scale(.84) rotateY(-26deg);
    opacity: .92;
    z-index: 8;
    filter: drop-shadow(0 20px 34px rgba(0,0,0,.22));
}
.pg-port-item[data-offset="-2"] {
    transform: translate3d(-120%, 42px, -110px) scale(.7) rotateY(36deg);
    opacity: .52;
    z-index: 5;
    filter: blur(.35px) drop-shadow(0 14px 22px rgba(0,0,0,.16));
}
.pg-port-item[data-offset="2"] {
    transform: translate3d(120%, 42px, -110px) scale(.7) rotateY(-36deg);
    opacity: .52;
    z-index: 5;
    filter: blur(.35px) drop-shadow(0 14px 22px rgba(0,0,0,.16));
}
.pg-port-item[data-offset="-3"] {
    transform: translate3d(-160%, 56px, -190px) scale(.56) rotateY(44deg);
    opacity: .2;
    z-index: 2;
}
.pg-port-item[data-offset="3"] {
    transform: translate3d(160%, 56px, -190px) scale(.56) rotateY(-44deg);
    opacity: .2;
    z-index: 2;
}
.pg-port-item[data-offset="99"] {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(0, 50px, -240px) scale(.45);
}

.pg-port-cover {
    position: relative;
    border-radius: 3px 12px 12px 3px;
    overflow: hidden;
    background: #141414;
    box-shadow:
        inset -8px 0 14px rgba(0,0,0,.28),
        0 0 0 1px rgba(255,255,255,.1);
    transition: box-shadow .45s var(--ease-out), transform .45s;
}
.pg-port-spine {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 9px;
    z-index: 2;
    background: linear-gradient(90deg, rgba(0,0,0,.4), transparent);
    pointer-events: none;
}
.pg-port-item[data-offset="0"] .pg-port-cover {
    box-shadow:
        inset -10px 0 18px rgba(0,0,0,.3),
        0 0 0 1px rgba(241,103,36,.5),
        0 0 52px rgba(241,103,36,.24);
}
.pg-port-item[data-offset="0"]:hover .pg-port-cover {
    transform: translateY(-6px);
}
.pg-port-cover img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 2 / 3;
    object-fit: cover;
}
.pg-port-shine {
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg, transparent 35%, rgba(255,255,255,.25) 48%, transparent 62%);
    transform: translateX(-120%);
    pointer-events: none;
}
.pg-port-item[data-offset="0"] .pg-port-shine {
    animation: portShine 3.8s 0.4s ease-in-out infinite;
}
@keyframes portShine {
    0%, 55% { transform: translateX(-120%); }
    80%, 100% { transform: translateX(120%); }
}

.pg-port-shelf {
    display: none;
}
.pg-port-shelf-wood {
    position: absolute;
    left: 4%;
    right: 4%;
    bottom: 10px;
    height: 12px;
    background: linear-gradient(180deg, #fff 0%, #eadfd4 55%, #dccfbf 100%);
    box-shadow:
        0 12px 28px rgba(90,40,10,.14),
        inset 0 1px 0 #fff;
    clip-path: polygon(1% 0, 99% 0, 100% 100%, 0 100%);
}
.pg-port-shelf-line {
    display: block;
    height: 2px;
    width: 100%;
    margin-top: 18px;
    background: linear-gradient(90deg, transparent, rgba(22,22,22,.12) 18%, rgba(22,22,22,.12) 82%, transparent);
}
.pg-port-shelf-glow {
    display: block;
    width: 42%;
    height: 24px;
    margin: 6px auto 0;
    background: radial-gradient(ellipse at center, rgba(241,103,36,.34), transparent 72%);
    filter: blur(8px);
    animation: shelfPulse 3.5s ease-in-out infinite;
}
@keyframes shelfPulse {
    0%, 100% { opacity: .5; transform: scaleX(1); }
    50% { opacity: 1; transform: scaleX(1.12); }
}

.pg-port-float {
    position: absolute;
    z-index: 11;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .7rem 1.05rem;
    background: rgba(255,255,255,.94);
    border: 1px solid rgba(22,22,22,.06);
    color: var(--pg-ink);
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .03em;
    box-shadow: 0 16px 36px rgba(90,40,10,.12);
    animation: portChip 5.5s ease-in-out infinite;
}
.pg-port-float i { color: var(--pg-orange); font-size: .85rem; }
.pg-port-float.chip-a {
    left: 2%;
    top: 18%;
}
.pg-port-float.chip-b {
    right: 2%;
    bottom: 22%;
    animation-delay: -2s;
}
@keyframes portChip {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

.pg-port-meta {
    text-align: center;
    margin-top: .15rem;
}
.pg-port-count {
    display: inline-flex;
    align-items: baseline;
    gap: .45rem;
    font-family: var(--font-display);
    font-size: 1.2rem;
    color: rgba(22,22,22,.4);
    letter-spacing: .08em;
    padding: .45rem 1.1rem;
    background: rgba(255,255,255,.65);
    border: 1px solid rgba(22,22,22,.08);
    backdrop-filter: blur(8px);
}
.pg-port-count em {
    font-style: normal;
    color: var(--pg-orange);
    font-weight: 600;
    font-size: 1.35rem;
}
.pg-port-sep {
    color: rgba(22,22,22,.25);
}

.pg-port-arrow {
    position: absolute;
    top: 42%;
    transform: translateY(-50%);
    z-index: 12;
    width: 56px;
    height: 56px;
    border: 1px solid rgba(22,22,22,.12);
    background: rgba(255,255,255,.95);
    color: var(--pg-ink);
    display: grid;
    place-items: center;
    cursor: pointer;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 14px 36px rgba(0,0,0,.1);
    transition: background .3s, border-color .3s, color .3s, box-shadow .3s;
}
.pg-port-prev { left: 0; }
.pg-port-next { right: 0; }
.pg-port-arrow:hover {
    background: var(--pg-orange);
    border-color: var(--pg-orange);
    color: #fff;
    box-shadow: 0 18px 40px rgba(241,103,36,.35);
}
.pg-port-prev:hover { transform: translateY(-50%); }
.pg-port-next:hover { transform: translateY(-50%); }

.pg-solutions {
    position: relative;
    overflow: hidden;
}
.pg-solutions-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: .14;
    pointer-events: none;
}
.pg-solutions-fx {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}
.pg-sol-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(42px);
}
.pg-sol-orb.o1 {
    width: 260px;
    height: 260px;
    left: -60px;
    top: 18%;
    background: rgba(241,103,36,.16);
    animation: solPulse 7s ease-in-out infinite;
}
.pg-sol-orb.o2 {
    width: 220px;
    height: 220px;
    right: -40px;
    bottom: 12%;
    background: rgba(241,103,36,.12);
    animation: solPulse 9s ease-in-out infinite reverse;
}
.pg-sol-ring {
    position: absolute;
    border-radius: 50%;
    border: 1.5px solid rgba(241,103,36,.25);
}
.pg-sol-ring.r1 {
    width: 180px;
    height: 180px;
    right: 8%;
    top: 10%;
    animation: genreSpin 26s linear infinite;
}
.pg-sol-ring.r2 {
    width: 110px;
    height: 110px;
    left: 6%;
    bottom: 16%;
    border-style: dashed;
    animation: genreSpin 32s linear infinite reverse;
}
.pg-sol-dot {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--pg-orange);
    opacity: .45;
    box-shadow: 0 0 12px rgba(241,103,36,.4);
}
.pg-sol-dot.d1 { left: 12%; top: 24%; animation: solFloat 5.5s ease-in-out infinite; }
.pg-sol-dot.d2 { right: 18%; top: 36%; width: 5px; height: 5px; animation: solFloat 6.5s ease-in-out infinite .6s; }
.pg-sol-dot.d3 { left: 40%; bottom: 14%; animation: solFloat 7s ease-in-out infinite 1s; }
.pg-sol-slash {
    position: absolute;
    width: 70px;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(241,103,36,.5), transparent);
}
.pg-sol-slash.s1 { left: 8%; top: 58%; transform: rotate(-28deg); }
.pg-sol-slash.s2 { right: 12%; bottom: 28%; transform: rotate(22deg); width: 90px; }
.pg-sol-float {
    position: absolute;
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255,255,255,.85);
    border: 1px solid rgba(241,103,36,.22);
    color: var(--pg-orange);
    box-shadow: 0 12px 28px rgba(80,40,10,.1);
    font-size: .95rem;
}
.pg-sol-float.f1 { left: 46%; top: 8%; animation: solFloat 6s ease-in-out infinite; }
.pg-sol-float.f2 { right: 4%; top: 48%; animation: solFloat 7.2s ease-in-out infinite .8s; }
.pg-sol-float.f3 { left: 52%; bottom: 8%; animation: solFloat 8s ease-in-out infinite 1.2s; }
@keyframes solPulse {
    0%, 100% { transform: scale(1); opacity: .85; }
    50% { transform: scale(1.12); opacity: 1; }
}
@keyframes solFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}
.pg-solutions .container { position: relative; z-index: 1; }
.pg-solution-visual {
    position: relative;
}
.pg-sol-visual-glow {
    position: absolute;
    left: 50%;
    top: 30%;
    width: 70%;
    height: 50%;
    transform: translate(-50%, -50%);
    background: radial-gradient(ellipse at center, rgba(241,103,36,.18), transparent 70%);
    filter: blur(18px);
    pointer-events: none;
    animation: solPulse 6s ease-in-out infinite;
}
.pg-shelf-img {
    width: 100%;
    max-width: 420px;
    margin: 0 auto 1.2rem;
    filter: drop-shadow(0 22px 40px rgba(0,0,0,.2));
    animation: solFloat 8s ease-in-out infinite;
}
.pg-tag {
    animation: genreRise .7s calc(var(--ti, 0) * .06s) var(--ease-out) both;
}
.pg-wave-book-mid {
    left: 46%;
    bottom: 78px;
    width: clamp(55px, 7vw, 95px);
    border-radius: 2px;
    animation-delay: -2.4s;
}
/* =========================================================
   FOOTER - premium dark abstract
   ========================================================= */
.pg-footer {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #050505;
    color: rgba(255,255,255,.72);
    padding: 5rem 0 1.75rem;
}
.pg-footer-media {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        url("../images/footer-bg.png") center/cover no-repeat;
    opacity: .95;
    transform: scale(1.04);
}
.pg-footer-veil {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, rgba(5,5,5,.55) 0%, rgba(5,5,5,.28) 35%, rgba(5,5,5,.62) 100%),
        radial-gradient(ellipse 55% 45% at 18% 20%, rgba(241,103,36,.12), transparent 60%),
        radial-gradient(ellipse 45% 40% at 88% 80%, rgba(255,255,255,.04), transparent 55%);
    pointer-events: none;
}
.pg-footer-glow {
    position: absolute;
    left: 50%;
    bottom: -10%;
    z-index: 1;
    width: min(900px, 90vw);
    height: 220px;
    transform: translateX(-50%);
    background: radial-gradient(ellipse at center, rgba(241,103,36,.14), transparent 70%);
    pointer-events: none;
    filter: blur(8px);
}
.pg-footer-edge {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    z-index: 3;
    background: linear-gradient(90deg, transparent, rgba(241,103,36,.65), #ffb48a, rgba(241,103,36,.65), transparent);
    opacity: .85;
    pointer-events: none;
}
.pg-footer .container {
    position: relative;
    z-index: 2;
}
.pg-footer-grid {
    position: relative;
}
.pg-footer-brand p {
    margin: 0;
    max-width: 34ch;
    color: rgba(255,255,255,.68);
    line-height: 1.7;
    font-size: .95rem;
}
.pg-footer-logo img {
    height: 68px;
    width: auto;
    margin-bottom: 1.35rem;
    filter: drop-shadow(0 8px 20px rgba(0,0,0,.35));
}
.pg-footer h5 {
    position: relative;
    color: #fff;
    font-family: var(--font-body);
    font-size: .82rem;
    font-weight: 700;
    margin: 0 0 1.35rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.pg-footer h5::after {
    content: "";
    display: block;
    width: 28px;
    height: 2px;
    margin-top: .65rem;
    background: linear-gradient(90deg, var(--pg-orange), transparent);
}
.pg-footer ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.pg-footer ul li {
    margin-bottom: .62rem;
}
.pg-footer ul a {
    color: rgba(255,255,255,.68);
    font-size: .92rem;
    transition: color .25s, padding-left .25s;
}
.pg-footer ul a:hover {
    color: var(--pg-orange);
    padding-left: .2rem;
}
.pg-footer-social {
    display: flex;
    gap: .7rem;
    margin-top: 1.6rem;
}
.pg-footer-social a {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.04);
    color: #fff;
    clip-path: polygon(18% 0, 100% 0, 82% 100%, 0 100%);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: background .3s, border-color .3s, color .3s, box-shadow .3s;
}
.pg-footer-social a:hover {
    background: var(--pg-orange);
    border-color: var(--pg-orange);
    color: #fff;
    box-shadow: 0 12px 28px rgba(241,103,36,.3);
}
.pg-footer-contact li {
    display: flex;
    gap: .85rem;
    align-items: flex-start;
    margin-bottom: 1rem !important;
    color: rgba(255,255,255,.7);
    font-size: .92rem;
    line-height: 1.55;
}
.pg-footer-contact a {
    color: rgba(255,255,255,.78);
}
.pg-footer-contact a:hover {
    color: var(--pg-orange);
    padding-left: 0;
}
.pg-footer-ico {
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    background: rgba(241,103,36,.12);
    border: 1px solid rgba(241,103,36,.28);
    color: var(--pg-orange);
    font-size: .82rem;
    clip-path: polygon(18% 0, 100% 0, 82% 100%, 0 100%);
}
.pg-footer-bottom {
    margin-top: 3.25rem;
    padding: 1.25rem 0 0;
    border-top: 1px solid rgba(255,255,255,.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    font-size: .86rem;
    color: rgba(255,255,255,.5);
}
.pg-footer-bottom p { margin: 0; color: rgba(255,255,255,.5); }
.pg-footer-links {
    display: flex;
    gap: 1.35rem;
}
.pg-footer-links a {
    color: rgba(255,255,255,.55);
    position: relative;
}
.pg-footer-links a:hover { color: var(--pg-orange); }
.pg-footer-zig { display: none; }

/* ===== LIGHT HERO THEME OVERRIDE ===== */
.pg-hero {
    color: var(--pg-ink);
    background-color: #f7f2ea;
    background-image: none;
    isolation: isolate;
}
.pg-hero::before,
.pg-hero::after { content: none !important; display: none !important; }

.pg-hero-bg { overflow: hidden; }
.pg-hero-media {
    position: absolute;
    inset: 0;
    background-image: var(--pg-banner-bg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.pg-hero-veil {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(105deg, rgba(255,255,255,.46) 0%, rgba(255,255,255,.2) 40%, transparent 72%),
        linear-gradient(180deg, rgba(255,255,255,.28) 0%, transparent 26%, transparent 78%, rgba(244,239,231,.35) 100%);
}
.pg-hero-glow {
    filter: blur(60px);
    opacity: .5;
}
.pg-hero-glow.g1 {
    width: 380px;
    height: 380px;
    left: -80px;
    top: 18%;
    background: rgba(241,103,36,.16);
}
.pg-hero-glow.g2 {
    width: 300px;
    height: 300px;
    right: 10%;
    bottom: 14%;
    left: auto;
    top: auto;
    background: rgba(255,200,140,.2);
}
.pg-hero-arc {
    border-color: rgba(241,103,36,.22);
}
.pg-hero-arc.arc1 {
    width: 260px;
    height: 260px;
    left: -60px;
    bottom: 16%;
    top: auto;
    border-style: dashed;
}
.pg-hero-arc.arc2 {
    width: 150px;
    height: 150px;
    right: 16%;
    top: 22%;
    border-color: rgba(22,22,22,.12);
}
.pg-hero-dot {
    position: absolute;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--pg-orange);
    opacity: .4;
}
.pg-hero-dot.d1 { left: 12%; top: 28%; }
.pg-hero-dot.d2 { left: 36%; top: 18%; width: 4px; height: 4px; }
.pg-hero-dot.d3 { right: 26%; bottom: 30%; background: rgba(22,22,22,.22); }

.pg-hero-badge {
    background: rgba(255,255,255,.78);
    border: 1px solid rgba(241,103,36,.28);
    color: var(--pg-ink);
    box-shadow:
        0 12px 28px rgba(90,40,10,.08),
        inset 0 1px 0 rgba(255,255,255,.95);
}
.pg-hero-copy h1 {
    color: var(--pg-ink);
    text-shadow: none;
}
.pg-hero-typed {
    background: linear-gradient(90deg, rgba(241,103,36,.14), rgba(241,103,36,.05) 60%, transparent);
    border-left: 3px solid var(--pg-orange);
    box-shadow: inset 0 -3px 0 rgba(241,103,36,.9);
    backdrop-filter: none;
}
.pg-hero-typed::after {
    background: var(--pg-orange);
    box-shadow: 0 0 14px rgba(241,103,36,.4);
}
.pg-typewriter {
    color: var(--pg-orange);
    -webkit-text-fill-color: var(--pg-orange);
    background: none;
    text-shadow: 0 8px 22px rgba(241,103,36,.16);
}
.pg-hero-lead {
    color: #5f574f;
    text-shadow: none;
}
.pg-hero-float-chip {
    background: rgba(255,255,255,.9);
    border: 1px solid rgba(22,22,22,.08);
    color: var(--pg-ink);
    box-shadow:
        0 16px 36px rgba(90,40,10,.12),
        inset 0 1px 0 rgba(255,255,255,.95);
}
.pg-hero-gallery-glow {
    background:
        radial-gradient(ellipse at 50% 40%, rgba(241,103,36,.28), transparent 62%),
        radial-gradient(ellipse at 70% 80%, rgba(255,180,120,.18), transparent 55%);
}
.pg-hero-gallery::after {
    border-color: rgba(22,22,22,.12);
}

/* Light hero (header now light in base styles) */
.pg-hero {
    color: var(--pg-ink);
    background-color: #f7f2ea;
    background-image: none;
    isolation: isolate;
}

/* =========================================================
   FLOAT RAIL + QUOTE SLIDE PANEL
   ========================================================= */
.pg-float-rail {
    position: fixed;
    right: 0;
    top: 50%;
    bottom: auto;
    z-index: 1200;
    display: flex;
    flex-direction: column;
    gap: .65rem;
    align-items: flex-end;
    transform: translateY(-50%);
    opacity: 1;
    pointer-events: auto;
}
.pg-float-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    min-height: 52px;
    padding: 0;
    border: 0;
    border-radius: 999px 0 0 999px;
    cursor: pointer;
    color: #fff;
    font-family: var(--font-body);
    font-weight: 700;
    letter-spacing: .04em;
    box-shadow: -6px 12px 28px rgba(0,0,0,.22);
    overflow: visible;
    transition: width .35s var(--ease-out), padding .35s var(--ease-out), box-shadow .35s, background .35s, color .35s;
}
.pg-float-btn:hover,
.pg-float-btn:focus-visible {
    width: auto;
    min-width: 52px;
    padding: 0 1rem 0 .45rem;
    outline: none;
}
.pg-float-label {
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    white-space: nowrap;
    font-size: .78rem;
    text-transform: uppercase;
    line-height: 1;
    padding-left: 0;
    transition: max-width .35s var(--ease-out), opacity .25s ease, padding .35s var(--ease-out);
}
.pg-float-btn:hover .pg-float-label,
.pg-float-btn:focus-visible .pg-float-label {
    max-width: 9rem;
    opacity: 1;
    padding-left: .55rem;
}
.pg-float-chat {
    background: #161616;
}
.pg-float-chat:hover,
.pg-float-chat:focus-visible {
    background: #0d0d0d;
    box-shadow: -8px 14px 32px rgba(0,0,0,.32);
}
.pg-float-chat-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--pg-orange);
    color: #fff;
    font-size: 1.05rem;
    line-height: 1;
    transition: transform .35s var(--ease-out);
}
.pg-float-chat-icon i {
    display: block;
    line-height: 1;
    transform: translateY(.5px);
}
.pg-float-chat:hover .pg-float-chat-icon,
.pg-float-chat:focus-visible .pg-float-chat-icon {
    transform: scale(1.05);
}
.pg-float-quote {
    background: var(--pg-orange);
}
.pg-float-quote:hover,
.pg-float-quote:focus-visible {
    background: var(--pg-orange-deep);
    box-shadow: -8px 14px 32px rgba(241,103,36,.4);
}
.pg-float-quote-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.18);
    color: #fff;
    flex-shrink: 0;
}
.pg-quote-overlay {
    position: fixed;
    inset: 0;
    z-index: 1300;
    background: rgba(8,6,5,.4);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .4s var(--ease-out), visibility .4s;
}
.pg-quote-overlay.is-open {
    opacity: 1;
    visibility: visible;
}
.pg-quote-panel {
    position: fixed;
    top: 50%;
    right: 1.25rem;
    z-index: 1301;
    width: min(520px, calc(100vw - 2rem));
    height: auto;
    max-height: min(82vh, 680px);
    padding: 0;
    background: transparent;
    color: #fff;
    border: 0;
    box-shadow: none;
    transform: translate(110%, -50%);
    opacity: 1;
    visibility: hidden;
    pointer-events: none;
    transition:
        transform .55s cubic-bezier(0.22, 1, 0.36, 1),
        visibility .55s;
    overflow: visible;
    will-change: transform;
}
.pg-quote-panel.is-open {
    transform: translate(0, -50%);
    visibility: visible;
    pointer-events: auto;
}
.pg-quote-glow {
    position: absolute;
    inset: -20% -10% auto;
    height: 55%;
    background: radial-gradient(ellipse at 70% 20%, rgba(241,103,36,.28), transparent 65%);
    pointer-events: none;
    filter: blur(8px);
    z-index: 0;
}
.pg-quote-accent {
    position: absolute;
    left: 0;
    top: 1.2rem;
    bottom: 1.2rem;
    width: 3px;
    background: linear-gradient(180deg, transparent, var(--pg-orange), transparent);
    z-index: 2;
    border-radius: 2px;
}
.pg-quote-panel-inner {
    position: relative;
    z-index: 1;
    padding: 1.35rem 1.4rem 1.35rem;
    background:
        linear-gradient(155deg, rgba(255,255,255,.07) 0%, transparent 42%),
        linear-gradient(180deg, #1c1612 0%, #100d0b 100%);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow:
        0 28px 70px rgba(0,0,0,.42),
        inset 0 1px 0 rgba(255,255,255,.1);
    overflow-y: auto;
    max-height: min(82vh, 680px);
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
}
.pg-quote-panel-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .85rem;
    margin-bottom: .45rem;
}
.pg-quote-panel-head .pg-eyebrow {
    margin-bottom: .45rem;
}
.pg-quote-panel-head h3 {
    color: #fff;
    margin: 0;
    font-size: clamp(1.4rem, 2vw, 1.7rem);
}
.pg-quote-close {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.06);
    color: #fff;
    display: grid;
    place-items: center;
    cursor: pointer;
    transition: background .3s, border-color .3s, color .3s, transform .3s;
}
.pg-quote-close:hover {
    background: var(--pg-orange);
    border-color: var(--pg-orange);
    transform: rotate(90deg);
}
.pg-quote-note {
    color: rgba(255,255,255,.72);
    font-size: .9rem;
    margin-bottom: 1.1rem;
    line-height: 1.55;
    max-width: 38ch;
}
.pg-quote-form .pg-form-grid {
    gap: .85rem;
}
.pg-quote-form .pg-form-row-2 {
    grid-template-columns: 1fr 1fr;
    gap: .85rem;
}
.pg-quote-form .pg-input,
.pg-quote-form .pg-textarea {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    color: #fff;
    padding: .9rem 1rem;
    font-size: .9rem;
    border-radius: 4px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
    transition: border-color .3s, background .3s, box-shadow .3s;
}
.pg-quote-form .pg-textarea {
    min-height: 96px;
}
.pg-quote-form .pg-input::placeholder,
.pg-quote-form .pg-textarea::placeholder {
    color: rgba(255,255,255,.42);
}
.pg-quote-form .pg-input:focus,
.pg-quote-form .pg-textarea:focus {
    background: rgba(255,255,255,.09);
    border-color: rgba(241,103,36,.55);
    box-shadow: 0 0 0 3px rgba(241,103,36,.14);
}
.pg-quote-form .pg-submit-btn {
    margin-top: .2rem;
    padding: .95rem 1.3rem;
    font-size: .9rem;
}
.pg-quote-call {
    display: flex;
    align-items: center;
    gap: .65rem;
    margin-top: 1rem;
    padding: .8rem .95rem;
    border: 1px solid rgba(241,103,36,.35);
    background: linear-gradient(120deg, rgba(241,103,36,.16), rgba(241,103,36,.06));
    color: #ffd2b3;
    font-size: .84rem;
    transition: background .3s, color .3s, border-color .3s, transform .3s;
}
.pg-quote-call:hover {
    background: var(--pg-orange);
    border-color: var(--pg-orange);
    color: #fff;
    transform: translateY(-2px);
}
body.pg-quote-open {
    overflow: auto;
}

/* =========================================================
   PREMIUM OFFER POPUP - visual left / form right
   ========================================================= */
.pg-offer-overlay {
    position: fixed;
    inset: 0;
    z-index: 1200;
    background:
        radial-gradient(ellipse at 50% 40%, rgba(241, 103, 36, .18), transparent 55%),
        rgba(8, 6, 5, .72);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .35s ease, visibility .35s ease;
}
.pg-offer-overlay.is-open {
    opacity: 1;
    visibility: visible;
}
.pg-offer-modal {
    position: fixed;
    left: 50%;
    top: 50%;
    z-index: 1201;
    width: min(980px, calc(100vw - 1.5rem));
    max-height: min(86vh, 560px);
    transform: translate(-50%, -46%) scale(.94);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
        opacity .4s cubic-bezier(.22, 1, .36, 1),
        transform .45s cubic-bezier(.22, 1, .36, 1),
        visibility .4s;
}
.pg-offer-modal.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, -50%) scale(1);
}
.pg-offer-shell {
    position: relative;
    height: min(86vh, 560px);
    border-radius: 30px;
    overflow: hidden;
    background: #0b0b0b;
    box-shadow:
        0 60px 130px rgba(0, 0, 0, .6),
        0 0 0 1px rgba(255, 214, 120, .4),
        0 0 90px rgba(241, 103, 36, .24);
}
.pg-offer-shell-ring {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12);
    z-index: 7;
}
.pg-offer-shell-shine {
    position: absolute;
    top: -30%;
    right: -10%;
    width: 55%;
    height: 70%;
    z-index: 6;
    pointer-events: none;
    background: radial-gradient(circle, rgba(255, 210, 140, .12), transparent 68%);
}
.pg-offer-body {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    height: 100%;
    align-items: stretch;
}
.pg-offer-visual {
    position: relative;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    background: #f5c400;
}
.pg-offer-visual img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
    transform: scale(1.04);
    transition: transform 1.15s cubic-bezier(.22, 1, .36, 1);
}
.pg-offer-modal.is-open .pg-offer-visual img {
    transform: scale(1);
}
.pg-offer-visual-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, transparent 58%, rgba(10, 8, 6, .42)),
        linear-gradient(180deg, transparent 74%, rgba(0, 0, 0, .22));
    pointer-events: none;
}
.pg-offer-visual-frame {
    position: absolute;
    inset: .9rem;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 20px;
    pointer-events: none;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08);
}
.pg-offer-visual-chip {
    position: absolute;
    left: 1.2rem;
    bottom: 1.2rem;
    z-index: 2;
    display: flex;
    align-items: baseline;
    gap: .45rem;
    padding: .55rem .9rem .55rem .8rem;
    border-radius: 999px;
    background: rgba(12, 10, 8, .8);
    color: #fff;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .32);
    border: 1px solid rgba(255, 220, 150, .4);
}
.pg-offer-visual-chip strong {
    font-family: var(--font-display);
    font-size: 1.35rem;
    line-height: 1;
    color: #ffd36a;
    letter-spacing: -.02em;
}
.pg-offer-visual-chip span {
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    opacity: .92;
}
.pg-offer-form-side {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 1.05rem;
    height: 100%;
    min-height: 0;
    padding: 2.15rem 2rem 2rem 1.85rem;
    overflow: hidden;
    color: #f4ebe3;
    background:
        radial-gradient(ellipse at 90% 0%, rgba(241, 103, 36, .32), transparent 44%),
        radial-gradient(ellipse at 0% 100%, rgba(255, 196, 60, .1), transparent 42%),
        linear-gradient(155deg, #1c1511 0%, #12100d 52%, #0a0908 100%);
}
.pg-offer-form-side::before {
    content: "";
    position: absolute;
    inset: 1.25rem auto 1.25rem 0;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, #ffd36a, var(--pg-orange), #ff7a3d);
    box-shadow: 0 0 24px rgba(241, 103, 36, .6);
}
.pg-offer-form-side::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .035), transparent 22%),
        radial-gradient(circle at 78% 18%, rgba(255, 255, 255, .05), transparent 36%);
}
.pg-offer-close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 8;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .18);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .28);
    cursor: pointer;
    transition: background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}
.pg-offer-close:hover {
    background: var(--pg-orange);
    border-color: var(--pg-orange);
    color: #fff;
    transform: rotate(90deg);
}
.pg-offer-card-head {
    position: relative;
    z-index: 1;
    text-align: left;
    padding: 0 1.35rem 0 .45rem;
}
.pg-offer-card-head .pg-eyebrow {
    margin-bottom: .45rem;
    color: #ffb35a;
    letter-spacing: .16em;
}
.pg-offer-card-head h3 {
    margin: 0 0 .55rem;
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 2.6vw, 2.25rem);
    line-height: 1.06;
    color: #fffaf4;
    letter-spacing: -.03em;
    text-shadow: 0 12px 34px rgba(0, 0, 0, .4);
}
.pg-offer-note {
    margin: 0;
    max-width: 38ch;
    font-size: .88rem;
    line-height: 1.55;
    color: rgba(244, 235, 227, .7);
}
.pg-offer-note strong {
    color: #ff8a4a;
}
.pg-offer-form {
    position: relative;
    z-index: 1;
    padding: 0 .45rem;
}
.pg-offer-form .pg-form-grid {
    gap: .72rem;
}
.pg-offer-form .pg-form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .65rem;
}
.pg-offer-form .pg-input,
.pg-offer-form .pg-textarea {
    width: 100%;
    border: 1px solid rgba(255, 214, 160, .18);
    background: rgba(255, 255, 255, .055);
    border-radius: 14px;
    padding: .78rem .95rem;
    font-size: .9rem;
    color: #fffaf4;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.pg-offer-form .pg-input::placeholder,
.pg-offer-form .pg-textarea::placeholder {
    color: rgba(244, 235, 227, .42);
}
.pg-offer-form .pg-textarea {
    min-height: 58px;
    max-height: 58px;
    resize: none;
}
.pg-offer-form .pg-input:focus,
.pg-offer-form .pg-textarea:focus {
    outline: none;
    border-color: rgba(241, 103, 36, .75);
    background: rgba(255, 255, 255, .09);
    box-shadow: 0 0 0 3px rgba(241, 103, 36, .2);
}
.pg-offer-form .pg-submit-btn {
    width: 100%;
    margin-top: .15rem;
    border: 0;
    color: #1a1008;
    font-weight: 800;
    background: linear-gradient(180deg, #ffe08a, #ffb84a 40%, var(--pg-orange) 78%, #d14e18);
    box-shadow:
        0 18px 36px rgba(241, 103, 36, .42),
        inset 0 1px 0 rgba(255, 255, 255, .45);
    letter-spacing: .06em;
}
.pg-offer-form .pg-submit-btn:hover {
    filter: brightness(1.06);
    transform: translateY(-2px);
}
body.pg-offer-open {
    overflow: hidden;
}

@media (max-width: 899.98px) {
    .pg-offer-modal {
        width: min(520px, calc(100vw - 1.25rem));
        max-height: min(88vh, 720px);
        top: auto;
        bottom: .85rem;
        transform: translate(-50%, 18px) scale(.96);
    }
    .pg-offer-modal.is-open {
        transform: translate(-50%, 0) scale(1);
    }
    .pg-offer-shell {
        height: auto;
        max-height: min(88vh, 720px);
        border-radius: 24px;
        overflow: hidden;
    }
    .pg-offer-body {
        grid-template-columns: 1fr;
        grid-template-rows: 200px auto;
        height: auto;
        max-height: none;
    }
    .pg-offer-visual {
        height: 200px;
    }
    .pg-offer-visual-frame {
        inset: .65rem;
        border-radius: 14px;
    }
    .pg-offer-visual-chip {
        left: .85rem;
        bottom: .85rem;
        padding: .42rem .7rem;
    }
    .pg-offer-visual-chip strong {
        font-size: 1.1rem;
    }
    .pg-offer-form-side {
        height: auto;
        max-height: none;
        overflow: hidden;
        padding: 1.4rem 1.2rem 1.35rem;
        justify-content: flex-start;
        gap: .85rem;
    }
    .pg-offer-form-side::before {
        display: none;
    }
    .pg-offer-card-head {
        padding: 0;
    }
    .pg-offer-form {
        padding: 0;
    }
    .pg-offer-close {
        top: .7rem;
        right: .7rem;
        background: rgba(12, 10, 8, .55);
        color: #fff;
        border-color: rgba(255, 255, 255, .2);
    }
    .pg-offer-form .pg-form-row-2 {
        grid-template-columns: 1fr;
    }
    .pg-offer-form .pg-textarea {
        min-height: 54px;
        max-height: 54px;
    }
}

@media (max-width: 575.98px) {
    .pg-quote-panel {
        right: .65rem;
        width: calc(100vw - 1.3rem);
    }
    .pg-quote-form .pg-form-row-2 {
        grid-template-columns: 1fr;
    }
}

/* Footer center Call CTA */
.pg-footer-call {
    margin: 0 0 3rem;
}
.pg-footer-call-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.6rem 1.75rem;
    background:
        linear-gradient(120deg, rgba(241,103,36,.18), rgba(255,255,255,.04) 45%, rgba(241,103,36,.1));
    border: 1px solid rgba(255,255,255,.1);
    box-shadow: 0 24px 50px rgba(0,0,0,.22);
}
.pg-footer-call-copy h3 {
    color: #fff;
    margin: 0 0 .35rem;
    font-size: clamp(1.35rem, 2.4vw, 1.85rem);
}
.pg-footer-call-copy p {
    margin: 0;
    color: rgba(255,255,255,.68);
    max-width: 42ch;
}
.pg-footer-call-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .85rem;
    padding: .7rem 1.2rem .7rem .7rem;
    border-radius: 999px;
    background: var(--pg-orange);
    color: #fff;
    box-shadow: 0 16px 36px rgba(241,103,36,.35);
    transition: transform .35s var(--ease-out), background .35s, box-shadow .35s;
    flex-shrink: 0;
}
.pg-footer-call-btn:hover {
    transform: translateY(-3px);
    background: #ff7a35;
    box-shadow: 0 20px 44px rgba(241,103,36,.45);
}
.pg-footer-call-ico {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.18);
    font-size: 1.05rem;
}
.pg-footer-call-meta {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
}
.pg-footer-call-meta small {
    font-size: .68rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    opacity: .9;
}
.pg-footer-call-meta strong {
    font-size: 1.05rem;
}
.pg-footer-call-pulse {
    position: absolute;
    inset: -4px;
    border-radius: 999px;
    border: 1px solid rgba(241,103,36,.45);
    animation: callPulse 2.2s ease-out infinite;
    pointer-events: none;
}
@keyframes callPulse {
    0% { transform: scale(.96); opacity: .8; }
    100% { transform: scale(1.12); opacity: 0; }
}

.pg-submit-btn {
    transition: background .35s var(--ease-out), box-shadow .35s, transform .35s, filter .35s;
}
.pg-submit-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.05);
}

/* =========================================================
   FAQS
   ========================================================= */
.pg-faqs {
    position: relative;
    overflow: hidden;
    padding: 4.5rem 0 4rem;
    background: #f7f2ea;
}
.pg-faqs-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
.pg-faqs-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(48px);
}
.pg-faqs-orb.o1 {
    width: 280px;
    height: 280px;
    left: -80px;
    top: 10%;
    background: rgba(241,103,36,.12);
}
.pg-faqs-orb.o2 {
    width: 220px;
    height: 220px;
    right: -60px;
    bottom: 8%;
    background: rgba(241,103,36,.1);
}
.pg-faqs-rule {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(241,103,36,.45), transparent);
}
.pg-faqs .container { position: relative; z-index: 1; }
.pg-faqs .pg-section-head { margin-bottom: 2.5rem; }
.pg-faq-list {
    max-width: 860px;
    margin: 0 auto 2.25rem;
    display: grid;
    gap: .75rem;
}
.pg-faq-item {
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(22,22,22,.08);
    box-shadow: 0 12px 28px rgba(80,40,10,.04);
    overflow: hidden;
    transition: border-color .3s, box-shadow .3s;
}
.pg-faq-item.is-open {
    border-color: rgba(241,103,36,.35);
    box-shadow: 0 16px 36px rgba(241,103,36,.1);
}
.pg-faq-q {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    font-family: var(--font-body);
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--pg-ink);
    line-height: 1.35;
}
.pg-faq-q i {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(241,103,36,.1);
    color: var(--pg-orange);
    font-size: .78rem;
    transition: transform .35s var(--ease-out), background .3s, color .3s;
}
.pg-faq-item.is-open .pg-faq-q i {
    transform: rotate(45deg);
    background: var(--pg-orange);
    color: #fff;
}
.pg-faq-a {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows .4s var(--ease-out);
}
.pg-faq-item.is-open .pg-faq-a {
    grid-template-rows: 1fr;
}
.pg-faq-a > p {
    overflow: hidden;
    margin: 0;
    padding: 0 1.25rem;
    color: #6b635a;
    font-size: .95rem;
    line-height: 1.7;
}
.pg-faq-item.is-open .pg-faq-a > p {
    padding-bottom: 1.2rem;
}
.pg-faqs .pg-section-actions {
    margin-top: .5rem;
}


/* =========================================================
   INNER PAGE HERO + ABOUT US PAGE (premium)
   ========================================================= */
.pg-page-hero {
    position: relative;
    overflow: hidden;
    min-height: clamp(460px, 68vh, 620px);
    display: flex;
    align-items: center;
    padding: calc(var(--shell-h) + 4.75rem) 0 5.5rem;
}
.pg-about-hero {
    color: var(--pg-ink);
    background:
        radial-gradient(ellipse at 78% 8%, rgba(241, 103, 36, .13), transparent 40%),
        radial-gradient(ellipse at 14% 86%, rgba(255, 170, 90, .11), transparent 38%),
        radial-gradient(ellipse at 50% 40%, rgba(255, 255, 255, .55), transparent 55%),
        linear-gradient(180deg, transparent 55%, rgba(70, 48, 28, .1) 82%, rgba(55, 38, 22, .16) 100%),
        linear-gradient(165deg, #f6f3ee 0%, #efe8df 45%, #e9e1d6 100%);
}
.pg-about-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 140px;
    pointer-events: none;
    background: linear-gradient(180deg, transparent 0%, rgba(90, 60, 35, .08) 45%, rgba(55, 38, 22, .18) 100%);
    z-index: 2;
}
.pg-page-hero-wash {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(40, 28, 18, .028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(40, 28, 18, .028) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse at 50% 42%, #000 18%, transparent 68%);
    opacity: .85;
}
.pg-page-hero-glow {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.pg-about-hero .pg-page-hero-glow.g1 {
    width: 520px;
    height: 520px;
    right: -140px;
    top: -100px;
    background: radial-gradient(circle, rgba(241, 103, 36, .2), transparent 68%);
    animation: pgAboutGlowPulse 7s ease-in-out infinite;
}
.pg-about-hero .pg-page-hero-glow.g2 {
    width: 360px;
    height: 360px;
    left: -90px;
    bottom: -120px;
    background: radial-gradient(circle, rgba(255, 180, 80, .18), transparent 70%);
}
.pg-about-hero .pg-page-hero-glow.g3 {
    width: 220px;
    height: 220px;
    left: 50%;
    top: 18%;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(255, 228, 180, .28), transparent 70%);
}
@keyframes pgAboutGlowPulse {
    0%, 100% { opacity: .72; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.07); }
}
.pg-about-hero .pg-page-hero-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(241, 103, 36, .14);
    pointer-events: none;
    left: 50%;
    top: 52%;
    transform: translate(-50%, -50%);
}
.pg-about-hero .pg-page-hero-ring.r1 {
    width: min(720px, 88vw);
    height: min(720px, 88vw);
    animation: pgAboutRingPulse 10s ease-in-out infinite;
}
.pg-about-hero .pg-page-hero-ring.r2 {
    width: min(520px, 70vw);
    height: min(520px, 70vw);
    border-color: rgba(180, 110, 40, .12);
    animation: pgAboutRingPulse 12s ease-in-out infinite reverse;
}
.pg-about-hero .pg-page-hero-ring.r3 {
    width: min(340px, 52vw);
    height: min(340px, 52vw);
    border-style: dashed;
    border-color: rgba(241, 103, 36, .18);
    animation: pgAboutRing 28s linear infinite;
}
@keyframes pgAboutRing {
    to { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes pgAboutRingPulse {
    0%, 100% { opacity: .55; transform: translate(-50%, -50%) scale(1); }
    50% { opacity: .95; transform: translate(-50%, -50%) scale(1.03); }
}
.pg-about-hero .pg-page-hero-dot {
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--pg-orange);
    opacity: .4;
    pointer-events: none;
    box-shadow: 0 0 0 6px rgba(241, 103, 36, .08);
    animation: pgAboutDotFloat 5.5s ease-in-out infinite;
}
.pg-about-hero .pg-page-hero-dot.d1 { left: 14%; top: 34%; }
.pg-about-hero .pg-page-hero-dot.d2 { right: 16%; top: 42%; width: 6px; height: 6px; opacity: .28; animation-delay: -1.4s; }
.pg-about-hero .pg-page-hero-dot.d3 { left: 22%; bottom: 22%; width: 5px; height: 5px; opacity: .22; animation-delay: -2.6s; }
@keyframes pgAboutDotFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}
.pg-about-hero .pg-page-hero-mark {
    position: absolute;
    right: 7%;
    top: 28%;
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(241, 103, 36, .18);
    color: var(--pg-orange);
    font-size: 1.15rem;
    box-shadow: 0 18px 40px rgba(90, 40, 10, .08);
    pointer-events: none;
    z-index: 1;
    animation: pgAboutMarkFloat 6s ease-in-out infinite;
}
.pg-about-hero .pg-page-hero-mark::before {
    content: "";
    position: absolute;
    inset: -10px;
    border-radius: 50%;
    border: 1px dashed rgba(241, 103, 36, .22);
}
@keyframes pgAboutMarkFloat {
    0%, 100% { transform: translateY(0) rotate(-8deg); }
    50% { transform: translateY(-12px) rotate(-2deg); }
}
.pg-about-hero .pg-page-hero-frame {
    position: absolute;
    inset: 1.2rem 2.2%;
    pointer-events: none;
    z-index: 1;
}
.pg-about-hero .pg-page-hero-frame .pf {
    position: absolute;
    width: 52px;
    height: 52px;
    border: 1.5px solid rgba(241, 103, 36, .32);
}
.pg-about-hero .pf-tl { top: 0; left: 0; border-right: 0; border-bottom: 0; }
.pg-about-hero .pf-tr { top: 0; right: 0; border-left: 0; border-bottom: 0; }
.pg-about-hero .pf-bl { bottom: 0; left: 0; border-right: 0; border-top: 0; }
.pg-about-hero .pf-br { bottom: 0; right: 0; border-left: 0; border-top: 0; }
.pg-about-hero .container { position: relative; z-index: 3; }
.pg-about-hero .pg-page-hero-inner {
    position: relative;
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    padding: 0;
}
.pg-about-hero .pg-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 1rem;
    padding: 0 0 0 2.4rem;
    color: #7a4a28;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.pg-about-hero .pg-eyebrow::before {
    left: 0;
    width: 1.8rem;
    background: linear-gradient(90deg, var(--pg-orange), #ffb35a);
}
.pg-about-hero h1 {
    margin: 0 0 .85rem;
    font-family: var(--font-display);
    font-size: clamp(2.65rem, 5.6vw, 4.05rem);
    line-height: 1.04;
    letter-spacing: -.04em;
    font-weight: 700;
    color: #17120e;
    text-wrap: balance;
}
.pg-about-hero h1 em {
    font-style: italic;
    color: var(--pg-orange);
    background: linear-gradient(120deg, #f16724, #ff9a4a 55%, #f16724);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.pg-about-hero .pg-page-hero-flourish {
    display: block;
    width: 86px;
    height: 14px;
    margin: 0 auto 1.15rem;
    background:
        radial-gradient(circle at 50% 50%, var(--pg-orange) 0 2.5px, transparent 3px),
        linear-gradient(90deg, transparent, rgba(241, 103, 36, .55) 22%, rgba(241, 103, 36, .55) 78%, transparent);
    background-size: 100% 100%, 100% 1.5px;
    background-position: center, center;
    background-repeat: no-repeat;
}
.pg-about-hero .pg-page-hero-divider {
    display: none;
}
.pg-about-hero .pg-page-hero-lead {
    margin: 0 auto 1.45rem;
    max-width: 46ch;
    font-size: 1.08rem;
    line-height: 1.72;
    color: #5a5046;
}
.pg-about-hero .pg-page-hero-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .6rem .7rem;
    margin: 0 0 1.65rem;
}
.pg-about-hero .pg-page-hero-chips span {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .48rem .95rem .48rem .48rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .9);
    border: 1px solid rgba(40, 28, 18, .07);
    color: #2a221a;
    font-size: .78rem;
    font-weight: 650;
    letter-spacing: .02em;
    box-shadow: 0 10px 26px rgba(90, 40, 10, .07);
    transition: transform .3s ease, box-shadow .3s ease;
}
.pg-about-hero .pg-page-hero-chips span:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(90, 40, 10, .1);
}
.pg-about-hero .pg-page-hero-chips i {
    width: 1.7rem;
    height: 1.7rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(241, 103, 36, .1);
    color: var(--pg-orange);
    font-size: .72rem;
}
.pg-about-hero .pg-page-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .85rem;
}
.pg-about-hero .pg-page-hero-actions .pg-btn-primary {
    box-shadow: 0 14px 32px rgba(241, 103, 36, .3);
}
.pg-about-hero .pg-page-hero-actions .pg-btn-chat {
    --pg-btn-face: #1c1814;
    --pg-btn-arrow-ink: #1c1814;
    --pg-btn-shadow: 0 14px 32px rgba(20, 14, 10, .18);
}

/* Rich elegant light banner - slightly deeper cream so it separates from story */
.pg-about-hero.is-rich {
    color: var(--pg-ink);
    min-height: clamp(540px, 80vh, 720px);
    padding: calc(var(--shell-h) + 3.5rem) 0 4.5rem;
    background:
        radial-gradient(ellipse 55% 50% at 90% 8%, rgba(241, 103, 36, .14), transparent 58%),
        radial-gradient(ellipse 42% 45% at 6% 90%, rgba(255, 160, 80, .1), transparent 55%),
        radial-gradient(ellipse 35% 30% at 48% 35%, rgba(255, 255, 255, .35), transparent 60%),
        linear-gradient(165deg, #efe8dc 0%, #e9e0d2 45%, #e2d8c8 100%);
    box-shadow: inset 0 -1px 0 rgba(90, 50, 20, .06);
    overflow: hidden;
}
.pg-about-hero.is-rich::after { display: none; }
.pg-about-hero.is-rich .pg-page-hero-wash {
    opacity: .4;
    background-image:
        linear-gradient(rgba(241, 103, 36, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(241, 103, 36, .05) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(ellipse at 70% 45%, #000 15%, transparent 72%);
}
.pg-about-hero.is-rich .container { position: relative; z-index: 5; }
.pg-about-hero.is-rich .pg-page-hero-inner,
.pg-about-hero.is-rich .pg-page-hero-visual {
    position: relative;
    z-index: 2;
}

/* Keep busy ornaments out of the text column on typical laptop widths */
@media (max-width: 1499.98px) {
    .pg-about-hero.is-rich .pg-page-hero-vectors,
    .pg-about-hero.is-rich .pg-page-hero-float,
    .pg-about-hero.is-rich .pg-page-hero-x,
    .pg-about-hero.is-rich .pg-page-hero-zig,
    .pg-about-hero.is-rich .pg-page-hero-dots,
    .pg-about-hero.is-rich .pg-page-hero-spark,
    .pg-about-hero.is-rich .pg-page-hero-line,
    .pg-about-hero.is-rich .pg-page-hero-arc,
    .pg-about-hero.is-rich .pg-page-hero-ringlet,
    .pg-about-hero.is-rich .pg-page-hero-orb {
        display: none !important;
    }
    .pg-about-hero.is-rich .pg-page-hero-blob.bl1 {
        left: -120px;
        top: 55%;
        opacity: .35;
    }
    .pg-about-hero.is-rich .pg-page-hero-glow-soft.gs1 {
        opacity: .55;
        right: -100px;
        top: -80px;
    }
    .pg-about-hero.is-rich .pg-page-hero-glow-soft.gs2 {
        opacity: .4;
        left: -120px;
    }
    .pg-about-hero.is-rich .pg-page-hero-ribbon.rib-sm {
        display: none !important;
    }
    .pg-about-hero.is-rich .pg-page-hero-ribbon.rib-tr {
        right: -14%;
        top: 18%;
        opacity: .55;
    }
    .pg-about-hero.is-rich .pg-page-hero-ribbon.rib-bl {
        left: -16%;
        bottom: 6%;
        opacity: .5;
    }
    .pg-about-hero.is-rich .pg-page-hero-wash {
        opacity: .22;
    }
}

/* Wide desktop: keep ornaments but clear of copy + header */
@media (min-width: 1500px) {
    .pg-page-hero-vectors {
        z-index: 0;
        mask-image: radial-gradient(ellipse 42% 55% at 22% 48%, transparent 0%, transparent 55%, #000 78%);
        -webkit-mask-image: radial-gradient(ellipse 42% 55% at 22% 48%, transparent 0%, transparent 55%, #000 78%);
    }
    .pg-hv.hv-book {
        left: auto;
        right: 8%;
        top: 22%;
    }
    .pg-hv.hv-feather {
        left: -1%;
        top: 62%;
        opacity: .4;
    }
    .pg-hv.hv-star {
        left: 8%;
        top: 72%;
        opacity: .45;
    }
    .pg-hv.hv-quote {
        left: auto;
        right: 42%;
        bottom: 12%;
    }
    .pg-page-hero-orb.orb1 {
        left: -3%;
        top: 58%;
        opacity: .35;
    }
    .pg-page-hero-orb.orb4 {
        right: 8%;
        top: 20%;
    }
    .pg-page-hero-dots.dots-a {
        left: 1%;
        top: 58%;
    }
    .pg-page-hero-dots.dots-c {
        left: auto;
        right: 36%;
        top: 16%;
    }
    .pg-page-hero-x.x1,
    .pg-page-hero-x.x2,
    .pg-page-hero-zig.zag1,
    .pg-page-hero-zig.zag2 {
        opacity: .35;
    }
    .pg-page-hero-x.x1 { right: 36%; top: 28%; }
    .pg-page-hero-x.x2 { left: 8%; bottom: 18%; }
}

.pg-page-hero-glow-soft {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(50px);
    animation: pgHeroGlowDrift 14s ease-in-out infinite;
}
.pg-page-hero-glow-soft.gs1 {
    width: 380px;
    height: 380px;
    right: -60px;
    top: -40px;
    background: rgba(241, 103, 36, .22);
}
.pg-page-hero-glow-soft.gs2 {
    width: 280px;
    height: 280px;
    left: -80px;
    bottom: -40px;
    background: rgba(255, 180, 100, .16);
    animation-duration: 18s;
    animation-direction: reverse;
}
@keyframes pgHeroGlowDrift {
    0%, 100% { transform: translate(0, 0) scale(1); opacity: .85; }
    50% { transform: translate(-28px, 22px) scale(1.12); opacity: 1; }
}

/* Soft orange orbs that float forever */
.pg-page-hero-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    background: radial-gradient(circle at 35% 30%, rgba(255, 190, 120, .9), rgba(241, 103, 36, .55) 45%, transparent 72%);
    filter: blur(1px);
    animation: pgHeroOrbFloat 12s ease-in-out infinite;
}
.pg-page-hero-orb.orb1 {
    width: 120px;
    height: 120px;
    left: 6%;
    top: 22%;
    opacity: .55;
}
.pg-page-hero-orb.orb2 {
    width: 88px;
    height: 88px;
    right: 10%;
    top: 58%;
    opacity: .5;
    animation-duration: 15s;
    animation-delay: -3s;
}
.pg-page-hero-orb.orb3 {
    width: 64px;
    height: 64px;
    left: 42%;
    bottom: 12%;
    opacity: .45;
    animation-duration: 10s;
    animation-delay: -5s;
}
.pg-page-hero-orb.orb4 {
    width: 48px;
    height: 48px;
    right: 38%;
    top: 14%;
    opacity: .4;
    animation-duration: 13s;
    animation-delay: -7s;
}
@keyframes pgHeroOrbFloat {
    0%, 100% { transform: translate(0, 0) scale(1); }
    25% { transform: translate(18px, -22px) scale(1.08); }
    50% { transform: translate(-12px, 16px) scale(.94); }
    75% { transform: translate(22px, 10px) scale(1.05); }
}

/* Small drifting particles */
.pg-page-hero-float {
    position: absolute;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 1;
    background: #f16724;
    box-shadow: 0 0 12px rgba(241, 103, 36, .55);
    animation: pgHeroParticle 9s ease-in-out infinite;
}
.pg-page-hero-float.fl1 { left: 12%; top: 30%; animation-duration: 8s; }
.pg-page-hero-float.fl2 { left: 28%; top: 68%; width: 5px; height: 5px; opacity: .7; animation-duration: 11s; animation-delay: -2s; }
.pg-page-hero-float.fl3 { right: 24%; top: 22%; width: 6px; height: 6px; animation-duration: 10s; animation-delay: -4s; background: #ff9a3c; }
.pg-page-hero-float.fl4 { right: 8%; top: 44%; width: 4px; height: 4px; opacity: .65; animation-duration: 12s; animation-delay: -1s; }
.pg-page-hero-float.fl5 { left: 55%; top: 18%; width: 5px; height: 5px; animation-duration: 9.5s; animation-delay: -6s; background: #ffb35a; }
.pg-page-hero-float.fl6 { left: 62%; bottom: 24%; width: 6px; height: 6px; animation-duration: 13s; animation-delay: -3.5s; }
@keyframes pgHeroParticle {
    0%, 100% { transform: translate(0, 0); opacity: .35; }
    20% { transform: translate(14px, -28px); opacity: .95; }
    45% { transform: translate(-18px, -48px); opacity: .6; }
    70% { transform: translate(10px, -72px); opacity: .9; }
    100% { transform: translate(0, -90px); opacity: .2; }
}

/* Soft morphing blobs */
.pg-page-hero-blob {
    position: absolute;
    pointer-events: none;
    z-index: 0;
    border-radius: 42% 58% 55% 45% / 48% 42% 58% 52%;
    background: radial-gradient(circle at 40% 40%, rgba(255, 170, 90, .35), rgba(241, 103, 36, .12) 60%, transparent 75%);
    filter: blur(18px);
    animation: pgHeroBlob 16s ease-in-out infinite;
}
.pg-page-hero-blob.bl1 {
    width: 260px;
    height: 220px;
    left: -40px;
    top: 40%;
}
.pg-page-hero-blob.bl2 {
    width: 220px;
    height: 200px;
    right: 5%;
    bottom: 8%;
    animation-duration: 20s;
    animation-direction: reverse;
}
@keyframes pgHeroBlob {
    0%, 100% {
        transform: translate(0, 0) rotate(0deg);
        border-radius: 42% 58% 55% 45% / 48% 42% 58% 52%;
    }
    33% {
        transform: translate(24px, -18px) rotate(8deg);
        border-radius: 58% 42% 48% 52% / 42% 55% 45% 58%;
    }
    66% {
        transform: translate(-16px, 20px) rotate(-6deg);
        border-radius: 48% 52% 42% 58% / 55% 45% 58% 42%;
    }
}

/* Animated SVG writing vectors */
.pg-page-hero-vectors {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    overflow: hidden;
}
.pg-hv {
    position: absolute;
    opacity: .55;
    filter: drop-shadow(0 6px 14px rgba(241, 103, 36, .18));
    will-change: transform, opacity;
}
.pg-hv.hv-feather {
    width: 72px;
    height: 72px;
    left: 4%;
    top: 38%;
    opacity: .62;
    animation: pgHvFloat 11s ease-in-out infinite;
}
.pg-hv.hv-pen {
    width: 54px;
    height: 54px;
    right: 6%;
    top: 28%;
    opacity: .58;
    animation: pgHvTilt 9s ease-in-out infinite;
}
.pg-hv.hv-book {
    width: 64px;
    height: 54px;
    left: 38%;
    top: 10%;
    opacity: .48;
    animation: pgHvFloat 13s ease-in-out infinite reverse;
}
.pg-hv.hv-ink {
    width: 44px;
    height: 52px;
    right: 32%;
    bottom: 14%;
    opacity: .52;
    animation: pgHvBob 8s ease-in-out infinite;
}
.pg-hv.hv-star {
    width: 36px;
    height: 36px;
    left: 22%;
    top: 16%;
    opacity: .7;
    animation: pgHvSpin 14s linear infinite;
}
.pg-hv.hv-scroll {
    width: 58px;
    height: 44px;
    right: 18%;
    top: 62%;
    opacity: .5;
    animation: pgHvFloat 12s ease-in-out infinite;
    animation-delay: -3s;
}
.pg-hv.hv-quote {
    width: 40px;
    height: 32px;
    left: 48%;
    bottom: 28%;
    opacity: .45;
    animation: pgHvBob 7s ease-in-out infinite reverse;
}
.pg-hv.hv-leaf {
    width: 48px;
    height: 56px;
    left: 14%;
    bottom: 18%;
    opacity: .5;
    animation: pgHvSway 10s ease-in-out infinite;
}
@keyframes pgHvFloat {
    0%, 100% { transform: translate(0, 0) rotate(-6deg); }
    50% { transform: translate(12px, -18px) rotate(6deg); }
}
@keyframes pgHvTilt {
    0%, 100% { transform: translate(0, 0) rotate(12deg); }
    50% { transform: translate(-10px, 14px) rotate(-8deg); }
}
@keyframes pgHvBob {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-16px) scale(1.06); }
}
@keyframes pgHvSpin {
    0% { transform: rotate(0deg) scale(1); opacity: .45; }
    50% { transform: rotate(180deg) scale(1.12); opacity: .85; }
    100% { transform: rotate(360deg) scale(1); opacity: .45; }
}
@keyframes pgHvSway {
    0%, 100% { transform: rotate(-10deg) translateX(0); }
    50% { transform: rotate(8deg) translateX(10px); }
}

/* Soft layered orange ribbons */
.pg-page-hero-ribbon {
    position: absolute;
    z-index: 1;
    pointer-events: none;
    width: min(400px, 46vw);
    height: 56px;
    border-radius: 999px;
    background: linear-gradient(90deg, #ff9a3c 0%, #f16724 42%, #ffb35a 100%);
    box-shadow:
        0 16px 36px rgba(241, 103, 36, .22),
        0 8px 18px rgba(90, 40, 10, .08);
    opacity: .95;
    animation: pgHeroRibbonSway 9s ease-in-out infinite;
}
.pg-page-hero-ribbon::before,
.pg-page-hero-ribbon::after {
    content: "";
    position: absolute;
    left: 5%;
    right: 5%;
    height: 34px;
    border-radius: inherit;
    background: inherit;
}
.pg-page-hero-ribbon::before { top: -22px; opacity: .78; }
.pg-page-hero-ribbon::after { bottom: -22px; opacity: .48; filter: brightness(1.08); }
.pg-page-hero-ribbon.rib-tr {
    right: -7%;
    top: 12%;
    --rib-rot: -20deg;
    transform: rotate(var(--rib-rot));
}
.pg-page-hero-ribbon.rib-bl {
    left: -9%;
    bottom: 10%;
    width: min(320px, 40vw);
    height: 46px;
    --rib-rot: 16deg;
    transform: rotate(var(--rib-rot));
    animation-duration: 11s;
    animation-delay: -2s;
}
.pg-page-hero-ribbon.rib-sm {
    right: 18%;
    bottom: 22%;
    width: min(160px, 22vw);
    height: 22px;
    --rib-rot: -12deg;
    transform: rotate(var(--rib-rot));
    opacity: .7;
    box-shadow: 0 10px 24px rgba(241, 103, 36, .22);
    animation-duration: 8s;
    animation-delay: -4s;
}
.pg-page-hero-ribbon.rib-sm::before,
.pg-page-hero-ribbon.rib-sm::after { height: 14px; }
.pg-page-hero-ribbon.rib-sm::before { top: -12px; }
.pg-page-hero-ribbon.rib-sm::after { bottom: -12px; }
@keyframes pgHeroRibbonSway {
    0%, 100% { transform: rotate(var(--rib-rot, 0deg)) translateY(0); }
    50% { transform: rotate(calc(var(--rib-rot, 0deg) + 3deg)) translateY(8px); }
}

.pg-page-hero-arc {
    position: absolute;
    border-radius: 50%;
    border: 2px solid rgba(241, 103, 36, .35);
    pointer-events: none;
    z-index: 1;
    animation: pgHeroArcPulse 7s ease-in-out infinite;
}
.pg-page-hero-arc.a1 {
    width: 180px;
    height: 180px;
    right: 8%;
    top: 42%;
    border-left-color: transparent;
    border-bottom-color: transparent;
    --arc-rot: 25deg;
    transform: rotate(var(--arc-rot));
}
.pg-page-hero-arc.a2 {
    width: 110px;
    height: 110px;
    left: 10%;
    top: 36%;
    border-right-color: transparent;
    border-top-color: transparent;
    border-color: rgba(255, 170, 90, .4);
    --arc-rot: -10deg;
    transform: rotate(var(--arc-rot));
    animation-duration: 9s;
    animation-delay: -2s;
}
@keyframes pgHeroArcPulse {
    0%, 100% { transform: rotate(var(--arc-rot, 0deg)) scale(1); opacity: .7; }
    50% { transform: rotate(calc(var(--arc-rot, 0deg) + 12deg)) scale(1.06); opacity: 1; }
}

.pg-page-hero-ringlet {
    position: absolute;
    border-radius: 50%;
    border: 1.5px dashed rgba(241, 103, 36, .4);
    pointer-events: none;
    z-index: 1;
    animation: pgHeroRingSpin 28s linear infinite;
}
.pg-page-hero-ringlet.rl1 {
    width: 90px;
    height: 90px;
    right: 42%;
    top: 18%;
}
.pg-page-hero-ringlet.rl2 {
    width: 64px;
    height: 64px;
    left: 44%;
    bottom: 16%;
    border-style: solid;
    border-color: rgba(241, 103, 36, .28);
    animation-direction: reverse;
    animation-duration: 22s;
}
@keyframes pgHeroRingSpin {
    to { transform: rotate(360deg); }
}

.pg-page-hero-dots {
    position: absolute;
    width: 80px;
    height: 80px;
    pointer-events: none;
    z-index: 1;
    background-image: radial-gradient(circle, rgba(241, 103, 36, .85) 1.4px, transparent 1.6px);
    background-size: 14px 14px;
    opacity: .55;
    animation: pgHeroDotsDrift 14s ease-in-out infinite;
}
.pg-page-hero-dots.dots-a { left: 3%; top: 26%; }
.pg-page-hero-dots.dots-b { right: 3%; bottom: 16%; animation-duration: 17s; animation-direction: reverse; }
.pg-page-hero-dots.dots-c {
    left: 48%;
    top: 12%;
    width: 56px;
    height: 56px;
    opacity: .35;
    background-image: radial-gradient(circle, rgba(255, 180, 100, .9) 1.2px, transparent 1.4px);
    animation-duration: 12s;
}
@keyframes pgHeroDotsDrift {
    0%, 100% { transform: translate(0, 0); }
    50% { transform: translate(10px, -14px); }
}

.pg-page-hero-x {
    position: absolute;
    width: 14px;
    height: 14px;
    pointer-events: none;
    z-index: 1;
    opacity: .9;
    animation: pgHeroXSpin 8s ease-in-out infinite;
}
.pg-page-hero-x::before,
.pg-page-hero-x::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    width: 2.5px;
    height: 100%;
    background: #f16724;
    border-radius: 2px;
    transform: translateX(-50%) rotate(45deg);
}
.pg-page-hero-x::after { transform: translateX(-50%) rotate(-45deg); }
.pg-page-hero-x.x1 { right: 34%; top: 24%; }
.pg-page-hero-x.x2 { left: 36%; bottom: 26%; animation-delay: -2.5s; animation-duration: 10s; }
.pg-page-hero-x.x3 { right: 22%; bottom: 38%; width: 10px; height: 10px; opacity: .55; animation-delay: -4s; }
@keyframes pgHeroXSpin {
    0%, 100% { transform: rotate(0deg) translateY(0); }
    50% { transform: rotate(90deg) translateY(-8px); }
}

.pg-page-hero-zig {
    position: absolute;
    width: 40px;
    height: 10px;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(135deg, transparent 40%, #f16724 40% 60%, transparent 60%) 0 0 / 12px 10px repeat-x;
    opacity: .85;
    animation: pgHeroZig 6s ease-in-out infinite;
}
.pg-page-hero-zig.zag1 { right: 28%; top: 36%; --zig-rot: -8deg; transform: rotate(var(--zig-rot)); }
.pg-page-hero-zig.zag2 { left: 26%; bottom: 32%; --zig-rot: 12deg; transform: rotate(var(--zig-rot)); animation-delay: -3s; }
@keyframes pgHeroZig {
    0%, 100% { transform: rotate(var(--zig-rot, 0deg)) translateX(0); opacity: .7; }
    50% { transform: rotate(var(--zig-rot, 0deg)) translateX(10px); opacity: 1; }
}

.pg-page-hero-spark {
    position: absolute;
    width: 8px;
    height: 8px;
    z-index: 1;
    pointer-events: none;
    background: #f16724;
    border-radius: 50%;
    box-shadow: 0 0 0 4px rgba(241, 103, 36, .18), 0 0 18px rgba(241, 103, 36, .55);
    animation: pgHeroSpark 4.5s ease-in-out infinite;
}
.pg-page-hero-spark.sp1 { left: 18%; top: 42%; }
.pg-page-hero-spark.sp2 { right: 16%; top: 48%; animation-delay: -1.5s; width: 6px; height: 6px; }
.pg-page-hero-spark.sp3 { left: 52%; bottom: 20%; animation-delay: -2.8s; width: 5px; height: 5px; }
@keyframes pgHeroSpark {
    0%, 100% { opacity: .45; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.25); }
}

.pg-page-hero-line {
    position: absolute;
    height: 1px;
    width: 70px;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(90deg, transparent, rgba(241, 103, 36, .7), transparent);
    animation: pgHeroLineSweep 5.5s ease-in-out infinite;
}
.pg-page-hero-line.ln1 { left: 8%; top: 58%; --ln-rot: -28deg; transform: rotate(var(--ln-rot)); }
.pg-page-hero-line.ln2 { right: 12%; bottom: 28%; width: 90px; --ln-rot: 18deg; transform: rotate(var(--ln-rot)); animation-delay: -2s; }
@keyframes pgHeroLineSweep {
    0%, 100% { opacity: .35; transform: rotate(var(--ln-rot, 0deg)) scaleX(.85); }
    50% { opacity: 1; transform: rotate(var(--ln-rot, 0deg)) scaleX(1.15); }
}

@media (prefers-reduced-motion: reduce) {
    .pg-page-hero-glow-soft,
    .pg-page-hero-orb,
    .pg-page-hero-float,
    .pg-page-hero-blob,
    .pg-hv,
    .pg-page-hero-ribbon,
    .pg-page-hero-arc,
    .pg-page-hero-ringlet,
    .pg-page-hero-dots,
    .pg-page-hero-x,
    .pg-page-hero-zig,
    .pg-page-hero-spark,
    .pg-page-hero-line {
        animation: none !important;
    }
}

.pg-page-hero-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
    gap: 2.75rem 3.5rem;
    align-items: center;
}
.pg-about-hero.is-rich .pg-page-hero-inner {
    max-width: none;
    margin: 0;
    text-align: left;
}
.pg-about-hero.is-rich .pg-eyebrow {
    display: inline-flex;
    justify-content: flex-start;
    margin: 0 0 1rem;
    padding-left: 2.2rem;
    color: #c45e1f;
    font-size: .72rem;
    letter-spacing: .18em;
    background: none;
    border: 0;
    box-shadow: none;
}
.pg-about-hero.is-rich .pg-eyebrow::before {
    left: 0;
    width: 1.7rem;
    background: linear-gradient(90deg, #f16724, #ffb35a);
}
.pg-about-hero.is-rich h1 {
    margin: 0 0 .85rem;
    font-family: var(--font-display);
    font-size: clamp(2.85rem, 5.8vw, 4.5rem);
    line-height: 1.02;
    letter-spacing: -.035em;
    font-weight: 700;
    max-width: 11ch;
    color: #17120e;
}
.pg-about-hero.is-rich h1 em {
    font-style: italic;
    font-weight: 600;
    background: linear-gradient(120deg, #f16724, #ff8a4a 55%, #d9551a);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.pg-page-hero-rule {
    display: block;
    width: 72px;
    height: 3px;
    margin: 0 0 1.15rem;
    border-radius: 999px;
    background: linear-gradient(90deg, #f16724, rgba(241, 103, 36, .12));
}
.pg-about-hero.is-rich .pg-page-hero-lead {
    margin: 0 0 .95rem;
    max-width: 40ch;
    font-size: 1.04rem;
    line-height: 1.72;
    color: #5a5046;
}
.pg-about-hero.is-rich .pg-page-hero-chips {
    justify-content: flex-start;
    margin: 0 0 1.5rem;
}
.pg-page-hero-tagline {
    margin: 0 0 1.75rem;
    font-family: var(--font-body);
    font-size: 1.02rem;
    font-weight: 700;
    letter-spacing: .02em;
    color: #f16724;
}
.pg-about-hero.is-rich .pg-page-hero-actions {
    justify-content: flex-start;
    gap: .85rem;
}
.pg-about-hero.is-rich .pg-page-hero-actions .pg-btn-primary {
    background: linear-gradient(90deg, #f16724, #ff9a3c);
    box-shadow: 0 14px 34px rgba(241, 103, 36, .32);
}
.pg-about-hero.is-rich .pg-page-hero-actions .pg-btn-primary:hover {
    background: linear-gradient(90deg, #d9551a, #f16724);
}
.pg-about-hero.is-rich .pg-page-hero-actions .pg-btn-chat {
    --pg-btn-face: #1c1814;
    --pg-btn-face-hover: #2c2620;
    --pg-btn-arrow-ink: #1c1814;
    --pg-btn-shadow: 0 12px 28px rgba(20, 14, 10, .16);
    color: #fff;
    border: 0 !important;
    background: #1c1814;
}
.pg-about-hero.is-rich .pg-page-hero-actions .pg-btn-chat::before {
    background: #1c1814;
}
.pg-about-hero.is-rich .pg-page-hero-actions .pg-btn-chat:hover::before {
    background: #2c2620;
}
.pg-about-hero.is-rich .pg-page-hero-actions .pg-btn-chat::after {
    background: #fff;
    color: #1c1814;
}

.pg-page-hero-visual {
    position: relative;
    justify-self: end;
    width: 100%;
    max-width: 500px;
    z-index: 2;
    padding: .65rem;
}
.pg-page-hero-visual-glow {
    position: absolute;
    inset: 8% 4% 10%;
    background: radial-gradient(ellipse at center, rgba(241, 103, 36, .35), transparent 68%);
    filter: blur(24px);
    pointer-events: none;
    z-index: 0;
}
.pg-page-hero-visual-ring {
    position: absolute;
    inset: .35rem -.45rem -.55rem .85rem;
    border: 1.5px solid rgba(241, 103, 36, .42);
    border-radius: 30px;
    pointer-events: none;
    z-index: 0;
}
.pg-page-hero-photo {
    position: relative;
    z-index: 1;
    margin: 0;
    overflow: hidden;
    border-radius: 26px;
    background: #1a1410;
    aspect-ratio: 5 / 4;
    box-shadow:
        0 28px 56px rgba(90, 40, 10, .14),
        0 0 0 1px rgba(241, 103, 36, .18);
}
.pg-page-hero-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    transition: transform 1.1s var(--ease-out);
}
.pg-page-hero-visual:hover .pg-page-hero-photo img {
    transform: scale(1.04);
}

@media (max-width: 991.98px) {
    .pg-page-hero-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
        text-align: center;
    }
    .pg-page-hero-visual {
        justify-self: center;
        max-width: 420px;
        order: -1;
    }
    .pg-about-hero.is-rich .pg-page-hero-inner { text-align: center; }
    .pg-about-hero.is-rich .pg-eyebrow { justify-content: center; }
    .pg-about-hero.is-rich h1 { max-width: none; margin-left: auto; margin-right: auto; }
    .pg-about-hero.is-rich .pg-page-hero-lead { margin-left: auto; margin-right: auto; }
    .pg-about-hero.is-rich .pg-page-hero-actions { justify-content: center; }
    .pg-page-hero-tagline,
    .pg-page-hero-rule { margin-left: auto; margin-right: auto; }
    .pg-page-hero-ribbon.rib-tr { top: 4%; }
}

@media (max-width: 767.98px) {
    .pg-about-hero .pg-page-hero-mark { display: none; }
    .pg-about-hero.is-rich {
        min-height: 0;
        padding: calc(var(--shell-h) + 2.5rem) 0 3.25rem;
    }
    .pg-page-hero-visual { max-width: 100%; }
    .pg-page-hero-photo { border-radius: 20px; }
    .pg-page-hero-ribbon,
    .pg-page-hero-dots,
    .pg-page-hero-x,
    .pg-page-hero-zig,
    .pg-page-hero-arc,
    .pg-page-hero-ringlet,
    .pg-page-hero-spark,
    .pg-page-hero-line,
    .pg-page-hero-glow-soft,
    .pg-page-hero-orb,
    .pg-page-hero-float,
    .pg-page-hero-blob,
    .pg-page-hero-vectors { display: none; }
}

/* Light About / rich banner: dark header links; logo keeps original color */
.pg-inner-page:has(.pg-about-hero) .pg-header-shell:not(.is-scrolled) .pg-menu > li > a {
    color: rgba(30, 22, 16, .82);
}
.pg-inner-page:has(.pg-about-hero) .pg-header-shell:not(.is-scrolled) .pg-menu > li.active > a,
.pg-inner-page:has(.pg-about-hero) .pg-header-shell:not(.is-scrolled) .pg-menu > li > a:hover {
    color: var(--pg-orange);
}
.pg-inner-page:has(.pg-about-hero) .pg-header-shell:not(.is-scrolled) .pg-header-call-txt small,
.pg-inner-page:has(.pg-about-hero) .pg-header-shell:not(.is-scrolled) .pg-header-call-txt strong {
    color: #1e1610;
}
.pg-inner-page:has(.pg-about-hero) .pg-header-shell:not(.is-scrolled) .pg-toggler span {
    background: #1e1610;
}

.pg-about-story {
    position: relative;
    overflow: hidden;
    padding: 5.5rem 0 4.25rem;
    background: #f4efe7;
}
.pg-about-story-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.pg-about-story-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
}
.pg-about-story-orb.o1 {
    width: 320px;
    height: 320px;
    left: -80px;
    top: 10%;
    background: radial-gradient(circle, rgba(241, 103, 36, .14), transparent 70%);
}
.pg-about-story-orb.o2 {
    width: 260px;
    height: 260px;
    right: -40px;
    bottom: 8%;
    background: radial-gradient(circle, rgba(255, 180, 80, .12), transparent 70%);
}
.pg-about-story-grid {
    position: absolute;
    inset: 0;
    opacity: .35;
    background-image:
        linear-gradient(rgba(40, 28, 18, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(40, 28, 18, .04) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse at center, #000 30%, transparent 75%);
}
.pg-about-story-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 3rem 3.25rem;
    align-items: center;
}
.pg-about-story-stage {
    position: relative;
    padding: .85rem;
}
.pg-about-story-mat {
    position: absolute;
    inset: 1.4rem .4rem .4rem 1.4rem;
    border-radius: 26px;
    background: linear-gradient(145deg, rgba(241, 103, 36, .18), rgba(241, 103, 36, .05));
    transform: rotate(2.5deg);
    z-index: 0;
}
.pg-about-story-frame {
    position: relative;
    z-index: 1;
    border-radius: 24px;
    overflow: hidden;
    box-shadow:
        0 36px 80px rgba(60, 30, 10, .22),
        0 0 0 1px rgba(255, 255, 255, .5) inset;
}
.pg-about-story-frame img {
    display: block;
    width: 100%;
    height: clamp(340px, 44vw, 500px);
    object-fit: cover;
}
.pg-about-story-shine {
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(255,255,255,.28), transparent 35%, transparent 65%, rgba(255,255,255,.08));
    pointer-events: none;
    z-index: 2;
}
.pg-about-story-corner {
    position: absolute;
    width: 28px;
    height: 28px;
    border: 1.5px solid rgba(255, 210, 150, .75);
    z-index: 3;
    pointer-events: none;
}
.pg-about-story-corner.c-tl { top: 14px; left: 14px; border-right: 0; border-bottom: 0; }
.pg-about-story-corner.c-tr { top: 14px; right: 14px; border-left: 0; border-bottom: 0; }
.pg-about-story-corner.c-bl { bottom: 14px; left: 14px; border-right: 0; border-top: 0; }
.pg-about-story-corner.c-br { bottom: 14px; right: 14px; border-left: 0; border-top: 0; }
.pg-about-story-badge {
    position: absolute;
    left: 1.6rem;
    bottom: 1.6rem;
    z-index: 4;
    display: flex;
    flex-direction: column;
    gap: .12rem;
    padding: .95rem 1.15rem;
    border-radius: 18px;
    background: rgba(14, 10, 8, .82);
    color: #fff;
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 210, 150, .35);
    box-shadow: 0 18px 36px rgba(0, 0, 0, .28);
}
.pg-about-story-badge strong {
    font-family: var(--font-display);
    font-size: 1.7rem;
    line-height: 1;
    color: #ffd36a;
}
.pg-about-story-badge span {
    font-size: .7rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    opacity: .88;
}
.pg-about-story-float {
    position: absolute;
    top: 1.1rem;
    right: .35rem;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .55rem .85rem;
    border-radius: 999px;
    background: #fff;
    color: #1a120c;
    box-shadow: 0 16px 34px rgba(60, 30, 10, .16);
    border: 1px solid rgba(241, 103, 36, .18);
    animation: pgAboutFloat 4.5s ease-in-out infinite;
}
.pg-about-story-float i { color: var(--pg-orange); }
.pg-about-story-float em {
    font-style: normal;
    font-size: .78rem;
    font-weight: 750;
    letter-spacing: .02em;
}
@keyframes pgAboutFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}
.pg-about-story-copy h2 {
    margin: .25rem 0 1.05rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.4vw, 2.75rem);
    line-height: 1.1;
    color: var(--pg-ink);
}
.pg-about-story-copy h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-about-story-lead {
    margin: 0 0 .9rem;
    font-size: 1.08rem;
    line-height: 1.72;
    color: #3d342c;
}
.pg-about-story-copy > p {
    margin: 0 0 1.45rem;
    color: #6b635a;
    line-height: 1.72;
}
.pg-about-story-points {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .85rem;
}
.pg-about-story-points li {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: .85rem;
    align-items: start;
    padding: .95rem 1rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(40, 28, 18, .07);
    box-shadow: 0 10px 24px rgba(90, 40, 10, .04);
}
.pg-about-story-points span {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    background: linear-gradient(160deg, #ff8a4a, var(--pg-orange));
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
    box-shadow: 0 10px 22px rgba(241, 103, 36, .28);
}
.pg-about-story-points strong {
    display: block;
    margin-bottom: .2rem;
    color: #1a120c;
    font-size: .98rem;
}
.pg-about-story-points p {
    margin: 0;
    color: #6b635a;
    font-size: .88rem;
    line-height: 1.5;
}

.pg-about-stats {
    padding: 0 0 3.75rem;
    background: #f4efe7;
    margin-top: 0;
}

.pg-about-values {
    position: relative;
    overflow: hidden;
    padding: 5.25rem 0;
    background: #fffdf9;
}
.pg-about-values-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.pg-about-values-glow {
    position: absolute;
    width: 520px;
    height: 520px;
    left: 50%;
    top: -180px;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(241, 103, 36, .1), transparent 68%);
}
.pg-about-section-divider {
    display: block;
    width: 64px;
    height: 3px;
    margin: .85rem auto 1rem;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, var(--pg-orange), transparent);
}
.pg-about-values-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.35rem;
    margin-top: .75rem;
}
.pg-about-value {
    position: relative;
    overflow: hidden;
    padding: 2rem 1.55rem 1.75rem;
    border-radius: 22px;
    background:
        radial-gradient(ellipse at 12% 0%, rgba(241, 103, 36, .14), transparent 48%),
        linear-gradient(165deg, #ffffff, #f8f1e8);
    border: 1px solid rgba(40, 28, 18, .08);
    box-shadow:
        0 22px 48px rgba(90, 40, 10, .08),
        inset 0 1px 0 #fff;
    transition: transform .4s var(--ease-out), box-shadow .4s;
}
.pg-about-value:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 56px rgba(90, 40, 10, .12);
}
.pg-about-value-shine {
    position: absolute;
    top: 0;
    left: -40%;
    width: 45%;
    height: 100%;
    background: linear-gradient(105deg, transparent, rgba(255,255,255,.45), transparent);
    transform: skewX(-18deg);
    pointer-events: none;
    animation: pgAboutShine 5.5s ease-in-out infinite;
}
.pg-about-value:nth-child(2) .pg-about-value-shine { animation-delay: 1.2s; }
.pg-about-value:nth-child(3) .pg-about-value-shine { animation-delay: 2.2s; }
@keyframes pgAboutShine {
    0%, 55% { left: -45%; opacity: 0; }
    60% { opacity: .7; }
    85% { left: 120%; opacity: 0; }
    100% { left: 120%; opacity: 0; }
}
.pg-about-value-ico {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    margin-bottom: 1.15rem;
    background: linear-gradient(160deg, #ff8a4a, var(--pg-orange));
    color: #fff;
    font-size: 1.15rem;
    box-shadow: 0 14px 28px rgba(241, 103, 36, .3);
}
.pg-about-value h3 {
    margin: 0 0 .6rem;
    font-family: var(--font-display);
    font-size: 1.45rem;
    color: var(--pg-ink);
}
.pg-about-value p {
    margin: 0;
    color: #6b635a;
    line-height: 1.7;
    font-size: .96rem;
}

.pg-about-why {
    position: relative;
    padding: 5.5rem 0;
    overflow: hidden;
    color: #fff;
    background: #100e0c;
}
.pg-about-why-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 12% 18%, rgba(241, 103, 36, .26), transparent 42%),
        radial-gradient(ellipse at 88% 78%, rgba(255, 180, 80, .12), transparent 40%),
        linear-gradient(180deg, #14110f, #0c0a09);
    pointer-events: none;
}
.pg-about-why-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(255, 210, 150, .14);
    pointer-events: none;
}
.pg-about-why-ring.r1 {
    width: 420px;
    height: 420px;
    right: -120px;
    top: -80px;
}
.pg-about-why-ring.r2 {
    width: 260px;
    height: 260px;
    left: -80px;
    bottom: -60px;
    border-color: rgba(241, 103, 36, .16);
}
.pg-about-why-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: 2.75rem 3rem;
    align-items: center;
}
.pg-about-why-copy h2 {
    margin: .4rem 0 1.05rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.2vw, 2.7rem);
    line-height: 1.12;
    color: #fffaf4;
}
.pg-about-why-copy > p {
    margin: 0 0 1.35rem;
    max-width: 44ch;
    color: rgba(255, 245, 235, .74);
    line-height: 1.72;
}
.pg-about-why-quote {
    position: relative;
    margin: 0 0 1.65rem;
    padding: 1.15rem 1.2rem 1.15rem 1.35rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 210, 150, .18);
    border-left: 3px solid var(--pg-orange);
}
.pg-about-why-quote i {
    color: #ffb35a;
    margin-bottom: .45rem;
    display: inline-block;
}
.pg-about-why-quote p {
    margin: 0;
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-style: italic;
    line-height: 1.5;
    color: rgba(255, 248, 240, .92);
}
.pg-about-why-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}
.pg-about-why-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.pg-about-why-card {
    padding: 1.4rem 1.25rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, .055);
    border: 1px solid rgba(255, 210, 160, .16);
    backdrop-filter: blur(10px);
    transition: transform .35s var(--ease-out), background .35s, border-color .35s;
}
.pg-about-why-card:hover {
    transform: translateY(-4px);
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 190, 120, .32);
}
.pg-about-why-card span {
    display: block;
    margin-bottom: .5rem;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em;
    color: #ffb35a;
}
.pg-about-why-card h4 {
    margin: 0 0 .45rem;
    font-size: 1.08rem;
    color: #fffaf4;
}
.pg-about-why-card p {
    margin: 0;
    font-size: .9rem;
    line-height: 1.58;
    color: rgba(255, 245, 235, .66);
}

.pg-about-process {
    padding: 5.25rem 0 4.75rem;
    background: #f4efe7;
}
.pg-about-steps {
    position: relative;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.2rem;
    margin: .5rem 0 2.15rem;
}
.pg-about-steps-line {
    position: absolute;
    top: 36px;
    left: 8%;
    right: 8%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(241, 103, 36, .35), transparent);
    pointer-events: none;
}
.pg-about-step {
    position: relative;
    z-index: 1;
    padding: 1.65rem 1.3rem 1.45rem;
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(40, 28, 18, .07);
    box-shadow: 0 18px 40px rgba(90, 40, 10, .06);
    transition: transform .35s var(--ease-out), box-shadow .35s;
}
.pg-about-step:hover {
    transform: translateY(-5px);
    box-shadow: 0 24px 48px rgba(90, 40, 10, .1);
}
.pg-about-step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 1rem;
    border-radius: 50%;
    background: linear-gradient(160deg, #ff8a4a, var(--pg-orange));
    color: #fff;
    font-weight: 800;
    font-size: .92rem;
    box-shadow: 0 12px 26px rgba(241, 103, 36, .28);
}
.pg-about-step h4 {
    margin: 0 0 .5rem;
    font-family: var(--font-display);
    font-size: 1.2rem;
    color: var(--pg-ink);
}
.pg-about-step p {
    margin: 0;
    color: #6b635a;
    font-size: .92rem;
    line-height: 1.62;
}

.pg-about-cta {
    padding: 0 0 5.5rem;
    background: #f4efe7;
}
.pg-about-cta-panel {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 2.5rem 2.6rem;
    border-radius: 28px;
    background:
        radial-gradient(ellipse at 0% 50%, rgba(241, 103, 36, .34), transparent 48%),
        linear-gradient(125deg, #1c1511, #0e0b09 52%, #17120e);
    color: #fff;
    box-shadow:
        0 36px 80px rgba(0, 0, 0, .32),
        0 0 0 1px rgba(255, 210, 150, .22);
}
.pg-about-cta-glow {
    position: absolute;
    width: 280px;
    height: 280px;
    right: 8%;
    top: -40%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 180, 80, .2), transparent 70%);
    pointer-events: none;
}
.pg-about-cta-frame {
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(255, 210, 150, .16);
    border-radius: 22px;
    pointer-events: none;
}
.pg-about-cta-copy,
.pg-about-cta-actions {
    position: relative;
    z-index: 1;
}
.pg-about-cta-copy {
    max-width: 52ch;
}
.pg-about-cta-copy h2 {
    margin: .35rem 0 .7rem;
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    line-height: 1.12;
    color: #fffaf4;
}
.pg-about-cta-copy p {
    margin: 0;
    color: rgba(255, 245, 235, .72);
    line-height: 1.65;
}
.pg-about-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: .8rem;
    flex-shrink: 0;
    min-width: 240px;
}
.pg-about-cta-phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    padding: .75rem 1.05rem;
    border-radius: 999px;
    border: 1px solid rgba(255, 210, 160, .24);
    background: rgba(255, 255, 255, .06);
    color: #fff;
    font-weight: 650;
    text-decoration: none;
    transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.pg-about-cta-phone i { color: #ffb35a; }
.pg-about-cta-phone:hover {
    background: rgba(241, 103, 36, .22);
    border-color: rgba(241, 103, 36, .5);
    transform: translateY(-1px);
}

/* Dark menu only when hero is NOT the shared light About-style banner */
.pg-inner-page:not(:has(.pg-about-hero)) .pg-header-shell:not(.is-scrolled) .pg-menu > li > a {
    color: rgba(255, 255, 255, .9);
}
.pg-inner-page:not(:has(.pg-about-hero)) .pg-header-shell:not(.is-scrolled) .pg-menu > li.active > a,
.pg-inner-page:not(:has(.pg-about-hero)) .pg-header-shell:not(.is-scrolled) .pg-menu > li > a:hover {
    color: #fff;
}

/* =========================================================
   CONTACT US PAGE
   ========================================================= */
.pg-contact-hero {
    color: var(--pg-ink);
    min-height: clamp(360px, 48vh, 460px);
    background:
        radial-gradient(ellipse at 78% 8%, rgba(241, 103, 36, .13), transparent 40%),
        radial-gradient(ellipse at 14% 86%, rgba(255, 170, 90, .1), transparent 38%),
        linear-gradient(180deg, transparent 55%, rgba(70, 48, 28, .1) 82%, rgba(55, 38, 22, .16) 100%),
        linear-gradient(165deg, #f6f3ee 0%, #efe8df 45%, #e9e1d6 100%);
}
.pg-contact-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 100px;
    pointer-events: none;
    background: linear-gradient(180deg, transparent 0%, rgba(90, 60, 35, .07) 50%, rgba(55, 38, 22, .14) 100%);
    z-index: 2;
}
.pg-contact-hero .pg-page-hero-wash {
    mask-image: radial-gradient(ellipse at 50% 42%, #000 18%, transparent 68%);
}
.pg-contact-hero .pg-page-hero-glow.g1 {
    width: 420px;
    height: 420px;
    right: -120px;
    top: -80px;
    background: radial-gradient(circle, rgba(241, 103, 36, .18), transparent 68%);
}
.pg-contact-hero .pg-page-hero-glow.g2 {
    width: 280px;
    height: 280px;
    left: -70px;
    bottom: -90px;
    background: radial-gradient(circle, rgba(255, 180, 80, .15), transparent 70%);
}
.pg-contact-hero .pg-page-hero-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(241, 103, 36, .14);
    pointer-events: none;
    left: 50%;
    top: 55%;
    transform: translate(-50%, -50%);
}
.pg-contact-hero .pg-page-hero-ring.r1 {
    width: min(560px, 80vw);
    height: min(560px, 80vw);
}
.pg-contact-hero .pg-page-hero-ring.r2 {
    width: min(380px, 58vw);
    height: min(380px, 58vw);
    border-style: dashed;
    border-color: rgba(241, 103, 36, .16);
}
.pg-contact-hero .pg-page-hero-frame {
    position: absolute;
    inset: 1.2rem 2.2%;
    pointer-events: none;
    z-index: 1;
}
.pg-contact-hero .pg-page-hero-frame .pf {
    position: absolute;
    width: 44px;
    height: 44px;
    border: 1.5px solid rgba(241, 103, 36, .3);
}
.pg-contact-hero .pf-tl { top: 0; left: 0; border-right: 0; border-bottom: 0; }
.pg-contact-hero .pf-tr { top: 0; right: 0; border-left: 0; border-bottom: 0; }
.pg-contact-hero .pf-bl { bottom: 0; left: 0; border-right: 0; border-top: 0; }
.pg-contact-hero .pf-br { bottom: 0; right: 0; border-left: 0; border-top: 0; }
.pg-contact-hero .container { position: relative; z-index: 3; }
.pg-contact-hero .pg-page-hero-inner {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
}
.pg-contact-hero .pg-eyebrow {
    color: #7a4a28;
}
.pg-contact-hero .pg-eyebrow::before {
    background: var(--pg-orange);
}
.pg-contact-hero h1 {
    margin: 0 0 .85rem;
    font-family: var(--font-display);
    font-size: clamp(2.3rem, 4.8vw, 3.5rem);
    line-height: 1.08;
    letter-spacing: -.035em;
    color: #17120e;
}
.pg-contact-hero h1 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-contact-hero .pg-page-hero-flourish {
    display: block;
    width: 86px;
    height: 14px;
    margin: 0 auto 1rem;
    background:
        radial-gradient(circle at 50% 50%, var(--pg-orange) 0 2.5px, transparent 3px),
        linear-gradient(90deg, transparent, rgba(241, 103, 36, .55) 22%, rgba(241, 103, 36, .55) 78%, transparent);
    background-size: 100% 100%, 100% 1.5px;
    background-position: center, center;
    background-repeat: no-repeat;
}
.pg-contact-hero .pg-page-hero-lead {
    margin: 0 auto;
    max-width: 46ch;
    font-size: 1.05rem;
    line-height: 1.7;
    color: #5a5046;
}

.pg-contact-page .pg-header-shell:not(.is-scrolled) .pg-menu > li > a {
    color: rgba(30, 22, 16, .82);
}
.pg-contact-page .pg-header-shell:not(.is-scrolled) .pg-menu > li.active > a,
.pg-contact-page .pg-header-shell:not(.is-scrolled) .pg-menu > li > a:hover {
    color: var(--pg-orange);
}
.pg-contact-page .pg-header-shell:not(.is-scrolled) .pg-header-call-txt small,
.pg-contact-page .pg-header-shell:not(.is-scrolled) .pg-header-call-txt strong {
    color: #1e1610;
}
.pg-contact-page .pg-header-shell:not(.is-scrolled) .pg-toggler span {
    background: #1e1610;
}

.pg-contact {
    position: relative;
    overflow: hidden;
    padding: 4.5rem 0 5.5rem;
    background: #f7f4ef;
}
.pg-contact-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.pg-contact-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(40, 28, 18, .03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(40, 28, 18, .03) 1px, transparent 1px);
    background-size: 52px 52px;
    mask-image: radial-gradient(ellipse at 50% 40%, #000 25%, transparent 75%);
    opacity: .9;
}
.pg-contact-glow {
    position: absolute;
    border-radius: 50%;
}
.pg-contact-glow.c1 {
    width: 380px;
    height: 380px;
    left: -100px;
    top: 10%;
    background: radial-gradient(circle, rgba(241, 103, 36, .1), transparent 70%);
}
.pg-contact-glow.c2 {
    width: 320px;
    height: 320px;
    right: -80px;
    bottom: 5%;
    background: radial-gradient(circle, rgba(255, 180, 90, .1), transparent 70%);
}
.pg-contact-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: clamp(2rem, 4vw, 3.5rem);
    align-items: start;
}
.pg-contact-tag {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin: 0 0 1.1rem;
    padding: .4rem .85rem;
    border: 1px solid rgba(241, 103, 36, .28);
    border-radius: 4px;
    color: #8a4f28;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    background: rgba(255, 255, 255, .45);
}
.pg-contact-tag i {
    font-size: .45rem;
    color: var(--pg-orange);
}
.pg-contact-info h2 {
    margin: 0 0 1rem;
    max-width: 14ch;
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    line-height: 1.08;
    letter-spacing: -.03em;
    color: #17120e;
}
.pg-contact-info h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-contact-lead {
    margin: 0 0 1.35rem;
    max-width: 42ch;
    color: #5a5046;
    font-size: 1.02rem;
    line-height: 1.7;
}
.pg-contact-status {
    display: flex;
    align-items: center;
    gap: .7rem;
    margin: 0 0 1.85rem;
    padding: .7rem 1rem;
    max-width: 34rem;
    border-radius: 6px;
    background: rgba(232, 222, 208, .55);
    border: 1px solid rgba(120, 90, 50, .08);
}
.pg-contact-status-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #2f9e5f;
    box-shadow: 0 0 0 4px rgba(47, 158, 95, .18);
    flex-shrink: 0;
}
.pg-contact-status p {
    margin: 0;
    font-size: .82rem;
    font-weight: 600;
    color: #3d342c;
    letter-spacing: .01em;
}
.pg-contact-status span {
    opacity: .45;
    margin: 0 .15rem;
}
.pg-contact-details {
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
    margin: 0 0 1.85rem;
    padding: 0;
    list-style: none;
}
.pg-contact-details li {
    display: flex;
    align-items: flex-start;
    gap: .95rem;
}
.pg-contact-ico {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    flex-shrink: 0;
    border: 1px solid rgba(241, 103, 36, .35);
    border-radius: 6px;
    color: var(--pg-orange);
    background: rgba(255, 255, 255, .55);
}
.pg-contact-details small {
    display: block;
    margin-bottom: .2rem;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #6b5a48;
}
.pg-contact-details strong {
    display: block;
    font-size: .98rem;
    font-weight: 650;
    line-height: 1.45;
    color: #1c1610;
}
.pg-contact-details a {
    color: inherit;
}
.pg-contact-details a:hover strong {
    color: var(--pg-orange);
}
.pg-contact-social {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1.85rem;
    padding: 1.1rem 1.15rem;
    border-radius: 4px;
    border: 1px solid rgba(40, 28, 18, .07);
    background: linear-gradient(135deg, rgba(255, 255, 255, .55), rgba(255, 246, 237, .72));
}
.pg-contact-social-label {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #6b5a48;
}
.pg-contact-social-links {
    display: flex;
    gap: .55rem;
}
.pg-contact-social-links a {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(40, 28, 18, .14);
    border-radius: 6px;
    color: #2a221a;
    background: rgba(255, 255, 255, .5);
    transition: background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}
.pg-contact-social-links a:hover {
    background: var(--pg-orange);
    border-color: var(--pg-orange);
    color: #fff;
    transform: translateY(-2px);
}

.pg-contact-form-card {
    position: relative;
    padding: clamp(1.7rem, 3.2vw, 2.35rem);
    border-radius: 4px;
    background:
        linear-gradient(165deg, rgba(255, 252, 247, .98) 0%, #fff 48%, rgba(255, 248, 240, .92) 100%);
    border: 1px solid rgba(40, 28, 18, .07);
    box-shadow:
        0 28px 60px rgba(70, 40, 15, .09),
        0 0 0 1px rgba(255, 255, 255, .6) inset;
}
.pg-contact-form-card::after {
    content: "";
    position: absolute;
    inset: auto -8% -18% auto;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(241, 103, 36, .12), transparent 68%);
    pointer-events: none;
    z-index: 0;
}
.pg-contact-form-card > * {
    position: relative;
    z-index: 1;
}
.pg-contact-form-frame {
    position: absolute;
    inset: .85rem;
    pointer-events: none;
}
.pg-contact-form-frame .cf {
    position: absolute;
    width: 22px;
    height: 22px;
    border: 1.5px solid rgba(241, 103, 36, .4);
}
.pg-contact-form-frame .cf-tl { top: 0; left: 0; border-right: 0; border-bottom: 0; }
.pg-contact-form-frame .cf-tr { top: 0; right: 0; border-left: 0; border-bottom: 0; }
.pg-contact-form-frame .cf-bl { bottom: 0; left: 0; border-right: 0; border-top: 0; }
.pg-contact-form-frame .cf-br { bottom: 0; right: 0; border-left: 0; border-top: 0; }
.pg-contact-form-head {
    margin-bottom: 1.5rem;
}
.pg-contact-form-head h3 {
    margin: 0 0 .55rem;
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 2.6vw, 2.15rem);
    line-height: 1.15;
    color: #17120e;
}
.pg-contact-form-head h3 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-contact-form-head p {
    margin: 0;
    color: #6a5f54;
    font-size: .95rem;
    line-height: 1.6;
}
.pg-contact-form-grid {
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
}
.pg-contact-form-row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.pg-contact-field {
    display: block;
    width: 100%;
}
.pg-contact-field input,
.pg-contact-field textarea {
    width: 100%;
    border: 0;
    border-bottom: 1.5px solid rgba(40, 28, 18, .16);
    border-radius: 0;
    background: transparent;
    padding: .9rem 0 .85rem;
    font-family: var(--font-body);
    font-size: .95rem;
    color: #1c1610;
    outline: none;
    resize: vertical;
    transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.pg-contact-field input:hover,
.pg-contact-field textarea:hover {
    border-bottom-color: rgba(241, 103, 36, .35);
}
.pg-contact-field textarea {
    min-height: 110px;
}
.pg-contact-field input::placeholder,
.pg-contact-field textarea::placeholder {
    color: #9a9086;
}
.pg-contact-field input:focus,
.pg-contact-field textarea:focus {
    border-bottom-color: var(--pg-orange);
    box-shadow: 0 1px 0 0 var(--pg-orange);
}
.pg-contact-submit {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    margin-top: .45rem;
    padding: 1.05rem 1.5rem;
    border: 0;
    border-radius: 4px;
    background: linear-gradient(105deg, #1f1a16 0%, #2c241c 42%, var(--pg-orange) 100%);
    background-size: 140% 100%;
    background-position: 0 50%;
    color: #fff;
    font-family: var(--font-body);
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 16px 34px rgba(40, 24, 12, .22);
    transition: transform .3s var(--ease-out), box-shadow .3s, filter .3s, background-position .45s ease;
}
.pg-contact-submit:hover {
    background-position: 100% 50%;
    transform: translateY(-2px);
    filter: brightness(1.05);
    box-shadow: 0 20px 40px rgba(241, 103, 36, .28);
}
.pg-contact-submit i {
    font-size: .85rem;
    transition: transform .3s var(--ease-out);
}
.pg-contact-submit:hover i {
    transform: translateX(4px);
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* =========================================================
   PRICING PAGE
   ========================================================= */
.pg-pricing-page .pg-header-shell:not(.is-scrolled) .pg-menu > li > a {
    color: rgba(30, 22, 16, .82);
}
.pg-pricing-page .pg-header-shell:not(.is-scrolled) .pg-menu > li.active > a,
.pg-pricing-page .pg-header-shell:not(.is-scrolled) .pg-menu > li > a:hover {
    color: var(--pg-orange);
}
.pg-pricing-page .pg-header-shell:not(.is-scrolled) .pg-header-call-txt small,
.pg-pricing-page .pg-header-shell:not(.is-scrolled) .pg-header-call-txt strong {
    color: #1e1610;
}
.pg-pricing-page .pg-header-shell:not(.is-scrolled) .pg-toggler span {
    background: #1e1610;
}

.pg-pricing-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    min-height: clamp(520px, 78vh, 680px);
    overflow: hidden;
    background: #f4efe7;
}
.pg-pricing-hero-media {
    position: absolute;
    inset: 0 0 0 38%;
    background:
        linear-gradient(90deg, rgba(244, 239, 231, .55) 0%, rgba(20, 14, 10, .28) 28%, rgba(20, 14, 10, .35) 100%),
        var(--pg-pricing-hero-img) center / cover no-repeat;
}
.pg-pricing-hero-panel {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    padding: calc(var(--shell-h) + 3.5rem) 0 4rem;
    clip-path: polygon(
        0 0,
        88% 0,
        90% 8%,
        86% 18%,
        91% 30%,
        85% 42%,
        90% 55%,
        84% 68%,
        89% 80%,
        83% 90%,
        86% 100%,
        0 100%
    );
    background:
        radial-gradient(ellipse at 18% 20%, rgba(241, 103, 36, .1), transparent 42%),
        linear-gradient(165deg, #fffdf9 0%, #f4ebe1 100%);
    border-right: 2px solid rgba(241, 103, 36, .35);
}
.pg-pricing-hero-deco {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}
.pg-pricing-hero-ring {
    position: absolute;
    width: 320px;
    height: 320px;
    left: 8%;
    top: 18%;
    border: 1px solid rgba(241, 103, 36, .14);
    border-radius: 50%;
}
.pg-pricing-hero-ring.r2 {
    width: 200px;
    height: 200px;
    left: 14%;
    top: 26%;
    border-style: dashed;
}
.pg-pricing-hero-copy {
    position: relative;
    z-index: 1;
    max-width: 560px;
    margin-left: max(1.25rem, calc((100vw - 1140px) / 2));
    padding: 0 2rem 0 1rem;
}
.pg-pricing-offer-badge {
    display: inline-flex;
    align-items: center;
    margin: 0 0 1.1rem;
    padding: .45rem 1rem;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--pg-orange), #ff8a4a);
    color: #fff;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    box-shadow: 0 12px 28px rgba(241, 103, 36, .28);
}
.pg-pricing-hero-copy h1 {
    margin: 0 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(2.35rem, 4.6vw, 3.55rem);
    line-height: 1.08;
    letter-spacing: -.035em;
    color: #17120e;
}
.pg-pricing-hero-copy h1 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-pricing-hero-lead {
    margin: 0 0 1.5rem;
    max-width: 42ch;
    color: #5a5046;
    font-size: 1.05rem;
    line-height: 1.7;
}
.pg-pricing-hero-lead del {
    opacity: .55;
    margin-right: .2rem;
}
.pg-pricing-hero-lead strong {
    color: var(--pg-orange);
    font-size: 1.15em;
}
.pg-pricing-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.pg-pricing-packages {
    position: relative;
    overflow: hidden;
    padding: 5rem 0 4.5rem;
    background:
        radial-gradient(ellipse at 10% 20%, rgba(241, 103, 36, .07), transparent 40%),
        radial-gradient(ellipse at 90% 80%, rgba(120, 90, 180, .06), transparent 42%),
        linear-gradient(180deg, #f7f4ef 0%, #f2ece4 100%);
}
.pg-pricing-packages-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(40, 28, 18, .028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(40, 28, 18, .028) 1px, transparent 1px);
    background-size: 52px 52px;
    mask-image: radial-gradient(ellipse at 50% 30%, #000 20%, transparent 72%);
}
.pg-pricing-packages-head {
    position: relative;
    z-index: 1;
    text-align: center;
    margin-bottom: 2.75rem;
}
.pg-pricing-packages-head h2 {
    margin: .35rem auto .85rem;
    max-width: 18ch;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.8vw, 3rem);
    line-height: 1.12;
    letter-spacing: -.03em;
    color: #17120e;
}
.pg-pricing-packages-head h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-pricing-packages-head .pg-section-lead {
    margin: 0 auto;
    color: #5a5046;
}
.pg-pricing-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    align-items: stretch;
}
.pg-pricing-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 1.65rem 1.35rem 1.4rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, .88);
    border: 1px solid rgba(40, 28, 18, .07);
    box-shadow: 0 20px 48px rgba(70, 40, 15, .07);
}
.pg-pricing-card--standard {
    background: linear-gradient(180deg, #f4f8fc 0%, #fff 42%);
}
.pg-pricing-card--signature {
    z-index: 2;
    padding: 1.85rem 1.45rem 1.55rem;
    background:
        radial-gradient(ellipse at 50% 0%, rgba(241, 103, 36, .18), transparent 55%),
        linear-gradient(165deg, #fff8f1 0%, #ffffff 38%, #fff4eb 100%);
    border: 1.5px solid rgba(241, 103, 36, .38);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, .7) inset,
        0 28px 64px rgba(241, 103, 36, .18),
        0 12px 28px rgba(40, 20, 8, .08);
    transform: translateY(-14px) scale(1.03);
}
.pg-pricing-card--signature::before {
    content: "";
    position: absolute;
    left: 1.1rem;
    right: 1.1rem;
    top: 0;
    height: 4px;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, #ffb35a, var(--pg-orange), #ff8a4a);
    box-shadow: 0 6px 18px rgba(241, 103, 36, .35);
}
.pg-pricing-card--signature .pg-pricing-card-shine {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(125deg, rgba(255, 255, 255, .55) 0%, transparent 32%, transparent 68%, rgba(241, 103, 36, .08) 100%);
}
.pg-pricing-card--signature .pg-pricing-card-glow {
    position: absolute;
    width: 180px;
    height: 180px;
    right: -40px;
    bottom: 18%;
    border-radius: 50%;
    pointer-events: none;
    background: radial-gradient(circle, rgba(241, 103, 36, .16), transparent 70%);
}
.pg-pricing-card--elite {
    background: linear-gradient(180deg, #f6f2fb 0%, #fff 42%);
}
.pg-pricing-popular {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .42rem .85rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #1c1814 0%, #3a2a1c 100%);
    color: #fff;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    box-shadow: 0 10px 22px rgba(20, 12, 6, .22);
}
.pg-pricing-card--signature .pg-pricing-popular {
    background: linear-gradient(135deg, var(--pg-orange) 0%, #ff8a4a 55%, var(--pg-orange-deep) 100%);
    box-shadow: 0 12px 26px rgba(241, 103, 36, .35);
}
.pg-pricing-popular i {
    font-size: .62rem;
    color: #ffe0b8;
}
.pg-pricing-card--signature .pg-pricing-popular i {
    color: #fff;
}
.pg-pricing-card-top {
    margin-bottom: 1.15rem;
}
.pg-pricing-card-ico {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin-bottom: .95rem;
    border-radius: 14px;
    font-size: 1.05rem;
}
.pg-pricing-card--standard .pg-pricing-card-ico {
    background: rgba(70, 130, 180, .12);
    color: #3d6f96;
}
.pg-pricing-card--signature .pg-pricing-card-ico {
    width: 56px;
    height: 56px;
    border-radius: 16px;
    background: linear-gradient(160deg, #ff8a4a, var(--pg-orange));
    color: #fff;
    font-size: 1.15rem;
    box-shadow:
        0 0 0 6px rgba(241, 103, 36, .12),
        0 14px 28px rgba(241, 103, 36, .28);
}
.pg-pricing-card--elite .pg-pricing-card-ico {
    background: rgba(120, 80, 170, .12);
    color: #6b4aa0;
}
.pg-pricing-card h3 {
    margin: 0 0 .55rem;
    font-family: var(--font-display);
    font-size: 1.45rem;
    color: #17120e;
}
.pg-pricing-card h3 small {
    display: block;
    margin-top: .2rem;
    font-family: var(--font-body);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--pg-orange);
}
.pg-home-packages .pg-pricing-features {
    max-height: 320px;
    overflow-y: auto;
    margin-bottom: 1.15rem;
    padding-right: .25rem;
}
.pg-home-packages .pg-pricing-card {
    min-height: 100%;
}
@media (max-width: 991.98px) {
    .pg-home-packages .pg-pricing-card--signature {
        transform: none;
    }
}
.pg-pricing-card--signature h3 {
    font-size: 1.6rem;
    letter-spacing: -.02em;
    background: linear-gradient(120deg, #17120e 0%, #3a2414 45%, var(--pg-orange) 120%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.pg-pricing-card-top p {
    margin: 0;
    color: #5a5046;
    font-size: .92rem;
    line-height: 1.6;
}
.pg-pricing-features {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .62rem;
    margin: 0 0 1.4rem;
    padding: .15rem .55rem .85rem 0;
    list-style: none;
    flex: 1 1 auto;
    min-height: 0;
    max-height: 17.5rem;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    mask-image: linear-gradient(180deg, #000 0%, #000 calc(100% - 28px), transparent 100%);
    scrollbar-width: thin;
    scrollbar-color: rgba(241, 103, 36, .45) rgba(40, 28, 18, .06);
}
.pg-pricing-features::-webkit-scrollbar {
    width: 5px;
}
.pg-pricing-features::-webkit-scrollbar-track {
    margin: .35rem 0;
    background: rgba(40, 28, 18, .05);
    border-radius: 999px;
}
.pg-pricing-features::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #ff8a4a, var(--pg-orange));
    border-radius: 999px;
}
.pg-pricing-features::-webkit-scrollbar-thumb:hover {
    background: var(--pg-orange-deep);
}
.pg-pricing-card--standard .pg-pricing-features {
    scrollbar-color: rgba(74, 131, 173, .5) rgba(40, 28, 18, .06);
}
.pg-pricing-card--standard .pg-pricing-features::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #7aa9cb, #4a83ad);
}
.pg-pricing-card--elite .pg-pricing-features {
    scrollbar-color: rgba(122, 88, 176, .5) rgba(40, 28, 18, .06);
}
.pg-pricing-card--elite .pg-pricing-features::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #a085d0, #7a58b0);
}
.pg-pricing-features li {
    display: flex;
    align-items: flex-start;
    gap: .55rem;
    font-size: .88rem;
    color: #2a221a;
    line-height: 1.4;
}
.pg-pricing-features i {
    margin-top: .12rem;
    flex-shrink: 0;
    font-size: .82rem;
}
.pg-pricing-card--standard .pg-pricing-features i { color: #4a83ad; }
.pg-pricing-card--signature .pg-pricing-features i { color: var(--pg-orange); }
.pg-pricing-card--elite .pg-pricing-features i { color: #7a58b0; }
.pg-pricing-card--signature .pg-pricing-card-actions .pg-btn-primary {
    box-shadow: 0 16px 34px rgba(241, 103, 36, .34);
}
.pg-pricing-card--signature .pg-pricing-card-actions .pg-btn-chat {
    --pg-btn-face: #1c1814;
    --pg-btn-arrow-ink: #1c1814;
}
.pg-pricing-card-actions {
    display: flex;
    flex-direction: column;
    gap: .65rem;
}
.pg-pricing-card-actions .pg-btn {
    width: 100%;
}
.pg-pricing-note {
    position: relative;
    z-index: 1;
    margin: 2rem auto 0;
    max-width: 52ch;
    text-align: center;
    color: #6a5f54;
    font-size: .95rem;
    line-height: 1.65;
}

.pg-pricing-addons {
    padding: 4.75rem 0 5rem;
    background: #fffdf9;
}
.pg-pricing-addons-head {
    text-align: center;
    margin-bottom: 2.5rem;
}
.pg-pricing-addons-head h2 {
    margin: .35rem auto .85rem;
    max-width: 20ch;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.6vw, 2.85rem);
    line-height: 1.12;
    letter-spacing: -.03em;
    color: #17120e;
}
.pg-pricing-addons-head h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-pricing-addons-head .pg-section-lead {
    margin: 0 auto;
    color: #5a5046;
}
.pg-pricing-addons-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}
.pg-pricing-addon {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1rem;
    align-items: start;
    padding: 1.25rem 1.2rem;
    border-radius: 18px;
    background: #f7f3ed;
    border: 1px solid rgba(40, 28, 18, .06);
    color: inherit;
    transition: transform .3s var(--ease-out), box-shadow .3s, border-color .3s, background .3s;
}
.pg-pricing-addon:hover {
    transform: translateY(-3px);
    background: #fff;
    border-color: rgba(241, 103, 36, .22);
    box-shadow: 0 18px 40px rgba(90, 40, 10, .08);
}
.pg-pricing-addon-ico {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(241, 103, 36, .12);
    color: var(--pg-orange);
}
.pg-pricing-addon h3 {
    margin: 0 0 .35rem;
    font-family: var(--font-display);
    font-size: 1.15rem;
    color: #17120e;
}
.pg-pricing-addon p {
    margin: 0;
    color: #5a5046;
    font-size: .9rem;
    line-height: 1.55;
}
.pg-pricing-addon-arrow {
    margin-top: .35rem;
    color: var(--pg-orange);
    opacity: .55;
    transition: transform .3s, opacity .3s;
}
.pg-pricing-addon:hover .pg-pricing-addon-arrow {
    opacity: 1;
    transform: translateX(3px);
}

.pg-pricing-cta {
    padding: 0 0 5rem;
    background: linear-gradient(180deg, #fffdf9 0%, #f3ebe1 100%);
}
.pg-pricing-cta-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: 2rem;
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-radius: 24px;
    background:
        radial-gradient(ellipse at 12% 20%, rgba(241, 103, 36, .22), transparent 42%),
        linear-gradient(145deg, #1c1612 0%, #2a2018 55%, #1a140f 100%);
    color: #fff;
    box-shadow: 0 30px 60px rgba(40, 24, 12, .22);
    overflow: hidden;
}
.pg-pricing-cta-copy {
    position: relative;
    z-index: 1;
}
.pg-pricing-cta-copy h2 {
    margin: .4rem 0 .85rem;
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 3vw, 2.55rem);
    line-height: 1.12;
    color: #fffaf4;
}
.pg-pricing-cta-copy > p {
    margin: 0 0 1.25rem;
    max-width: 38ch;
    color: rgba(255, 245, 235, .72);
    line-height: 1.65;
}
.pg-pricing-cta-perks {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem .75rem;
    margin: 0 0 1.4rem;
    padding: 0;
    list-style: none;
}
.pg-pricing-cta-perks li {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .4rem .75rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 210, 160, .16);
    font-size: .82rem;
    font-weight: 650;
}
.pg-pricing-cta-perks i { color: #ffb35a; font-size: .72rem; }
.pg-pricing-cta-contact {
    display: flex;
    flex-direction: column;
    gap: .55rem;
}
.pg-pricing-cta-contact a {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: rgba(255, 245, 235, .88);
    font-weight: 650;
}
.pg-pricing-cta-contact a:hover { color: #ffb35a; }
.pg-pricing-cta-contact i { color: #ffb35a; }
.pg-pricing-cta-form-wrap {
    position: relative;
    z-index: 1;
    padding: 0;
    border-radius: 0;
    background: none;
    border: 0;
    backdrop-filter: none;
}
.pg-pricing-cta-form-wrap h3 {
    margin: 0 0 .4rem;
    font-family: var(--font-display);
    font-size: 1.45rem;
}
.pg-pricing-cta-form-wrap > p {
    margin: 0 0 1.1rem;
    color: rgba(255, 245, 235, .62);
    font-size: .92rem;
}
.pg-pricing-cta-form .pg-input,
.pg-pricing-cta-form .pg-textarea {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .12);
    color: #fff;
}
.pg-pricing-cta-form .pg-input::placeholder,
.pg-pricing-cta-form .pg-textarea::placeholder {
    color: rgba(255, 255, 255, .42);
}
.pg-pricing-cta-form .pg-input:focus,
.pg-pricing-cta-form .pg-textarea:focus {
    background: rgba(255, 255, 255, .09);
    border-color: rgba(241, 103, 36, .55);
    box-shadow: 0 0 0 3px rgba(241, 103, 36, .14);
}

@media (max-width: 1199.98px) {
    .pg-pricing-card--signature { transform: translateY(-4px) scale(1); }
    .pg-pricing-grid { gap: 1rem; }
}

/* =========================================================
   LEGAL PAGES (Privacy / Terms)
   ========================================================= */
.pg-legal-page .pg-header-shell:not(.is-scrolled) .pg-menu > li > a {
    color: rgba(30, 22, 16, .82);
}
.pg-legal-page .pg-header-shell:not(.is-scrolled) .pg-menu > li.active > a,
.pg-legal-page .pg-header-shell:not(.is-scrolled) .pg-menu > li > a:hover {
    color: var(--pg-orange);
}
.pg-legal-page .pg-header-shell:not(.is-scrolled) .pg-header-call-txt small,
.pg-legal-page .pg-header-shell:not(.is-scrolled) .pg-header-call-txt strong {
    color: #1e1610;
}
.pg-legal-page .pg-header-shell:not(.is-scrolled) .pg-toggler span {
    background: #1e1610;
}

.pg-legal-hero {
    min-height: clamp(300px, 42vh, 400px);
    color: var(--pg-ink);
    background:
        radial-gradient(ellipse at 78% 8%, rgba(241, 103, 36, .12), transparent 40%),
        linear-gradient(180deg, transparent 55%, rgba(70, 48, 28, .08) 100%),
        linear-gradient(165deg, #f6f3ee 0%, #efe8df 45%, #e9e1d6 100%);
}
.pg-legal-hero .pg-page-hero-wash {
    mask-image: radial-gradient(ellipse at 50% 42%, #000 18%, transparent 68%);
}
.pg-legal-hero .pg-page-hero-glow.g1 {
    width: 360px;
    height: 360px;
    right: -100px;
    top: -60px;
    background: radial-gradient(circle, rgba(241, 103, 36, .16), transparent 68%);
}
.pg-legal-hero .pg-page-hero-glow.g2 {
    width: 240px;
    height: 240px;
    left: -60px;
    bottom: -80px;
    background: radial-gradient(circle, rgba(255, 180, 80, .14), transparent 70%);
}
.pg-legal-hero .container { position: relative; z-index: 2; }
.pg-legal-hero .pg-page-hero-inner {
    max-width: 680px;
    margin: 0 auto;
    text-align: center;
}
.pg-legal-hero .pg-eyebrow { color: #7a4a28; }
.pg-legal-hero .pg-eyebrow::before { background: var(--pg-orange); }
.pg-legal-hero h1 {
    margin: 0 0 .85rem;
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 4.4vw, 3.3rem);
    line-height: 1.08;
    letter-spacing: -.03em;
    color: #17120e;
}
.pg-legal-hero h1 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-legal-hero .pg-page-hero-flourish {
    display: block;
    width: 86px;
    height: 14px;
    margin: 0 auto 1rem;
    background:
        radial-gradient(circle at 50% 50%, var(--pg-orange) 0 2.5px, transparent 3px),
        linear-gradient(90deg, transparent, rgba(241, 103, 36, .55) 22%, rgba(241, 103, 36, .55) 78%, transparent);
    background-size: 100% 100%, 100% 1.5px;
    background-position: center, center;
    background-repeat: no-repeat;
}
.pg-legal-hero .pg-page-hero-lead {
    margin: 0 auto;
    max-width: 46ch;
    color: #5a5046;
    font-size: 1.05rem;
    line-height: 1.7;
}

.pg-legal {
    padding: 3.5rem 0 4.5rem;
    background: #f7f4ef;
}
.pg-legal-wrap {
    max-width: 820px;
    margin: 0 auto;
    padding: clamp(1.6rem, 3vw, 2.4rem);
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(40, 28, 18, .06);
    box-shadow: 0 20px 48px rgba(70, 40, 15, .06);
}
.pg-legal-intro {
    margin: 0 0 1.75rem;
    padding-bottom: 1.35rem;
    border-bottom: 1px solid rgba(40, 28, 18, .08);
}
.pg-legal-wrap h2 {
    margin: 1.75rem 0 .75rem;
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2.2vw, 1.65rem);
    color: #17120e;
}
.pg-legal-wrap h3 {
    margin: 1.2rem 0 .55rem;
    font-family: var(--font-display);
    font-size: 1.12rem;
    color: #2a221a;
}
.pg-legal-wrap p {
    margin: 0 0 1rem;
    color: #5a5046;
    line-height: 1.75;
}
.pg-legal-wrap ul {
    margin: 0 0 1.15rem;
    padding: 0 0 0 1.15rem;
    list-style: disc;
}
.pg-legal-wrap li {
    margin: 0 0 .55rem;
    color: #5a5046;
    line-height: 1.65;
}
.pg-legal-wrap a {
    color: var(--pg-orange);
    font-weight: 650;
}
.pg-legal-wrap a:hover {
    text-decoration: underline;
}
.pg-legal-contact {
    margin-top: 2rem;
    padding: 1.25rem 1.2rem;
    border-radius: 14px;
    background: #f7f3ed;
    border: 1px solid rgba(241, 103, 36, .12);
}
.pg-legal-contact h2 {
    margin-top: 0;
}

/* =========================================================
   PUBLISHING PAGE
   ========================================================= */
.pg-pub-intro {
    padding: 4.5rem 0 3.5rem;
    background: #f7f4ef;
}
.pg-pub-intro-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    gap: clamp(1.75rem, 4vw, 3rem);
    align-items: start;
}
.pg-pub-intro-copy h2 {
    margin: .35rem 0 1rem;
    max-width: 16ch;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.6vw, 2.9rem);
    line-height: 1.12;
    letter-spacing: -.03em;
    color: #17120e;
}
.pg-pub-intro-copy h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-pub-intro-copy p {
    margin: 0 0 1rem;
    max-width: 52ch;
    color: #5a5046;
    line-height: 1.7;
}
.pg-pub-intro-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .85rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.pg-pub-intro-stats li {
    padding: 1.1rem 1rem;
    border-radius: 16px;
    background: #fff;
    border: 1px solid rgba(40, 28, 18, .06);
    box-shadow: 0 14px 32px rgba(70, 40, 15, .05);
}
.pg-pub-intro-stats strong {
    display: block;
    margin-bottom: .3rem;
    font-family: var(--font-display);
    font-size: 1.15rem;
    color: #17120e;
}
.pg-pub-intro-stats span {
    color: #6a5f54;
    font-size: .88rem;
    line-height: 1.45;
}

.pg-pub-pillars {
    padding: 4.25rem 0 4.5rem;
    background: #fffdf9;
}
.pg-pub-pillars-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}
.pg-pub-pillar {
    padding: 1.45rem 1.25rem 1.3rem;
    border-radius: 18px;
    background: #f7f3ed;
    border: 1px solid rgba(40, 28, 18, .06);
    transition: transform .3s var(--ease-out), box-shadow .3s, background .3s;
}
.pg-pub-pillar:hover {
    transform: translateY(-4px);
    background: #fff;
    box-shadow: 0 20px 44px rgba(90, 40, 10, .08);
}
.pg-pub-pillar-ico {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin-bottom: 1rem;
    border-radius: 14px;
    background: rgba(241, 103, 36, .12);
    color: var(--pg-orange);
}
.pg-pub-pillar h3 {
    margin: 0 0 .5rem;
    font-family: var(--font-display);
    font-size: 1.25rem;
    color: #17120e;
}
.pg-pub-pillar p {
    margin: 0 0 1rem;
    color: #5a5046;
    font-size: .92rem;
    line-height: 1.6;
}
.pg-pub-pillar a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: var(--pg-orange);
    font-weight: 700;
    font-size: .88rem;
}
.pg-pub-pillar a:hover i {
    transform: translateX(3px);
}
.pg-pub-pillar a i {
    transition: transform .25s ease;
    font-size: .75rem;
}

.pg-pub-genres {
    padding: 4.25rem 0 4.5rem;
    background: #f4efe7;
}
.pg-pub-genres-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1rem;
}
.pg-pub-genre {
    padding: 1.5rem 1.35rem;
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(40, 28, 18, .06);
    box-shadow: 0 16px 36px rgba(70, 40, 15, .05);
}
.pg-pub-genre-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}
.pg-pub-genre-num {
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 700;
    color: rgba(241, 103, 36, .55);
}
.pg-pub-genre-ico {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(241, 103, 36, .1);
    color: var(--pg-orange);
}
.pg-pub-genre h3 {
    margin: 0 0 .5rem;
    font-family: var(--font-display);
    font-size: 1.35rem;
    color: #17120e;
}
.pg-pub-genre p {
    margin: 0 0 1rem;
    color: #5a5046;
    line-height: 1.65;
}
.pg-pub-genre-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}
.pg-pub-genre-tags span {
    padding: .32rem .7rem;
    border-radius: 999px;
    background: #f7f3ed;
    border: 1px solid rgba(40, 28, 18, .06);
    font-size: .74rem;
    font-weight: 650;
    color: #3d342c;
}

.pg-pub-vision {
    padding: 4.5rem 0;
    background: #fffdf9;
}
.pg-pub-vision-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(1.75rem, 4vw, 3rem);
    align-items: center;
}
.pg-pub-vision-copy h2 {
    margin: .35rem 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(2.1rem, 3.8vw, 3.1rem);
    line-height: 1.1;
    color: #17120e;
}
.pg-pub-vision-copy h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-pub-vision-copy > p {
    margin: 0 0 1.4rem;
    max-width: 46ch;
    color: #5a5046;
    line-height: 1.7;
}
.pg-pub-vision-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}
.pg-pub-vision-list {
    display: flex;
    flex-direction: column;
    gap: .85rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.pg-pub-vision-list li {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1.05rem 1.1rem;
    border-radius: 16px;
    background: #f7f3ed;
    border: 1px solid rgba(40, 28, 18, .05);
}
.pg-pub-vision-list li > span {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(160deg, #ff8a4a, var(--pg-orange));
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
}
.pg-pub-vision-list strong {
    display: block;
    margin-bottom: .2rem;
    font-family: var(--font-display);
    font-size: 1.1rem;
    color: #17120e;
}
.pg-pub-vision-list p {
    margin: 0;
    color: #5a5046;
    font-size: .9rem;
    line-height: 1.55;
}

.pg-pub-path {
    padding: 0 0 4.5rem;
    background: #fffdf9;
}
.pg-pub-path-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.15rem;
}
.pg-pub-path-card {
    position: relative;
    padding: 1.85rem 1.5rem 1.55rem;
    border-radius: 22px;
    background:
        radial-gradient(ellipse at 12% 0%, rgba(241, 103, 36, .12), transparent 50%),
        linear-gradient(165deg, #fff8f1, #fff);
    border: 1px solid rgba(241, 103, 36, .14);
    box-shadow: 0 20px 48px rgba(70, 40, 15, .06);
}
.pg-pub-path-num {
    display: inline-block;
    margin-bottom: .85rem;
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--pg-orange);
}
.pg-pub-path-card h3 {
    margin: 0 0 .7rem;
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2.2vw, 1.7rem);
    line-height: 1.2;
    color: #17120e;
}
.pg-pub-path-card p {
    margin: 0 0 1.25rem;
    color: #5a5046;
    line-height: 1.65;
}

@media (max-width: 991.98px) {
    .pg-pub-intro-layout,
    .pg-pub-vision-layout,
    .pg-pub-path-grid,
    .pg-pub-genres-grid {
        grid-template-columns: 1fr;
    }
    .pg-pub-pillars-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 575.98px) {
    .pg-pub-pillars-grid,
    .pg-pub-intro-stats {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   MARKETING PAGE (extends publishing layout)
   ========================================================= */
.pg-mkt-audience-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
.pg-mkt-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: .85rem;
    color: var(--pg-orange);
    font-weight: 700;
    font-size: .88rem;
}
.pg-mkt-link i {
    font-size: .75rem;
    transition: transform .25s ease;
}
.pg-mkt-link:hover i {
    transform: translateX(3px);
}
.pg-mkt-includes {
    padding: 4.25rem 0 4.5rem;
    background: #fffdf9;
}
.pg-mkt-includes-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem 1.25rem;
    max-width: 920px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}
.pg-mkt-includes-grid li {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    padding: .95rem 1.05rem;
    border-radius: 14px;
    background: #f7f3ed;
    border: 1px solid rgba(40, 28, 18, .05);
    color: #2a221a;
    font-size: .92rem;
    line-height: 1.45;
}
.pg-mkt-includes-grid i {
    margin-top: .15rem;
    color: var(--pg-orange);
    flex-shrink: 0;
}
.pg-mkt-shelves {
    background: #f4efe7;
}
.pg-mkt-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: none;
}
.pg-mkt-steps li {
    display: flex;
    gap: .9rem;
    align-items: flex-start;
    padding: 1.15rem 1.1rem;
    border-radius: 16px;
    background: #f7f3ed;
    border: 1px solid rgba(40, 28, 18, .05);
}
.pg-mkt-steps li > span {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(160deg, #ff8a4a, var(--pg-orange));
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
}
.pg-mkt-steps strong {
    display: block;
    margin-bottom: .25rem;
    font-family: var(--font-display);
    font-size: 1.08rem;
    color: #17120e;
}
.pg-mkt-steps p {
    margin: 0;
    color: #5a5046;
    font-size: .9rem;
    line-height: 1.55;
}

@media (max-width: 991.98px) {
    .pg-mkt-audience-grid,
    .pg-mkt-steps {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 575.98px) {
    .pg-mkt-audience-grid,
    .pg-mkt-steps,
    .pg-mkt-includes-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   SHARED PREMIUM SERVICE SYSTEM (.pg-svc-*)
   ========================================================= */
.pg-svc-section {
    position: relative;
    overflow: hidden;
    padding: 4.75rem 0;
}
.pg-svc-section--cream { background: #f7f4ef; }
.pg-svc-section--paper { background: #fffdf9; }
.pg-svc-section--warm { background: #f4efe7; }
.pg-svc-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.pg-svc-orb {
    position: absolute;
    border-radius: 50%;
}
.pg-svc-orb.o1 {
    width: 320px;
    height: 320px;
    left: -90px;
    top: 8%;
    background: radial-gradient(circle, rgba(241, 103, 36, .12), transparent 70%);
}
.pg-svc-orb.o2 {
    width: 280px;
    height: 280px;
    right: -70px;
    bottom: 10%;
    background: radial-gradient(circle, rgba(255, 180, 90, .12), transparent 70%);
}
.pg-svc-gridwash {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(40, 28, 18, .028) 1px, transparent 1px),
        linear-gradient(90deg, rgba(40, 28, 18, .028) 1px, transparent 1px);
    background-size: 52px 52px;
    mask-image: radial-gradient(ellipse at 50% 40%, #000 22%, transparent 72%);
    opacity: .85;
}
.pg-svc-section .pg-section-head {
    position: relative;
    z-index: 1;
    margin-bottom: 2.5rem;
}
.pg-svc-section .pg-section-head h2 {
    margin: .35rem auto .85rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.6vw, 2.95rem);
    line-height: 1.12;
    letter-spacing: -.03em;
    color: #17120e;
}
.pg-svc-section .pg-section-head h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-svc-section .pg-section-lead {
    margin: 0 auto;
    color: #5a5046;
}

.pg-svc-split {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    gap: clamp(1.75rem, 4vw, 3rem);
    align-items: start;
}
.pg-svc-split-copy h2 {
    margin: .35rem 0 1rem;
    max-width: 16ch;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.6vw, 2.9rem);
    line-height: 1.12;
    letter-spacing: -.03em;
    color: #17120e;
}
.pg-svc-split-copy h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-svc-split-copy p {
    margin: 0 0 1rem;
    max-width: 52ch;
    color: #5a5046;
    line-height: 1.7;
}
.pg-svc-tiles {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .85rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.pg-svc-tiles li {
    padding: 1.15rem 1.05rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(40, 28, 18, .06);
    box-shadow: 0 14px 32px rgba(70, 40, 15, .05);
    transition: transform .3s var(--ease-out), box-shadow .3s;
}
.pg-svc-tiles li:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 40px rgba(70, 40, 15, .08);
}
.pg-svc-tiles strong {
    display: block;
    margin-bottom: .3rem;
    font-family: var(--font-display);
    font-size: 1.15rem;
    color: #17120e;
}
.pg-svc-tiles span {
    color: #6a5f54;
    font-size: .88rem;
    line-height: 1.45;
}

.pg-svc-card-grid {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 1rem;
}
.pg-svc-card-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pg-svc-card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pg-svc-card-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pg-svc-card {
    position: relative;
    overflow: hidden;
    padding: 1.55rem 1.3rem 1.4rem;
    border-radius: 20px;
    background: linear-gradient(165deg, #fff 0%, #fffaf5 100%);
    border: 1px solid rgba(40, 28, 18, .06);
    box-shadow: 0 18px 40px rgba(70, 40, 15, .06);
    transition: transform .35s var(--ease-out), box-shadow .35s, border-color .35s;
}
.pg-svc-card::before {
    content: "";
    position: absolute;
    left: 1.1rem;
    right: 1.1rem;
    top: 0;
    height: 3px;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, transparent, rgba(241, 103, 36, .55), transparent);
    opacity: 0;
    transition: opacity .3s ease;
}
.pg-svc-card:hover {
    transform: translateY(-5px);
    border-color: rgba(241, 103, 36, .18);
    box-shadow: 0 26px 52px rgba(90, 40, 10, .1);
}
.pg-svc-card:hover::before { opacity: 1; }
.pg-svc-card-ico {
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    margin-bottom: 1rem;
    border-radius: 15px;
    background: linear-gradient(160deg, rgba(255, 138, 74, .18), rgba(241, 103, 36, .12));
    color: var(--pg-orange);
    font-size: 1.1rem;
    box-shadow: 0 0 0 5px rgba(241, 103, 36, .06);
}
.pg-svc-card h3 {
    margin: 0 0 .5rem;
    font-family: var(--font-display);
    font-size: 1.28rem;
    color: #17120e;
}
.pg-svc-card p {
    margin: 0 0 1rem;
    color: #5a5046;
    font-size: .92rem;
    line-height: 1.6;
}
.pg-svc-card p:last-child { margin-bottom: 0; }
.pg-svc-card-link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: var(--pg-orange);
    font-weight: 700;
    font-size: .88rem;
}
.pg-svc-card-link i {
    font-size: .75rem;
    transition: transform .25s ease;
}
.pg-svc-card-link:hover i { transform: translateX(3px); }

.pg-svc-promise {
    position: relative;
    overflow: hidden;
    padding: 4.5rem 0;
    background: #fffdf9;
}
.pg-svc-promise-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.pg-svc-promise-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}
.pg-svc-promise .pg-svc-card {
    background: #f7f3ed;
}

.pg-svc-process {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .85rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.pg-svc-process--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pg-svc-process--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pg-svc-process--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.pg-svc-process--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pg-svc-process li {
    position: relative;
    padding: 1.35rem 1.15rem 1.25rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(40, 28, 18, .06);
    box-shadow: 0 16px 36px rgba(70, 40, 15, .05);
}
.pg-svc-process li > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: .85rem;
    border-radius: 50%;
    background: linear-gradient(160deg, #ff8a4a, var(--pg-orange));
    color: #fff;
    font-size: .78rem;
    font-weight: 800;
    box-shadow: 0 12px 24px rgba(241, 103, 36, .28);
}
.pg-svc-process strong {
    display: block;
    margin-bottom: .35rem;
    font-family: var(--font-display);
    font-size: 1.1rem;
    color: #17120e;
}
.pg-svc-process p {
    margin: 0;
    color: #5a5046;
    font-size: .88rem;
    line-height: 1.55;
}

.pg-svc-feature {
    position: relative;
    z-index: 1;
    padding: 1.55rem 1.35rem;
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(40, 28, 18, .06);
    box-shadow: 0 16px 36px rgba(70, 40, 15, .05);
}
.pg-svc-feature-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1rem;
}
.pg-svc-feature-num {
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 700;
    color: rgba(241, 103, 36, .5);
}
.pg-svc-feature-ico {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(241, 103, 36, .1);
    color: var(--pg-orange);
}
.pg-svc-feature h3 {
    margin: 0 0 .5rem;
    font-family: var(--font-display);
    font-size: 1.35rem;
    color: #17120e;
}
.pg-svc-feature p {
    margin: 0 0 1rem;
    color: #5a5046;
    line-height: 1.65;
}
.pg-svc-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}
.pg-svc-tags span {
    padding: .32rem .7rem;
    border-radius: 999px;
    background: #f7f3ed;
    border: 1px solid rgba(40, 28, 18, .06);
    font-size: .74rem;
    font-weight: 650;
    color: #3d342c;
}

.pg-svc-check-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem 1.15rem;
    max-width: 920px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
}
.pg-svc-check-grid li {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    padding: 1rem 1.05rem;
    border-radius: 14px;
    background: #f7f3ed;
    border: 1px solid rgba(40, 28, 18, .05);
    color: #2a221a;
    font-size: .92rem;
    line-height: 1.45;
}
.pg-svc-check-grid i {
    margin-top: .12rem;
    color: var(--pg-orange);
    flex-shrink: 0;
}

.pg-svc-paths {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(1.15rem, 2.5vw, 1.65rem);
}
.pg-svc-vision + .pg-svc-paths {
    margin-top: clamp(2.75rem, 5vw, 3.75rem);
    padding-top: clamp(2.5rem, 4.5vw, 3.25rem);
}
.pg-svc-vision + .pg-svc-paths::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: min(100%, 720px);
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, rgba(241, 103, 36, .28), transparent);
}
.pg-svc-path {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: clamp(1.85rem, 3vw, 2.35rem) clamp(1.45rem, 2.5vw, 2rem) clamp(1.65rem, 2.5vw, 2rem);
    border-radius: 4px;
    background:
        linear-gradient(165deg, rgba(255, 252, 248, .98) 0%, #fff 55%, rgba(255, 247, 240, .94) 100%);
    border: 1px solid rgba(40, 28, 18, .07);
    box-shadow:
        0 18px 40px rgba(70, 40, 15, .05),
        0 0 0 1px rgba(255, 255, 255, .55) inset;
    overflow: hidden;
    transition: transform .35s var(--ease-out), box-shadow .35s ease, border-color .35s ease;
}
.pg-svc-path::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--pg-orange), rgba(241, 103, 36, .15));
    opacity: .85;
}
.pg-svc-path::after {
    content: "";
    position: absolute;
    inset: auto -12% -28% auto;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(241, 103, 36, .1), transparent 70%);
    pointer-events: none;
}
.pg-svc-path:hover {
    transform: translateY(-4px);
    border-color: rgba(241, 103, 36, .2);
    box-shadow:
        0 26px 52px rgba(70, 40, 15, .08),
        0 0 0 1px rgba(255, 255, 255, .65) inset;
}
.pg-svc-path-num {
    display: inline-block;
    margin-bottom: 1.05rem;
    font-family: var(--font-display);
    font-size: 1.65rem;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1;
    color: var(--pg-orange);
}
.pg-svc-path h3 {
    margin: 0 0 .85rem;
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2.2vw, 1.72rem);
    line-height: 1.22;
    color: #17120e;
}
.pg-svc-path p {
    margin: 0 0 1.65rem;
    flex: 1;
    color: #5a5046;
    font-size: .95rem;
    line-height: 1.72;
}
.pg-svc-path .pg-btn {
    align-self: flex-start;
}

.pg-svc-vision {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: clamp(2.25rem, 5vw, 4rem);
    align-items: center;
}
.pg-svc-vision-copy {
    padding-right: clamp(0rem, 2vw, 1rem);
}
.pg-svc-vision-copy h2 {
    margin: .4rem 0 1.15rem;
    font-family: var(--font-display);
    font-size: clamp(2.25rem, 4vw, 3.35rem);
    line-height: 1.08;
    color: #17120e;
}
.pg-svc-vision-copy h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-svc-vision-copy > p {
    margin: 0 0 1.75rem;
    max-width: 42ch;
    color: #5a5046;
    font-size: 1.02rem;
    line-height: 1.78;
}
.pg-svc-vision-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .85rem;
}
.pg-svc-vision-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin: 0;
    padding: 1.15rem;
    list-style: none;
    border-radius: 4px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .72), rgba(255, 250, 244, .55));
    border: 1px solid rgba(40, 28, 18, .06);
    box-shadow: 0 18px 42px rgba(70, 40, 15, .04);
}
.pg-svc-vision-list li {
    display: flex;
    gap: 1.05rem;
    align-items: flex-start;
    padding: 1.15rem 1.2rem;
    border-radius: 4px;
    background: #fff;
    border: 1px solid rgba(40, 28, 18, .05);
    box-shadow: 0 8px 20px rgba(70, 40, 15, .03);
    transition: transform .3s var(--ease-out), border-color .3s ease, box-shadow .3s ease;
}
.pg-svc-vision-list li:hover {
    transform: translateX(4px);
    border-color: rgba(241, 103, 36, .18);
    box-shadow: 0 12px 28px rgba(70, 40, 15, .06);
}
.pg-svc-vision-list li > span {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(160deg, #ff8a4a, var(--pg-orange));
    color: #fff;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .02em;
    box-shadow: 0 8px 18px rgba(241, 103, 36, .28);
}
.pg-svc-vision-list strong {
    display: block;
    margin-bottom: .28rem;
    font-family: var(--font-display);
    font-size: 1.12rem;
    line-height: 1.2;
    color: #17120e;
}
.pg-svc-vision-list p {
    margin: 0;
    color: #5a5046;
    font-size: .9rem;
    line-height: 1.62;
}

.pg-svc-closeout {
    padding-bottom: clamp(4rem, 7vw, 5.5rem);
}

.pg-inner-stats {
    padding-top: 0;
    margin-top: -1.5rem;
    position: relative;
    z-index: 2;
}

.pg-pricing-how {
    padding: 3.5rem 0 0;
}
.pg-pricing-how .pg-svc-process {
    margin-top: .5rem;
}
.pg-svc-process + .pg-section-actions,
.pg-svc-card-grid + .pg-section-actions,
.pg-pricing-how + .pg-section-actions,
.pg-genre-visual .pg-section-actions {
    margin-top: 2.25rem;
}

/* =========================================================
   EDITING PAGES - premium editorial (unique, not genre clone)
   ========================================================= */
.pg-edit-kicker {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: .9rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--pg-orange);
}
.pg-edit-kicker i {
    font-size: .78rem;
    opacity: .9;
}

.pg-edit-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    filter: blur(2px);
}
.pg-edit-orb.o1 {
    width: 340px;
    height: 340px;
    left: -120px;
    top: 8%;
    background: radial-gradient(circle, rgba(241, 103, 36, .16), transparent 70%);
}
.pg-edit-orb.o2 {
    width: 280px;
    height: 280px;
    right: -80px;
    bottom: 5%;
    background: radial-gradient(circle, rgba(255, 180, 100, .12), transparent 70%);
}
.pg-edit-orb.o3 {
    width: 300px;
    height: 300px;
    right: -60px;
    top: 20%;
    background: radial-gradient(circle, rgba(241, 103, 36, .12), transparent 70%);
}
.pg-edit-orb.o4 {
    width: 360px;
    height: 360px;
    left: -100px;
    bottom: -40px;
    background: radial-gradient(circle, rgba(241, 103, 36, .18), transparent 70%);
}

.pg-edit-corner {
    position: absolute;
    width: 18px;
    height: 18px;
    border: 1.5px solid rgba(241, 103, 36, .55);
    z-index: 2;
    pointer-events: none;
}
.pg-edit-corner.c-tl { top: 10px; left: 10px; border-right: 0; border-bottom: 0; }
.pg-edit-corner.c-tr { top: 10px; right: 10px; border-left: 0; border-bottom: 0; }
.pg-edit-corner.c-bl { bottom: 10px; left: 10px; border-right: 0; border-top: 0; }
.pg-edit-corner.c-br { bottom: 10px; right: 10px; border-left: 0; border-top: 0; }

.pg-edit-desk {
    position: relative;
    padding: clamp(3.75rem, 7vw, 5.75rem) 0;
    background:
        linear-gradient(180deg, #fbf8f3 0%, #f4efe7 100%);
    overflow: hidden;
}
.pg-edit-desk-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.pg-edit-desk-bg .pg-edit-rule {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(241, 103, 36, .28), transparent);
}
.pg-edit-desk-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: clamp(2rem, 4.5vw, 3.75rem);
    align-items: center;
}
.pg-edit-desk-photo {
    position: relative;
    margin: 0;
    padding: .75rem 0 1.1rem .85rem;
}
.pg-edit-photo-mat {
    position: absolute;
    inset: 1.5rem 0 0 1.7rem;
    border-radius: 3px;
    background: linear-gradient(145deg, rgba(241, 103, 36, .2), rgba(241, 103, 36, .04));
}
.pg-edit-photo-frame {
    position: relative;
    border-radius: 3px;
    overflow: hidden;
    min-height: 420px;
    aspect-ratio: 4 / 3;
    background: #1c1610;
    box-shadow:
        0 32px 70px rgba(40, 24, 12, .2),
        0 0 0 1px rgba(255, 255, 255, .08) inset;
}
.pg-edit-photo-frame img,
.pg-edit-desk-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .7s var(--ease-out);
}
.pg-edit-desk-photo:hover .pg-edit-photo-frame img {
    transform: scale(1.05);
}
.pg-edit-desk-photo figcaption {
    position: absolute;
    left: .85rem;
    bottom: 0;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    padding: .75rem 1.05rem;
    border-radius: 3px;
    background: #fff;
    border: 1px solid rgba(40, 28, 18, .08);
    box-shadow: 0 16px 36px rgba(40, 24, 12, .14);
    color: #17120e;
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-style: italic;
}
.pg-edit-desk-photo figcaption i {
    color: var(--pg-orange);
}
.pg-edit-desk-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: .35rem 0;
}
.pg-edit-desk-copy h2 {
    margin: 0 0 1.05rem;
    font-family: var(--font-display);
    font-size: clamp(2.1rem, 3.8vw, 3rem);
    line-height: 1.1;
    color: #17120e;
    letter-spacing: -.02em;
}
.pg-edit-desk-copy h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-edit-desk-copy > p {
    margin: 0 0 1.55rem;
    color: #5a5046;
    font-size: 1.04rem;
    line-height: 1.78;
    max-width: 44ch;
}
.pg-edit-checks {
    list-style: none;
    margin: 0 0 1.85rem;
    padding: 1.05rem 1.15rem;
    display: flex;
    flex-direction: column;
    gap: .85rem;
    border-radius: 3px;
    background: rgba(255, 255, 255, .72);
    border: 1px solid rgba(40, 28, 18, .06);
    box-shadow: 0 14px 36px rgba(40, 24, 12, .04);
}
.pg-edit-checks li {
    display: flex;
    gap: .85rem;
    align-items: flex-start;
}
.pg-edit-check-mark {
    position: relative;
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: linear-gradient(160deg, #ff8a4a, var(--pg-orange));
    box-shadow: 0 6px 14px rgba(241, 103, 36, .28);
}
.pg-edit-check-mark::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 6px;
    height: 11px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: translate(-50%, -58%) rotate(45deg);
    box-sizing: border-box;
}
.pg-edit-check-mark i {
    display: none;
}
.pg-edit-checks strong {
    display: block;
    font-size: .96rem;
    color: #17120e;
}
.pg-edit-checks span {
    display: block;
    margin-top: .18rem;
    font-size: .88rem;
    color: #6a5f54;
    line-height: 1.45;
}
.pg-edit-desk-copy .pg-section-actions {
    margin-top: 0;
    justify-content: flex-start;
}

.pg-edit-rail {
    position: relative;
    padding: clamp(3.75rem, 6.5vw, 5.25rem) 0;
    background: #fffdf9;
    overflow: hidden;
}
.pg-edit-rail-wash {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 50% 0%, rgba(241, 103, 36, .07), transparent 55%);
    pointer-events: none;
}
.pg-edit-rail-head {
    position: relative;
    z-index: 1;
    max-width: 640px;
    margin-bottom: 2.5rem;
}
.pg-edit-rail-head h2 {
    margin: 0 0 .8rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.4vw, 2.7rem);
    line-height: 1.12;
    color: #17120e;
}
.pg-edit-rail-head h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-edit-rail-head p {
    margin: 0;
    color: #5a5046;
    line-height: 1.7;
}
.pg-edit-rail-track {
    position: relative;
    z-index: 1;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}
.pg-edit-rail-track::before {
    content: "";
    position: absolute;
    top: 2.35rem;
    left: 10%;
    right: 10%;
    height: 2px;
    background: linear-gradient(90deg, rgba(241, 103, 36, .12), rgba(241, 103, 36, .5), rgba(241, 103, 36, .12));
    z-index: 0;
}
.pg-edit-rail-track li {
    position: relative;
    z-index: 1;
}
.pg-edit-rail-track a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
    color: inherit;
    height: 100%;
    padding: 0 .75rem 1.35rem;
    border-radius: 3px;
    background: linear-gradient(180deg, #fff 0%, #faf6f0 100%);
    border: 1px solid rgba(40, 28, 18, .07);
    box-shadow: 0 16px 40px rgba(40, 24, 12, .05);
    transition: transform .35s var(--ease-out), box-shadow .35s, border-color .35s;
}
.pg-edit-rail-track a:hover {
    transform: translateY(-6px);
    border-color: rgba(241, 103, 36, .28);
    box-shadow: 0 24px 48px rgba(40, 24, 12, .1);
    color: inherit;
}
.pg-edit-rail-num {
    display: inline-grid;
    place-items: center;
    width: 3.15rem;
    height: 3.15rem;
    margin: 1.15rem 0 .85rem;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--pg-orange);
    color: var(--pg-orange);
    font-size: .78rem;
    font-weight: 800;
    box-shadow: 0 10px 24px rgba(241, 103, 36, .2);
}
.pg-edit-rail-ico {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    margin-bottom: .7rem;
    border-radius: 50%;
    background: rgba(241, 103, 36, .1);
    color: var(--pg-orange);
    font-size: 1rem;
}
.pg-edit-rail-track strong {
    display: block;
    margin-bottom: .45rem;
    font-family: var(--font-display);
    font-size: 1.12rem;
    color: #17120e;
}
.pg-edit-rail-track p {
    margin: 0 0 .85rem;
    flex: 1;
    font-size: .86rem;
    color: #6a5f54;
    line-height: 1.55;
}
.pg-edit-rail-track em {
    font-style: normal;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--pg-orange);
}
.pg-edit-rail-track em i {
    margin-left: .25rem;
    font-size: .68rem;
    transition: transform .3s var(--ease-out);
}
.pg-edit-rail-track a:hover em i {
    transform: translateX(3px);
}

.pg-edit-scope {
    position: relative;
    padding: clamp(3.75rem, 7vw, 5.75rem) 0;
    background: #f0ebe3;
    overflow: hidden;
}
.pg-edit-scope-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.pg-edit-scope-head {
    position: relative;
    z-index: 1;
    max-width: 640px;
    margin-bottom: clamp(1.85rem, 3.5vw, 2.65rem);
}
.pg-edit-scope-head h2 {
    margin: 0 0 .9rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.4vw, 2.7rem);
    line-height: 1.12;
    color: #17120e;
}
.pg-edit-scope-head h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-edit-scope-head > p {
    margin: 0;
    color: #5a5046;
    line-height: 1.72;
    max-width: 48ch;
}
.pg-edit-scope-body {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(1.75rem, 4vw, 3rem);
    align-items: center;
}
.pg-edit-scope-aside-img {
    position: relative;
    border-radius: 3px;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    box-shadow: 0 28px 56px rgba(40, 24, 12, .16);
    background: #1c1610;
}
.pg-edit-scope-aside-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .7s var(--ease-out);
}
.pg-edit-scope-aside-img:hover img {
    transform: scale(1.04);
}
.pg-edit-scope-aside-img .pg-edit-corner {
    border-color: rgba(255, 255, 255, .55);
}
.pg-edit-scope-seal {
    position: absolute;
    right: .9rem;
    bottom: .9rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .55rem .8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    color: #17120e;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    box-shadow: 0 10px 24px rgba(20, 14, 10, .18);
}
.pg-edit-scope-seal i {
    color: var(--pg-orange);
}
.pg-edit-scope-list {
    display: flex;
    flex-direction: column;
    gap: .8rem;
    justify-content: center;
}
.pg-edit-scope-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1rem;
    align-items: start;
    padding: 1.2rem 1.2rem;
    background: linear-gradient(135deg, rgba(255, 253, 249, .98), rgba(255, 248, 240, .92));
    border: 1px solid rgba(40, 28, 18, .06);
    border-left: 3px solid var(--pg-orange);
    border-radius: 0 3px 3px 0;
    box-shadow: 0 12px 30px rgba(40, 24, 12, .05);
    transition: transform .3s var(--ease-out), box-shadow .3s, border-color .3s;
}
.pg-edit-scope-row:hover {
    transform: translateX(6px);
    box-shadow: 0 18px 40px rgba(40, 24, 12, .09);
}
.pg-edit-scope-ico {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 3px;
    background: linear-gradient(160deg, rgba(241, 103, 36, .16), rgba(241, 103, 36, .06));
    color: var(--pg-orange);
    font-size: 1.05rem;
}
.pg-edit-scope-row h3 {
    margin: 0 0 .35rem;
    font-family: var(--font-display);
    font-size: 1.18rem;
    color: #17120e;
}
.pg-edit-scope-row p {
    margin: 0;
    color: #5a5046;
    font-size: .92rem;
    line-height: 1.6;
}
.pg-edit-scope-idx {
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 700;
    color: rgba(241, 103, 36, .28);
    line-height: 1;
}

.pg-edit-timeline {
    position: relative;
    padding: clamp(4rem, 7.5vw, 6rem) 0;
    background: linear-gradient(165deg, #17120e 0%, #221b16 48%, #14100d 100%);
    overflow: hidden;
}
.pg-edit-timeline-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.pg-edit-timeline-bg .pg-edit-grid {
    position: absolute;
    inset: 0;
    opacity: .22;
    background-image:
        linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse at 70% 40%, #000 20%, transparent 70%);
}
.pg-edit-timeline-layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: center;
}
.pg-edit-timeline-intro .pg-edit-kicker {
    color: #ffb07a;
}
.pg-edit-timeline-intro h2 {
    margin: 0 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(2.1rem, 3.6vw, 3rem);
    line-height: 1.1;
    color: #f7f1ea;
}
.pg-edit-timeline-intro h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-edit-timeline-intro > p {
    margin: 0 0 1.35rem;
    color: rgba(247, 241, 234, .72);
    line-height: 1.72;
    max-width: 38ch;
}
.pg-edit-timeline-pills {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    list-style: none;
    margin: 0 0 1.75rem;
    padding: 0;
}
.pg-edit-timeline-pills li {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .45rem .8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(255, 255, 255, .1);
    color: rgba(247, 241, 234, .88);
    font-size: .78rem;
    font-weight: 600;
}
.pg-edit-timeline-pills i {
    color: var(--pg-orange);
    font-size: .72rem;
}
.pg-edit-timeline-steps {
    list-style: none;
    margin: 0;
    padding: 0 0 0 1.35rem;
    border-left: 2px solid rgba(241, 103, 36, .38);
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}
.pg-edit-timeline-steps li {
    position: relative;
    display: flex;
    gap: 1rem;
    align-items: stretch;
    padding-left: .65rem;
}
.pg-edit-timeline-dot {
    position: absolute;
    left: -2.15rem;
    top: 1.05rem;
    width: 2.25rem;
    height: 2.25rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(160deg, #ff8a4a, var(--pg-orange));
    color: #fff;
    font-size: .68rem;
    font-weight: 800;
    box-shadow: 0 0 0 5px #17120e, 0 8px 18px rgba(241, 103, 36, .35);
}
.pg-edit-timeline-card {
    flex: 1;
    padding: 1.15rem 1.2rem;
    border-radius: 3px;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .08);
    backdrop-filter: blur(6px);
    transition: background .3s, border-color .3s, transform .3s var(--ease-out);
}
.pg-edit-timeline-steps li:hover .pg-edit-timeline-card {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(241, 103, 36, .3);
    transform: translateX(4px);
}
.pg-edit-timeline-card strong {
    display: block;
    margin-bottom: .35rem;
    font-family: var(--font-display);
    font-size: 1.2rem;
    color: #f7f1ea;
}
.pg-edit-timeline-card p {
    margin: 0;
    color: rgba(247, 241, 234, .68);
    font-size: .92rem;
    line-height: 1.6;
}

.pg-editing-page .pg-inner-stats {
    margin-top: -1.25rem;
}

@media (max-width: 991.98px) {
    .pg-edit-desk-grid,
    .pg-edit-scope-body,
    .pg-edit-timeline-layout,
    .pg-edit-rail-track {
        grid-template-columns: 1fr;
    }
    .pg-edit-rail-track::before {
        display: none;
    }
    .pg-edit-photo-frame {
        min-height: 280px;
    }
    .pg-edit-scope-aside-img {
        max-width: 520px;
    }
    .pg-edit-rail-track a {
        display: grid;
        grid-template-columns: auto auto 1fr;
        grid-template-rows: auto auto auto;
        gap: .25rem .85rem;
        text-align: left;
        align-items: start;
        padding: 1.1rem 1rem;
    }
    .pg-edit-rail-num {
        grid-row: 1 / span 3;
        margin: 0;
        align-self: center;
    }
    .pg-edit-rail-ico {
        grid-column: 2;
        margin: 0;
    }
    .pg-edit-rail-track strong,
    .pg-edit-rail-track p,
    .pg-edit-rail-track em {
        grid-column: 3;
    }
}
@media (max-width: 575.98px) {
    .pg-edit-scope-row {
        grid-template-columns: auto 1fr;
    }
    .pg-edit-scope-idx {
        display: none;
    }
    .pg-edit-desk-photo {
        padding-left: .35rem;
    }
}

@media (max-width: 991.98px) {
    .pg-svc-split,
    .pg-svc-vision,
    .pg-svc-paths,
    .pg-svc-card-grid--4,
    .pg-svc-process--4,
    .pg-svc-process--5,
    .pg-svc-process {
        grid-template-columns: 1fr 1fr;
    }
    .pg-svc-vision {
        grid-template-columns: 1fr;
        gap: 2rem;
        align-items: stretch;
    }
    .pg-svc-vision-copy {
        padding-right: 0;
        text-align: center;
    }
    .pg-svc-vision-copy > p {
        margin-left: auto;
        margin-right: auto;
    }
    .pg-svc-vision-actions {
        justify-content: center;
    }
    .pg-svc-card-grid--3,
    .pg-svc-promise-grid {
        grid-template-columns: 1fr;
    }
    .pg-svc-process--6 {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 575.98px) {
    .pg-svc-split,
    .pg-svc-vision,
    .pg-svc-paths,
    .pg-svc-tiles,
    .pg-svc-card-grid--2,
    .pg-svc-card-grid--4,
    .pg-svc-process,
    .pg-svc-process--3,
    .pg-svc-process--4,
    .pg-svc-process--5,
    .pg-svc-process--6,
    .pg-svc-check-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   GENRE PAGES
   ========================================================= */
.pg-genre-intro-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: clamp(2rem, 5vw, 3.75rem);
    align-items: center;
}
.pg-genre-intro-copy h2 {
    margin: .35rem 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.6vw, 2.85rem);
    line-height: 1.12;
    color: #17120e;
}
.pg-genre-intro-copy h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-genre-intro-copy > p {
    margin: 0 0 1.5rem;
    max-width: 48ch;
    color: #5a5046;
    font-size: 1.02rem;
    line-height: 1.75;
}
.pg-genre-intro-copy .pg-svc-tiles {
    grid-template-columns: 1fr 1fr;
}

.pg-genre-media-stage {
    position: relative;
    padding: .65rem 0 1.25rem 1rem;
}
.pg-genre-media-mat {
    position: absolute;
    inset: 1.4rem 0 0 1.6rem;
    border-radius: 4px;
    background: linear-gradient(145deg, rgba(241, 103, 36, .18), rgba(241, 103, 36, .04));
}
.pg-genre-media-frame {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
    background: #1c1610;
    box-shadow: 0 28px 60px rgba(70, 40, 15, .16);
    aspect-ratio: 4 / 3;
}
.pg-genre-media-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.02);
    transition: transform .7s var(--ease-out);
}
.pg-genre-media:hover .pg-genre-media-frame img {
    transform: scale(1.06);
}
.pg-genre-media-shine {
    position: absolute;
    inset: 0;
    background: linear-gradient(125deg, rgba(255,255,255,.18), transparent 42%, transparent 58%, rgba(241,103,36,.12));
    pointer-events: none;
    z-index: 1;
}
.pg-genre-corner {
    position: absolute;
    width: 22px;
    height: 22px;
    border: 1.5px solid rgba(255, 255, 255, .55);
    z-index: 2;
}
.pg-genre-corner.c-tl { top: 12px; left: 12px; border-right: 0; border-bottom: 0; }
.pg-genre-corner.c-tr { top: 12px; right: 12px; border-left: 0; border-bottom: 0; }
.pg-genre-corner.c-bl { bottom: 12px; left: 12px; border-right: 0; border-top: 0; }
.pg-genre-corner.c-br { bottom: 12px; right: 12px; border-left: 0; border-top: 0; }
.pg-genre-media-badge {
    position: absolute;
    left: 0;
    bottom: 0;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .7rem 1rem;
    border-radius: 4px;
    background: #fff;
    border: 1px solid rgba(40, 28, 18, .08);
    box-shadow: 0 14px 32px rgba(70, 40, 15, .12);
    z-index: 3;
}
.pg-genre-media-badge i {
    color: var(--pg-orange);
}
.pg-genre-media-badge em {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 1rem;
    color: #17120e;
}

.pg-genre-visual-strip {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: clamp(1.5rem, 4vw, 2.75rem);
    align-items: center;
    margin-bottom: clamp(2rem, 4vw, 2.75rem);
    padding: clamp(1.25rem, 3vw, 1.75rem);
    border-radius: 4px;
    background: linear-gradient(135deg, rgba(255,255,255,.7), rgba(255,246,237,.85));
    border: 1px solid rgba(40, 28, 18, .06);
}
.pg-genre-visual-copy h2 {
    margin: .35rem 0 .85rem;
    font-family: var(--font-display);
    font-size: clamp(1.85rem, 3.2vw, 2.55rem);
    line-height: 1.12;
    color: #17120e;
}
.pg-genre-visual-copy h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-genre-visual-copy p:last-child {
    margin: 0;
    color: #5a5046;
    line-height: 1.7;
    max-width: 42ch;
}
.pg-genre-visual-img {
    border-radius: 4px;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    box-shadow: 0 18px 40px rgba(70, 40, 15, .1);
}
.pg-genre-visual-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pg-genre-related-section {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(ellipse at 18% 0%, rgba(241, 103, 36, .14), transparent 42%),
        radial-gradient(ellipse at 88% 100%, rgba(241, 103, 36, .08), transparent 45%),
        linear-gradient(165deg, #1a1511 0%, #241c16 48%, #16120e 100%);
}
.pg-genre-related-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}
.pg-genre-related-section .container {
    position: relative;
    z-index: 1;
}
.pg-genre-related-section .pg-section-head h2 {
    color: #f7f1ea;
}
.pg-genre-related-section .pg-section-head h2 em {
    color: var(--pg-orange);
}
.pg-genre-related {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.15rem;
}
.pg-genre-related-card {
    display: flex;
    flex-direction: column;
    border-radius: 4px;
    background: linear-gradient(180deg, #2a221c 0%, #1f1914 100%);
    border: 1px solid rgba(255, 255, 255, .08);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .28);
    color: #f4eee7;
    text-decoration: none;
    overflow: hidden;
    transition: transform .35s var(--ease-out), border-color .3s, box-shadow .35s;
}
.pg-genre-related-card:hover {
    transform: translateY(-5px);
    border-color: rgba(241, 103, 36, .45);
    box-shadow: 0 26px 48px rgba(0, 0, 0, .38), 0 0 0 1px rgba(241, 103, 36, .12);
    color: #fff;
}
.pg-genre-related-media {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #0f0c0a;
}
.pg-genre-related-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1.03);
    filter: brightness(.92) saturate(1.05);
    transition: transform .6s var(--ease-out), filter .35s ease;
}
.pg-genre-related-card:hover .pg-genre-related-media img {
    transform: scale(1.08);
    filter: brightness(1) saturate(1.08);
}
.pg-genre-related-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 35%, rgba(10, 8, 6, .72));
    pointer-events: none;
}
.pg-genre-related-ico {
    position: absolute;
    left: .85rem;
    bottom: .85rem;
    z-index: 1;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(160deg, #ff8a4a, var(--pg-orange));
    color: #fff;
    box-shadow: 0 8px 18px rgba(241, 103, 36, .35);
    flex-shrink: 0;
}
.pg-genre-related-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    padding: 1rem 1.05rem 1.1rem;
    background: rgba(0, 0, 0, .18);
}
.pg-genre-related-body strong {
    font-family: var(--font-display);
    font-size: 1.12rem;
    font-weight: 600;
    line-height: 1.2;
    color: #f7f1ea;
}
.pg-genre-related-body em {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-style: normal;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--pg-orange);
    white-space: nowrap;
}
.pg-genre-related-body em i {
    font-size: .72rem;
    transition: transform .3s var(--ease-out);
}
.pg-genre-related-card:hover .pg-genre-related-body em i {
    transform: translateX(3px);
}

@media (max-width: 991.98px) {
    .pg-genre-intro-grid,
    .pg-genre-visual-strip {
        grid-template-columns: 1fr;
    }
    .pg-genre-related {
        grid-template-columns: 1fr 1fr;
    }
    .pg-submenu-cols {
        grid-template-columns: 1fr 1fr;
        min-width: 0;
        max-height: none;
    }
}
@media (max-width: 575.98px) {
    .pg-genre-related {
        grid-template-columns: 1fr;
    }
    .pg-genre-intro-copy .pg-svc-tiles {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   BOOK COVER PAGE - atelier / gallery (unique layout)
   ========================================================= */
.pg-cover-kicker {
    display: inline-block;
    margin: 0 0 .85rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--pg-orange);
}

.pg-cover-atelier {
    position: relative;
    padding: clamp(4rem, 8vw, 6.5rem) 0;
    background:
        radial-gradient(ellipse at 12% 20%, rgba(241, 103, 36, .08), transparent 42%),
        linear-gradient(180deg, #fbf8f4 0%, #f3eee6 100%);
    overflow: hidden;
}
.pg-cover-atelier-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.pg-cover-glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(4px);
}
.pg-cover-glow.g1 {
    width: 420px;
    height: 420px;
    left: -140px;
    top: 10%;
    background: radial-gradient(circle, rgba(241, 103, 36, .14), transparent 70%);
}
.pg-cover-glow.g2 {
    width: 320px;
    height: 320px;
    right: -100px;
    bottom: 5%;
    background: radial-gradient(circle, rgba(196, 165, 116, .12), transparent 70%);
}
.pg-cover-line {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(241, 103, 36, .25), transparent);
}
.pg-cover-atelier-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: clamp(2.5rem, 5vw, 4.5rem);
    align-items: center;
}
.pg-cover-stage {
    position: relative;
    display: grid;
    place-items: center;
    padding: 2rem 1rem 2.5rem;
}
.pg-cover-stage-shadow {
    position: absolute;
    bottom: 1.2rem;
    left: 18%;
    right: 18%;
    height: 28px;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(30, 20, 10, .28), transparent 70%);
    filter: blur(6px);
}
.pg-cover-book {
    position: relative;
    width: min(100%, 340px);
    aspect-ratio: 2 / 3;
    border-radius: 4px 10px 10px 4px;
    overflow: hidden;
    transform: perspective(900px) rotateY(-8deg) rotateX(2deg);
    box-shadow:
        18px 28px 60px rgba(40, 24, 12, .28),
        4px 0 0 rgba(255, 255, 255, .15) inset,
        -2px 0 0 rgba(0, 0, 0, .15) inset;
    transition: transform .6s var(--ease-out);
}
.pg-cover-stage:hover .pg-cover-book {
    transform: perspective(900px) rotateY(-3deg) rotateX(1deg) translateY(-6px);
}
.pg-cover-book img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.pg-cover-stage-tag {
    position: absolute;
    right: 6%;
    bottom: .4rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .65rem 1rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(40, 28, 18, .08);
    box-shadow: 0 14px 32px rgba(40, 24, 12, .12);
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #17120e;
}
.pg-cover-stage-tag i {
    color: var(--pg-orange);
}
.pg-cover-atelier-copy h2 {
    margin: 0 0 1.1rem;
    font-family: var(--font-display);
    font-size: clamp(2.35rem, 4.2vw, 3.4rem);
    line-height: 1.06;
    letter-spacing: -.03em;
    color: #17120e;
}
.pg-cover-atelier-copy h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-cover-atelier-copy > p {
    margin: 0 0 1.75rem;
    max-width: 42ch;
    color: #5a5046;
    font-size: 1.05rem;
    line-height: 1.78;
}
.pg-cover-points {
    list-style: none;
    margin: 0 0 2rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.pg-cover-points li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(40, 28, 18, .08);
}
.pg-cover-points li:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}
.pg-cover-points strong {
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 700;
    color: rgba(241, 103, 36, .55);
    line-height: 1;
    padding-top: .15rem;
}
.pg-cover-points em {
    display: block;
    margin-bottom: .25rem;
    font-family: var(--font-display);
    font-style: normal;
    font-size: 1.15rem;
    color: #17120e;
}
.pg-cover-points span {
    display: block;
    color: #6a5f54;
    font-size: .92rem;
    line-height: 1.55;
}

.pg-cover-principles {
    padding: clamp(4rem, 7vw, 5.75rem) 0;
    background: #1a1511;
}
.pg-cover-principles-head {
    max-width: 560px;
    margin-bottom: 2.5rem;
}
.pg-cover-principles-head .pg-cover-kicker {
    color: #ffb07a;
}
.pg-cover-principles-head h2 {
    margin: 0 0 .85rem;
    font-family: var(--font-display);
    font-size: clamp(2.1rem, 3.6vw, 2.9rem);
    line-height: 1.1;
    color: #f7f1ea;
}
.pg-cover-principles-head h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-cover-principles-head p {
    margin: 0;
    color: rgba(247, 241, 234, .7);
    line-height: 1.7;
}
.pg-cover-principles-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
}
.pg-cover-principle {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    border-radius: 3px;
    overflow: hidden;
    background: #221c17;
    border: 1px solid rgba(255, 255, 255, .06);
    transition: transform .4s var(--ease-out), border-color .35s;
}
.pg-cover-principle:hover {
    transform: translateY(-6px);
    border-color: rgba(241, 103, 36, .35);
}
.pg-cover-principle-media {
    aspect-ratio: 4 / 5;
    overflow: hidden;
}
.pg-cover-principle-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .7s var(--ease-out);
    filter: saturate(1.05);
}
.pg-cover-principle:hover .pg-cover-principle-media img {
    transform: scale(1.06);
}
.pg-cover-principle-body {
    padding: 1.35rem 1.25rem 1.5rem;
}
.pg-cover-principle-body span {
    display: block;
    margin-bottom: .55rem;
    font-family: var(--font-display);
    font-size: 1.25rem;
    color: var(--pg-orange);
}
.pg-cover-principle-body h3 {
    margin: 0 0 .55rem;
    font-family: var(--font-display);
    font-size: 1.35rem;
    color: #f7f1ea;
}
.pg-cover-principle-body p {
    margin: 0;
    color: rgba(247, 241, 234, .65);
    font-size: .92rem;
    line-height: 1.6;
}

.pg-cover-includes {
    position: relative;
    padding: clamp(4rem, 7vw, 5.75rem) 0;
    background: #faf7f2;
    overflow: hidden;
}
.pg-cover-includes-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 90% 10%, rgba(241, 103, 36, .08), transparent 45%);
    pointer-events: none;
}
.pg-cover-includes-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: center;
}
.pg-cover-includes-copy h2 {
    margin: 0 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(2.1rem, 3.6vw, 3rem);
    line-height: 1.1;
    color: #17120e;
}
.pg-cover-includes-copy h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-cover-includes-copy > p {
    margin: 0 0 1.75rem;
    max-width: 40ch;
    color: #5a5046;
    line-height: 1.75;
}
.pg-cover-include-list {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: cover-inc;
}
.pg-cover-include-list li {
    counter-increment: cover-inc;
    display: grid;
    grid-template-columns: 2.5rem 1fr;
    gap: .85rem 1rem;
    padding: 1rem 0;
    border-top: 1px solid rgba(40, 28, 18, .08);
}
.pg-cover-include-list li::before {
    content: counter(cover-inc, decimal-leading-zero);
    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--pg-orange);
    line-height: 1.3;
}
.pg-cover-include-list span {
    display: block;
    grid-column: 2;
    font-family: var(--font-display);
    font-size: 1.15rem;
    color: #17120e;
}
.pg-cover-include-list em {
    display: block;
    grid-column: 2;
    margin-top: .2rem;
    font-style: normal;
    font-size: .9rem;
    color: #6a5f54;
    line-height: 1.5;
}
.pg-cover-includes-visual {
    margin: 0;
    position: relative;
}
.pg-cover-includes-visual img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    display: block;
    border-radius: 3px;
    box-shadow: 0 32px 70px rgba(40, 24, 12, .16);
}
.pg-cover-includes-visual figcaption {
    margin-top: 1rem;
    font-family: var(--font-display);
    font-style: italic;
    font-size: 1rem;
    color: #6a5f54;
    text-align: center;
}

.pg-cover-process {
    padding: clamp(3.75rem, 6.5vw, 5.25rem) 0;
    background: #fffdf9;
}
.pg-cover-process-head {
    max-width: 560px;
    margin-bottom: 2.25rem;
}
.pg-cover-process-head h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.4vw, 2.7rem);
    line-height: 1.12;
    color: #17120e;
}
.pg-cover-process-head h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-cover-filmstrip {
    list-style: none;
    margin: 0 0 2.25rem;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    border: 1px solid rgba(40, 28, 18, .08);
    border-radius: 3px;
    overflow: hidden;
    background: #fff;
}
.pg-cover-filmstrip li {
    padding: 1.75rem 1.35rem 1.6rem;
    border-right: 1px solid rgba(40, 28, 18, .08);
    background:
        linear-gradient(180deg, rgba(241, 103, 36, .04), transparent 40%);
}
.pg-cover-filmstrip li:last-child {
    border-right: 0;
}
.pg-cover-film-num {
    display: block;
    margin-bottom: .9rem;
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--pg-orange);
    line-height: 1;
}
.pg-cover-filmstrip strong {
    display: block;
    margin-bottom: .55rem;
    font-family: var(--font-display);
    font-size: 1.2rem;
    color: #17120e;
}
.pg-cover-filmstrip p {
    margin: 0;
    color: #6a5f54;
    font-size: .9rem;
    line-height: 1.55;
}

.pg-cover-formats {
    padding: 0 0 clamp(3.5rem, 6vw, 5rem);
    background: #fffdf9;
}
.pg-cover-formats-row {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 2rem;
    align-items: center;
    padding: clamp(1.6rem, 3vw, 2.15rem);
    border-radius: 3px;
    background: linear-gradient(120deg, #1f1914, #2a221c);
    border: 1px solid rgba(255, 255, 255, .06);
    box-shadow: 0 24px 50px rgba(20, 14, 10, .18);
}
.pg-cover-formats-intro .pg-cover-kicker {
    color: #ffb07a;
}
.pg-cover-formats-intro h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 2.8vw, 2.2rem);
    color: #f7f1ea;
    line-height: 1.15;
}
.pg-cover-formats-intro h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-cover-format-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .75rem;
}
.pg-cover-format-list li {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    padding: 1rem 1.05rem;
    border-radius: 3px;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .08);
}
.pg-cover-format-list i {
    color: var(--pg-orange);
    margin-bottom: .25rem;
}
.pg-cover-format-list strong {
    font-family: var(--font-display);
    font-size: 1.05rem;
    color: #f7f1ea;
}
.pg-cover-format-list span {
    font-size: .82rem;
    color: rgba(247, 241, 234, .65);
}

.pg-cover-page .pg-inner-stats {
    margin-top: -1.25rem;
}

@media (max-width: 991.98px) {
    .pg-cover-atelier-grid,
    .pg-cover-principles-grid,
    .pg-cover-includes-grid,
    .pg-cover-filmstrip,
    .pg-cover-formats-row,
    .pg-cover-format-list {
        grid-template-columns: 1fr;
    }
    .pg-cover-book {
        width: min(100%, 280px);
        transform: none;
    }
    .pg-cover-stage:hover .pg-cover-book {
        transform: translateY(-4px);
    }
    .pg-cover-filmstrip li {
        border-right: 0;
        border-bottom: 1px solid rgba(40, 28, 18, .08);
    }
    .pg-cover-filmstrip li:last-child {
        border-bottom: 0;
    }
    .pg-cover-principle-media {
        aspect-ratio: 16 / 10;
    }
}
@media (max-width: 575.98px) {
    .pg-cover-stage-tag {
        right: auto;
        left: 50%;
        transform: translateX(-50%);
    }
}

/* =========================================================
   Ghostwriting - Manuscript Folio (unique layout)
   ========================================================= */
.pg-gw-kicker {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin: 0 0 .85rem;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--pg-orange);
}
.pg-gw-kicker.light { color: #ffb48a; }
.pg-gw-kicker i { font-size: .85em; }

.pg-gw-folio {
    position: relative;
    padding: 4.5rem 0 3.5rem;
    overflow: hidden;
}
.pg-gw-folio-wash {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.pg-gw-inkblot {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: .45;
}
.pg-gw-inkblot.b1 {
    width: 280px;
    height: 280px;
    top: -60px;
    left: -40px;
    background: rgba(241, 103, 36, .18);
}
.pg-gw-inkblot.b2 {
    width: 320px;
    height: 320px;
    bottom: -80px;
    right: 8%;
    background: rgba(196, 165, 116, .2);
}
.pg-gw-inkblot.b3 {
    width: 260px;
    height: 260px;
    top: 10%;
    left: -50px;
    background: rgba(241, 103, 36, .14);
}
.pg-gw-rule-soft {
    position: absolute;
    top: 12%;
    right: 0;
    width: 42%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(22, 22, 22, .1), transparent);
}

.pg-gw-folio-spread {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 2.5rem 3rem;
    align-items: center;
}
.pg-gw-verso {
    margin: 0;
    position: relative;
}
.pg-gw-verso-frame {
    position: relative;
    border-radius: 2px;
    overflow: hidden;
    box-shadow:
        0 24px 60px rgba(18, 18, 18, .18),
        0 0 0 1px rgba(22, 22, 22, .06);
    transform: rotate(-1.2deg);
    transition: transform .55s var(--ease-out);
}
.pg-gw-verso:hover .pg-gw-verso-frame {
    transform: rotate(0deg) translateY(-6px);
}
.pg-gw-verso-frame::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(135deg, rgba(255, 255, 255, .12), transparent 40%, rgba(0, 0, 0, .18));
}
.pg-gw-verso-frame img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform .7s var(--ease-out);
}
.pg-gw-verso:hover .pg-gw-verso-frame img {
    transform: scale(1.06);
}
.pg-gw-verso figcaption {
    display: flex;
    align-items: baseline;
    gap: .75rem;
    margin-top: 1rem;
    padding-left: .25rem;
}
.pg-gw-folio-mark {
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--pg-orange);
}
.pg-gw-verso figcaption em {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 1.05rem;
    color: var(--pg-ink);
}

.pg-gw-recto {
    position: relative;
    padding: 2rem 2.1rem 2.1rem 2.35rem;
    background:
        linear-gradient(180deg, #fffdf9 0%, #f4efe6 100%);
    border: 1px solid rgba(40, 28, 18, .08);
    box-shadow: 8px 14px 40px rgba(18, 18, 18, .08);
    border-radius: 2px;
}
.pg-gw-recto::before {
    content: "";
    position: absolute;
    left: 1.15rem;
    top: 1.4rem;
    bottom: 1.4rem;
    width: 2px;
    background: linear-gradient(180deg, var(--pg-orange), rgba(241, 103, 36, .15));
    border-radius: 2px;
}
.pg-gw-recto h2 {
    margin: 0 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.4vw, 2.85rem);
    line-height: 1.12;
    color: var(--pg-ink);
    font-weight: 600;
}
.pg-gw-recto h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-gw-recto-lead {
    margin: 0 0 1.35rem;
    color: var(--pg-muted);
    font-size: 1.02rem;
    max-width: 34rem;
}
.pg-gw-margins {
    list-style: none;
    margin: 0 0 1.5rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: .85rem;
}
.pg-gw-margins li {
    display: grid;
    grid-template-columns: 2.4rem 1fr;
    gap: .85rem;
    align-items: start;
    opacity: 0;
    animation: pgGwFadeUp .7s var(--ease-out) forwards;
    animation-delay: calc(.08s * var(--i, 0) + .15s);
}
.pg-gw-margin-num {
    font-family: var(--font-display);
    font-size: 1.05rem;
    color: var(--pg-orange);
    line-height: 1.4;
}
.pg-gw-margins strong {
    display: block;
    font-family: var(--font-display);
    font-size: 1.05rem;
    color: var(--pg-ink);
    margin-bottom: .15rem;
}
.pg-gw-margins span {
    display: block;
    font-size: .9rem;
    color: var(--pg-muted);
    line-height: 1.5;
}
.pg-gw-recto .pg-section-actions { margin-top: .25rem; }

@keyframes pgGwFadeUp {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Specialty mosaic */
.pg-gw-mosaic {
    position: relative;
    padding: 4rem 0 4.5rem;
    background: linear-gradient(180deg, #161311 0%, #1f1a16 55%, #181410 100%);
    overflow: hidden;
}
.pg-gw-mosaic-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 50% 40% at 15% 20%, rgba(241, 103, 36, .18), transparent 60%),
        radial-gradient(ellipse 40% 35% at 90% 80%, rgba(196, 165, 116, .12), transparent 55%);
    pointer-events: none;
}
.pg-gw-mosaic-head {
    max-width: 40rem;
    margin: 0 0 2.25rem;
}
.pg-gw-mosaic-head h2 {
    margin: 0 0 .75rem;
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 3vw, 2.6rem);
    color: #f7f1ea;
    line-height: 1.15;
}
.pg-gw-mosaic-head h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-gw-mosaic-head p {
    margin: 0;
    color: rgba(247, 241, 234, .68);
}
.pg-gw-mosaic-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-rows: minmax(150px, auto);
    gap: .85rem;
}
.pg-gw-tile {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: .45rem;
    padding: 1.35rem 1.3rem 1.25rem;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 3px;
    color: #f7f1ea;
    overflow: hidden;
    transition: transform .45s var(--ease-out), background .35s var(--ease-out), border-color .35s;
}
.pg-gw-tile::before {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 3px;
    background: linear-gradient(90deg, var(--pg-orange), transparent);
    opacity: .0;
    transition: opacity .35s;
}
.pg-gw-tile:hover {
    transform: translateY(-5px);
    background: rgba(255, 255, 255, .07);
    border-color: rgba(241, 103, 36, .35);
}
.pg-gw-tile:hover::before { opacity: 1; }
.pg-gw-tile.t1 { grid-column: span 5; grid-row: span 2; min-height: 280px; }
.pg-gw-tile.t2 { grid-column: span 4; }
.pg-gw-tile.t3 { grid-column: span 3; }
.pg-gw-tile.t4 { grid-column: span 4; }
.pg-gw-tile.t5 { grid-column: span 4; }
.pg-gw-tile.t6 { grid-column: span 4; }
.pg-gw-tile-roman {
    position: absolute;
    top: 1rem;
    right: 1.1rem;
    font-family: var(--font-display);
    font-size: 1.6rem;
    color: rgba(247, 241, 234, .18);
    line-height: 1;
}
.pg-gw-tile-ico {
    width: 2.4rem;
    height: 2.4rem;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(241, 103, 36, .16);
    color: var(--pg-orange);
    margin-bottom: .35rem;
}
.pg-gw-tile strong {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 600;
}
.pg-gw-tile p {
    margin: 0;
    font-size: .88rem;
    color: rgba(247, 241, 234, .62);
    line-height: 1.5;
}
.pg-gw-tile em {
    margin-top: .35rem;
    font-style: normal;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #ffb48a;
}
.pg-gw-tile em i {
    margin-left: .25rem;
    font-size: .75em;
    transition: transform .35s var(--ease-out);
}
.pg-gw-tile:hover em i { transform: translateX(4px); }

/* Ink voice band */
.pg-gw-ink {
    position: relative;
    padding: 4.25rem 0;
    background: #0e0c0a;
    overflow: hidden;
}
.pg-gw-ink-texture {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 50% at 70% 40%, rgba(241, 103, 36, .15), transparent 55%),
        linear-gradient(90deg, transparent 0%, rgba(255,255,255,.03) 50%, transparent 100%);
    pointer-events: none;
}
.pg-gw-ink-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .9fr);
    gap: 2.5rem 3rem;
    align-items: center;
}
.pg-gw-ink-quote h2 {
    margin: 0 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.5vw, 3rem);
    line-height: 1.12;
    color: #f7f1ea;
}
.pg-gw-ink-quote h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-gw-ink-quote p {
    margin: 0;
    max-width: 34rem;
    color: rgba(247, 241, 234, .68);
    font-size: 1.05rem;
}
.pg-gw-ink-pillars {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.pg-gw-ink-pillars li {
    display: grid;
    grid-template-columns: 2.5rem 1fr;
    grid-template-rows: auto auto;
    column-gap: 1rem;
    padding: 1rem 1.1rem;
    border-left: 2px solid var(--pg-orange);
    background: rgba(255, 255, 255, .03);
}
.pg-gw-ink-pillars strong {
    grid-row: 1 / 3;
    font-family: var(--font-display);
    font-size: 1.35rem;
    color: var(--pg-orange);
    align-self: center;
}
.pg-gw-ink-pillars em {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 1.1rem;
    color: #f7f1ea;
}
.pg-gw-ink-pillars span {
    font-size: .88rem;
    color: rgba(247, 241, 234, .58);
}

/* Stacked manuscript sheets */
.pg-gw-sheets {
    position: relative;
    padding: 4.5rem 0;
    overflow: hidden;
}
.pg-gw-sheets-bg { position: absolute; inset: 0; pointer-events: none; }
.pg-gw-sheets-layout {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: 2.5rem 3rem;
    align-items: center;
}
.pg-gw-sheets-intro h2 {
    margin: 0 0 .85rem;
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 3vw, 2.55rem);
    line-height: 1.15;
    color: var(--pg-ink);
}
.pg-gw-sheets-intro h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-gw-sheets-intro > p {
    margin: 0 0 1.5rem;
    color: var(--pg-muted);
    max-width: 28rem;
}
.pg-gw-sheets-photo {
    margin: 0;
    position: relative;
    border-radius: 2px;
    overflow: hidden;
    box-shadow: 0 18px 44px rgba(18, 18, 18, .14);
}
.pg-gw-sheets-photo img {
    width: 100%;
    aspect-ratio: 16 / 11;
    object-fit: cover;
}
.pg-gw-sheets-photo figcaption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: .85rem 1rem;
    font-size: .78rem;
    letter-spacing: .04em;
    color: #f7f1ea;
    background: linear-gradient(transparent, rgba(14, 12, 10, .78));
}
.pg-gw-sheet-stack {
    display: flex;
    flex-direction: column;
    gap: .9rem;
}
.pg-gw-sheet {
    position: relative;
    padding: 1.25rem 1.35rem 1.25rem 1.5rem;
    background: linear-gradient(165deg, #fffdf9, #f3eee5);
    border: 1px solid rgba(40, 28, 18, .08);
    border-radius: 2px;
    box-shadow: 0 10px 28px rgba(18, 18, 18, .06);
    transform: rotate(calc((var(--i, 0) - 1.5) * .4deg));
    transition: transform .4s var(--ease-out), box-shadow .4s;
}
.pg-gw-sheet:hover {
    transform: rotate(0deg) translateX(6px);
    box-shadow: 0 16px 36px rgba(18, 18, 18, .1);
}
.pg-gw-sheet-page {
    position: absolute;
    top: .85rem;
    right: 1rem;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(22, 22, 22, .35);
}
.pg-gw-sheet-ico {
    display: inline-grid;
    place-items: center;
    width: 2.2rem;
    height: 2.2rem;
    margin-bottom: .65rem;
    border-radius: 50%;
    background: var(--pg-orange-soft);
    color: var(--pg-orange);
}
.pg-gw-sheet h3 {
    margin: 0 0 .4rem;
    font-family: var(--font-display);
    font-size: 1.2rem;
    color: var(--pg-ink);
}
.pg-gw-sheet p {
    margin: 0;
    font-size: .92rem;
    color: var(--pg-muted);
    max-width: 28rem;
}

/* Chapter process */
.pg-gw-chapters {
    padding: 4.25rem 0 4.5rem;
    background:
        linear-gradient(180deg, var(--pg-paper-2), var(--pg-paper));
}
.pg-gw-chapters-head {
    text-align: center;
    max-width: 36rem;
    margin: 0 auto 2.5rem;
}
.pg-gw-chapters-head h2 {
    margin: 0 0 .7rem;
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 3vw, 2.55rem);
    color: var(--pg-ink);
}
.pg-gw-chapters-head h2 em {
    font-style: italic;
    color: var(--pg-orange);
}
.pg-gw-chapters-head p {
    margin: 0;
    color: var(--pg-muted);
}
.pg-gw-chapter-list {
    list-style: none;
    margin: 0 0 2rem;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    counter-reset: none;
}
.pg-gw-chapter-list li {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem 1.25rem 1.4rem;
    background: var(--pg-white);
    border: 1px solid rgba(40, 28, 18, .07);
    border-radius: 2px;
    box-shadow: 0 8px 24px rgba(18, 18, 18, .04);
    transition: transform .4s var(--ease-out);
}
.pg-gw-chapter-list li:hover {
    transform: translateY(-6px);
}
.pg-gw-chapter-ornament {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .15rem;
    padding-bottom: .85rem;
    border-bottom: 1px solid rgba(40, 28, 18, .08);
}
.pg-gw-chapter-ornament span {
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--pg-muted);
}
.pg-gw-chapter-ornament strong {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 600;
    color: var(--pg-orange);
    line-height: 1;
}
.pg-gw-chapter-body h3 {
    margin: 0 0 .45rem;
    font-family: var(--font-display);
    font-size: 1.2rem;
    text-align: center;
    color: var(--pg-ink);
}
.pg-gw-chapter-body p {
    margin: 0;
    text-align: center;
    font-size: .9rem;
    color: var(--pg-muted);
}
.pg-gw-chapters .pg-section-actions {
    justify-content: center;
}

.pg-gw-page .pg-inner-stats {
    margin-top: -1rem;
}

@media (max-width: 991.98px) {
    .pg-gw-folio-spread,
    .pg-gw-ink-grid,
    .pg-gw-sheets-layout {
        grid-template-columns: 1fr;
    }
    .pg-gw-verso-frame {
        transform: none;
        max-width: 480px;
        margin: 0 auto;
    }
    .pg-gw-verso-frame img { aspect-ratio: 16 / 11; }
    .pg-gw-recto::before { display: none; }
    .pg-gw-recto { padding: 1.5rem 1.35rem; }
    .pg-gw-mosaic-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-auto-rows: auto;
    }
    .pg-gw-tile.t1,
    .pg-gw-tile.t2,
    .pg-gw-tile.t3,
    .pg-gw-tile.t4,
    .pg-gw-tile.t5,
    .pg-gw-tile.t6 {
        grid-column: span 1;
        grid-row: span 1;
        min-height: 0;
    }
    .pg-gw-chapter-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 575.98px) {
    .pg-gw-mosaic-grid,
    .pg-gw-chapter-list {
        grid-template-columns: 1fr;
    }
    .pg-gw-sheet {
        transform: none;
    }
}
