/* PietroCal public web — modern system shared by every public section, 2026-08-27. */

:root {
    --pm-bg: #fbfaf8;
    --pm-paper: #ffffff;
    --pm-warm: #f2f0ec;
    --pm-warm-2: #f6f4f1;
    --pm-ink: #191816;
    --pm-copy: #716e68;
    --pm-muted: #99958e;
    --pm-line: rgba(27,25,22,.09);
    --pm-line-strong: rgba(27,25,22,.14);
    --pm-orange: #e59435;
    --pm-container: 1200px;
}

body:not(.landing-home-modern) {
    color: var(--pm-ink);
    background: var(--pm-bg);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body:not(.landing-home-modern) .container,
.public-modern-header > .container {
    width: min(var(--pm-container), calc(100% - 48px));
}

/* --------------------------------------------------------------------------
   Universal public header
   -------------------------------------------------------------------------- */
.public-modern-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 200 !important;
    margin: 0 !important;
    border-bottom: 1px solid rgba(20,20,20,.05) !important;
    background: rgba(251,250,248,.94) !important;
    backdrop-filter: blur(22px) saturate(155%) !important;
    -webkit-backdrop-filter: blur(22px) saturate(155%) !important;
}
.public-modern-header .nav-shell {
    min-height: 62px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.public-modern-header .brand img { width: auto !important; height: 33px !important; }
.public-modern-header .public-modern-nav-links {
    display: flex !important;
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
    min-width: 0 !important;
    margin-left: auto !important;
    gap: 0 !important;
}
.public-modern-explore { position: relative; }
.public-modern-explore > summary {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 0 11px;
    list-style: none;
    border-radius: 9px;
    color: #625f59;
    font-size: 12px;
    font-weight: 520;
    cursor: pointer;
    transition: color .18s ease, background .18s ease;
}
.public-modern-explore > summary::-webkit-details-marker { display: none; }
.public-modern-explore > summary:hover,
.public-modern-explore[open] > summary { color: #181715; background: rgba(20,20,20,.035); }
.public-modern-explore > summary span {
    position: relative;
    top: -1px;
    color: #aaa59d;
    font-size: 15px;
    font-weight: 400;
}
.public-modern-explore-panel {
    position: absolute;
    top: 49px;
    right: -130px;
    width: 590px;
    padding: 25px;
    border: 1px solid rgba(20,20,20,.075);
    border-radius: 18px;
    background: rgba(255,255,255,.99);
    box-shadow: 0 34px 90px rgba(20,20,20,.13), 0 4px 14px rgba(20,20,20,.035);
}
.public-modern-explore-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: start !important;
    gap: 0 38px !important;
}
.public-modern-explore-column { display: block !important; }
.public-modern-explore-column + .public-modern-explore-column {
    padding-left: 31px !important;
    border-left: 1px solid var(--pm-line) !important;
}
.public-modern-explore-column strong {
    display: block;
    margin: 0 0 13px;
    color: #aaa69e;
    font-size: 9px;
    font-weight: 650;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.public-modern-header .public-modern-explore-column a {
    display: block !important;
    padding: 7px 0 !important;
    color: #46433f !important;
    background: none !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}
.public-modern-header .public-modern-explore-column a:hover,
.public-modern-header .public-modern-explore-column a.is-active { color: #111 !important; }
.public-modern-header .public-modern-explore-column a.is-active::after {
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    margin-left: 8px;
    border-radius: 50%;
    vertical-align: middle;
    background: var(--pm-orange);
}
.public-modern-dev-links {
    display: grid !important;
    grid-template-columns: repeat(3,1fr) !important;
    gap: 10px !important;
    margin-top: 19px !important;
    padding-top: 17px !important;
    border-top: 1px solid var(--pm-line) !important;
}
.public-modern-header .public-modern-dev-links a {
    color: #858078 !important;
    font-size: 10px !important;
    font-weight: 500 !important;
}
.public-modern-header .public-modern-nav-actions { margin-left: 16px !important; gap: 15px !important; }
.public-modern-login { color: #65615b; font-size: 12px; font-weight: 500; }
.public-modern-create {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border-radius: 9px;
    color: #fff;
    background: #1b1a18;
    font-size: 11px;
    font-weight: 620;
}

/* --------------------------------------------------------------------------
   Universal footer. High specificity neutralizes legacy landing footer rules.
   -------------------------------------------------------------------------- */
.landing-footer.public-modern-footer {
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    background: #f5f3ef !important;
}
.public-modern-footer .public-modern-footer-inner {
    display: block !important;
    width: min(var(--pm-container), calc(100% - 48px)) !important;
    margin: 0 auto !important;
    padding: 72px 0 31px !important;
}
.public-modern-footer .public-modern-footer-intro {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: end !important;
    gap: 70px !important;
    padding-bottom: 58px !important;
    border-bottom: 1px solid var(--pm-line) !important;
}
.public-modern-footer .public-modern-footer-brand { display: block !important; }
.public-modern-footer .public-modern-footer-brand a { display: inline-block !important; }
.public-modern-footer .public-modern-footer-brand img {
    display: block !important;
    width: auto !important;
    height: 34px !important;
    margin: 0 !important;
}
.public-modern-footer .public-modern-footer-brand p {
    display: block !important;
    max-width: 495px !important;
    margin: 20px 0 0 !important;
    color: #7a766f !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
}
.public-modern-footer .public-modern-footer-cta {
    display: grid !important;
    justify-items: end !important;
    gap: 11px !important;
}
.public-modern-footer-cta small { color: #9d9991; font-size: 10px; }
.public-modern-footer .public-modern-footer-cta a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 41px !important;
    padding: 0 15px !important;
    border-radius: 9px !important;
    color: #fff !important;
    background: #1b1a18 !important;
    font-size: 11px !important;
    font-weight: 620 !important;
}
.public-modern-footer .public-modern-footer-links {
    display: grid !important;
    grid-template-columns: 1.15fr .95fr 1.05fr .65fr !important;
    align-items: start !important;
    gap: 70px !important;
    padding: 56px 0 64px !important;
}
.public-modern-footer .public-modern-footer-col {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    align-content: start !important;
    gap: 10px !important;
    min-width: 0 !important;
}
.public-modern-footer .public-modern-footer-col strong {
    display: block !important;
    margin: 0 0 8px !important;
    color: #393632 !important;
    font-size: 9px !important;
    font-weight: 650 !important;
    letter-spacing: .11em !important;
    text-transform: uppercase !important;
}
.public-modern-footer .public-modern-footer-col a {
    display: block !important;
    width: fit-content !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #7b7770 !important;
    background: none !important;
    font-size: 11px !important;
    font-weight: 450 !important;
    line-height: 1.55 !important;
}
.public-modern-footer .public-modern-footer-col a:hover { color: #1d1b18 !important; }
.public-modern-footer .public-modern-footer-bottom {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 25px !important;
    padding-top: 23px !important;
    border-top: 1px solid var(--pm-line) !important;
    color: #a4a098 !important;
    font-size: 9px !important;
}
.public-modern-footer .public-modern-footer-signature,
.public-modern-footer .public-modern-footer-legal {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
}
.public-modern-footer .public-modern-footer-signature { gap: 12px !important; }
.public-modern-footer-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--pm-orange); }
.public-modern-footer .public-modern-footer-legal { gap: 22px !important; }
.public-modern-footer .public-modern-footer-legal a {
    display: inline !important;
    color: #96928a !important;
    font-size: 9px !important;
    font-weight: 450 !important;
}

/* --------------------------------------------------------------------------
   Shared buttons / final section
   -------------------------------------------------------------------------- */
.public-modern-primary,
.public-modern-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 43px;
    padding: 0 17px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
}
.public-modern-primary { color: #fff; background: #1c1b19; }
.public-modern-secondary { border: 1px solid var(--pm-line-strong); color: #393633; background: rgba(255,255,255,.32); }
.public-modern-text-link { color: #34312e; font-size: 12px; font-weight: 610; }
.public-modern-final { padding: 115px 0 108px; background: #1b1a18; }
.public-modern-final-grid { display: grid; grid-template-columns: 1.35fr .65fr; align-items: end; gap: 90px; }
.public-modern-final h2 {
    max-width: 700px;
    margin: 0;
    color: #fff;
    font-size: clamp(42px,4.5vw,60px);
    font-weight: 510;
    line-height: 1.01;
    letter-spacing: -.054em;
}
.public-modern-final-side { display: grid; gap: 20px; }
.public-modern-final-side p { max-width: 345px; margin: 0; color: rgba(255,255,255,.5); font-size: 12px; line-height: 1.65; }
.public-modern-final-side a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    min-height: 44px;
    padding: 0 17px;
    border-radius: 9px;
    color: #1b1a18;
    background: #fff;
    font-size: 11px;
    font-weight: 650;
}

/* --------------------------------------------------------------------------
   Modern product / marketing page template
   -------------------------------------------------------------------------- */
.public-page-modern { overflow: hidden; }
.public-page-hero { padding: 82px 0 0; }
.public-page-hero-inner { max-width: 900px; margin-bottom: 54px; text-align: center; }
.public-page-symbol {
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin: 0 auto 20px;
    color: #615d57;
    opacity: .64;
}
.public-page-symbol .landing-icon { width: 50px; height: 50px; stroke-width: 1.05; }
.public-page-kicker {
    color: #a07c55;
    font-size: 9px;
    font-weight: 650;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.public-page-hero h1 {
    max-width: 890px;
    margin: 17px auto 24px;
    color: #171614;
    font-size: clamp(48px,5vw,68px);
    font-weight: 565;
    line-height: 1;
    letter-spacing: -.058em;
}
.public-page-lead {
    max-width: 720px;
    margin: 0 auto;
    color: #74706a;
    font-size: 17px;
    line-height: 1.64;
}
.public-page-actions { display: flex; justify-content: center; gap: 10px; margin-top: 29px; }
.public-page-stage {
    position: relative;
    width: min(1160px,100%);
    margin: 0 auto;
    padding: 27px 27px 0;
    border: 1px solid #e5e2dc;
    border-bottom: 0;
    border-radius: 29px 29px 0 0;
    background: radial-gradient(ellipse at 50% 0,rgba(229,148,53,.10),transparent 39%),#efede9;
    overflow: hidden;
}
.public-page-stage picture,
.public-page-stage img { display: block; width: 100%; }
.public-page-stage-image {
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: top;
    border: 7px solid #fff;
    border-bottom: 0;
    border-radius: 18px 18px 0 0;
    box-shadow: 0 32px 82px rgba(20,20,20,.115),0 4px 13px rgba(20,20,20,.04);
}
.public-page-proof {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    width: min(1030px,100%);
    margin: 0 auto;
    padding: 28px 0 72px;
    color: #8c8881;
    font-size: 11px;
    text-align: center;
}
.public-page-proof span + span { border-left: 1px solid var(--pm-line); }
.public-page-editorial { padding: 116px 0 103px; border-top: 1px solid var(--pm-line); }
.public-page-editorial-grid { display: grid; grid-template-columns: 185px 1fr; gap: 85px; }
.public-page-editorial h2,
.public-page-related-head h2 {
    max-width: 820px;
    margin: 20px 0 0;
    color: #1a1917;
    font-size: clamp(38px,4vw,55px);
    font-weight: 540;
    line-height: 1.035;
    letter-spacing: -.052em;
}
.public-page-editorial p { max-width: 650px; margin: 27px 0 0; color: #726e68; font-size: 16px; line-height: 1.7; }
.public-page-capabilities { padding-bottom: 118px; }
.public-page-capability-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--pm-line); }
.public-page-capability {
    min-height: 155px;
    padding: 30px 34px 32px 4px;
    border-bottom: 1px solid var(--pm-line);
}
.public-page-capability:nth-child(even) { padding-left: 34px; border-left: 1px solid var(--pm-line); }
.public-page-capability h3 { margin: 0 0 8px; color: #292723; font-size: 16px; font-weight: 610; letter-spacing: -.02em; }
.public-page-capability p { max-width: 470px; margin: 0; color: #85817a; font-size: 13px; line-height: 1.62; }
.public-page-story { padding: 122px 0; background: #f1efeb; }
.public-page-story-grid { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: clamp(65px,8vw,120px); }
.public-page-story-symbol { margin-bottom: 25px; color: #625e58; opacity: .8; }
.public-page-story-symbol .landing-icon { width: 45px; height: 45px; stroke-width: 1.25; }
.public-page-story h2 { max-width: 520px; margin: 19px 0 22px; color: #1b1a18; font-size: clamp(38px,3.8vw,52px); font-weight: 540; line-height: 1.04; letter-spacing: -.05em; }
.public-page-story-copy > p { max-width: 490px; margin: 0; color: #747069; font-size: 15px; line-height: 1.7; }
.public-page-story-secondary { max-width: 500px; margin: 34px 0 28px; padding-top: 28px; border-top: 1px solid rgba(27,25,22,.12); }
.public-page-story-secondary h3 { margin: 0 0 8px; font-size: 20px; font-weight: 560; letter-spacing: -.03em; }
.public-page-story-secondary p { margin: 0; color: #79756e; font-size: 14px; line-height: 1.65; }
.public-page-visual { margin: 0; padding: 7px; border: 1px solid rgba(20,20,20,.07); border-radius: 20px; background: #fff; box-shadow: 0 28px 70px rgba(20,20,20,.09),0 3px 11px rgba(20,20,20,.035); }
.public-page-visual picture,
.public-page-visual img { display: block; width: 100%; }
.public-page-visual img { border-radius: 14px; }
.public-page-visual figcaption { padding: 13px 8px 5px; color: #99958e; font-size: 10px; line-height: 1.5; }
.public-page-related { padding: 112px 0 118px; }
.public-page-related-head { max-width: 790px; margin-bottom: 50px; }
.public-page-related-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--pm-line); border-bottom: 1px solid var(--pm-line); }
.public-page-related-link {
    display: grid;
    grid-template-columns: 48px 1fr auto;
    gap: 15px;
    align-items: start;
    min-height: 190px;
    padding: 30px 28px;
    color: inherit;
}
.public-page-related-link + .public-page-related-link { border-left: 1px solid var(--pm-line); }
.public-page-related-icon { color: #77736c; opacity: .55; }
.public-page-related-icon .landing-icon { width: 39px; height: 39px; stroke-width: 1.05; }
.public-page-related-link strong { display: block; margin-bottom: 8px; font-size: 15px; font-weight: 610; }
.public-page-related-link span span { display: block; color: #85817a; font-size: 12px; line-height: 1.58; }
.public-page-related-arrow { color: #aaa69f; font-size: 15px; }
.public-page-related-link:hover .public-page-related-icon { opacity: .9; }

/* --------------------------------------------------------------------------
   Pricing page
   -------------------------------------------------------------------------- */
.public-modern-pricing-page .public-pricing-section { padding: 91px 0 98px; }
.public-modern-pricing-page .public-pricing-hero { max-width: 900px; margin: 0 auto 72px; text-align: center; }
.public-modern-pricing-page .public-pricing-hero .public-page-kicker { display: block; margin-bottom: 18px; }
.public-modern-pricing-page .public-pricing-hero h1 {
    max-width: 860px;
    margin: 0 auto 24px;
    font-size: clamp(47px,4.9vw,66px);
    font-weight: 565;
    line-height: 1;
    letter-spacing: -.058em;
}
.public-modern-pricing-page .public-pricing-hero p { max-width: 720px; margin: 0 auto; color: var(--pm-copy); font-size: 17px; line-height: 1.65; }
.public-modern-pricing-page .public-plan-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; border-top: 1px solid var(--pm-line); border-bottom: 1px solid var(--pm-line); }
.public-modern-pricing-page .public-plan-card,
.public-modern-pricing-page .public-pricing-loading,
.public-modern-pricing-page .public-pricing-error {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.public-modern-pricing-page .public-plan-card { padding: 30px 26px 32px; transition: background .2s ease; }
.public-modern-pricing-page .public-plan-card + .public-plan-card { border-left: 1px solid var(--pm-line); }
.public-modern-pricing-page .public-plan-card:hover { background: #f5f3ef; }
.public-modern-pricing-page .public-plan-card.is-featured { border-color: transparent; box-shadow: inset 0 2px 0 var(--pm-orange); }
.public-modern-pricing-page .public-plan-badge { top: 29px; right: 26px; padding: 0; color: #a27b51; background: none; font-size: 9px; }
.public-modern-pricing-page .public-plan-code { color: #a8a39b; font-size: 9px; letter-spacing: .1em; }
.public-modern-pricing-page .public-plan-card h2 { margin: 9px 0 9px; font-size: 28px; font-weight: 560; letter-spacing: -.04em; }
.public-modern-pricing-page .public-plan-card-head p { min-height: 82px; color: #817d76; font-size: 12px; line-height: 1.6; }
.public-modern-pricing-page .public-plan-price { min-height: 78px; padding: 15px 0; border-radius: 0; border-top: 1px solid var(--pm-line); border-bottom: 1px solid var(--pm-line); background: transparent; }
.public-modern-pricing-page .public-plan-price.is-contact { background: transparent; }
.public-modern-pricing-page .public-plan-price strong { font-size: 22px; font-weight: 560; }
.public-modern-pricing-page .public-plan-facts { gap: 9px; margin: 24px 0; }
.public-modern-pricing-page .public-plan-facts li { padding-left: 18px; color: #5f5b55; font-size: 12px; font-weight: 500; }
.public-modern-pricing-page .public-plan-facts li::before { content: "·"; color: #8f8a83; }
.public-modern-pricing-page .public-plan-activation { color: #99958e; font-size: 10px; line-height: 1.5; }
.public-modern-pricing-page .public-plan-actions .btn { min-height: 39px; padding: 0 13px; border-radius: 9px; font-size: 11px; box-shadow: none; }
.public-modern-pricing-page .public-plan-actions .btn-primary { background: #1b1a18; }
.public-modern-pricing-page .pricing-contract-section { padding: 96px 0 112px; background: #f1efeb; }
.public-modern-pricing-page .pricing-contract-grid { grid-template-columns: repeat(4,1fr); gap: 0; }
.public-modern-pricing-page .pricing-contract-grid article { padding: 10px 28px 10px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.public-modern-pricing-page .pricing-contract-grid article + article { padding-left: 28px; border-left: 1px solid rgba(27,25,22,.12); }
.public-modern-pricing-page .pricing-contract-grid strong { font-size: 13px; }
.public-modern-pricing-page .pricing-contract-grid p { color: #7b7770; font-size: 12px; line-height: 1.62; }

/* --------------------------------------------------------------------------
   Integrations / API landing
   -------------------------------------------------------------------------- */
.public-api-modern .public-api-hero { padding: 84px 0 0; }
.public-api-modern .public-api-hero-copy { max-width: 900px; margin: 0 auto 54px; text-align: center; }
.public-api-modern .public-api-symbol { display: grid; place-items: center; width: 62px; height: 62px; margin: 0 auto 20px; border: 1px solid var(--pm-line-strong); border-radius: 18px; color: #5b5751; }
.public-api-modern .public-api-symbol .landing-icon { width: 31px; height: 31px; stroke-width: 1.35; }
.public-api-modern .public-api-hero h1 { max-width: 860px; margin: 18px auto 24px; font-size: clamp(48px,5vw,67px); font-weight: 565; line-height: 1; letter-spacing: -.058em; }
.public-api-modern .public-api-hero-copy > p { max-width: 720px; margin: 0 auto; color: var(--pm-copy); font-size: 17px; line-height: 1.64; }
.public-api-modern .public-api-actions { display: flex; justify-content: center; gap: 10px; margin-top: 29px; }
.public-api-modern .public-api-stage { width: min(1160px,100%); margin: 0 auto; padding: 27px 27px 0; border: 1px solid #e5e2dc; border-bottom: 0; border-radius: 29px 29px 0 0; background: radial-gradient(ellipse at 50% 0,rgba(229,148,53,.10),transparent 39%),#efede9; }
.public-api-modern .public-api-stage img { width: 100%; aspect-ratio: 16/9; object-fit: cover; object-position: top; border: 7px solid #fff; border-bottom: 0; border-radius: 18px 18px 0 0; box-shadow: 0 32px 82px rgba(20,20,20,.115),0 4px 13px rgba(20,20,20,.04); }
.public-api-modern .public-api-proof { display: grid; grid-template-columns: repeat(3,1fr); width: min(920px,100%); margin: 0 auto; padding: 28px 0 72px; color: #8c8881; font-size: 11px; text-align: center; }
.public-api-modern .public-api-proof span + span { border-left: 1px solid var(--pm-line); }
.public-api-modern .public-api-section { padding: 112px 0; }
.public-api-modern .public-api-section.soft { background: #f1efeb; }
.public-api-modern .public-api-editorial { display: grid; grid-template-columns: 185px 1fr; gap: 85px; margin-bottom: 50px; }
.public-api-modern .public-api-editorial h2 { max-width: 780px; margin: 18px 0 0; font-size: clamp(37px,3.8vw,52px); font-weight: 540; line-height: 1.04; letter-spacing: -.05em; }
.public-api-modern .public-api-editorial p { max-width: 680px; margin: 24px 0 0; color: var(--pm-copy); font-size: 15px; line-height: 1.7; }
.public-api-modern .public-api-feature-grid { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--pm-line); }
.public-api-modern .public-api-feature { display: grid; grid-template-columns: 54px 1fr; gap: 18px; min-height: 158px; padding: 30px 34px 30px 4px; border-bottom: 1px solid var(--pm-line); }
.public-api-modern .public-api-feature:nth-child(even) { padding-left: 34px; border-left: 1px solid var(--pm-line); }
.public-api-modern .public-api-feature .landing-icon { width: 40px; height: 40px; color: #6b6761; opacity: .55; stroke-width: 1.05; }
.public-api-modern .public-api-feature h3 { margin: 0 0 8px; font-size: 16px; font-weight: 610; }
.public-api-modern .public-api-feature p { margin: 0; color: #827e77; font-size: 12px; line-height: 1.62; }
.public-api-modern .public-api-auth-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; border-top: 1px solid var(--pm-line); border-bottom: 1px solid var(--pm-line); }
.public-api-modern .public-api-auth { min-height: 235px; padding: 30px; }
.public-api-modern .public-api-auth + .public-api-auth { border-left: 1px solid var(--pm-line); }
.public-api-modern .public-api-auth .landing-icon { width: 39px; height: 39px; margin-bottom: 52px; color: #65615b; stroke-width: 1.1; }
.public-api-modern .public-api-auth h3 { margin: 0 0 9px; font-size: 18px; font-weight: 580; }
.public-api-modern .public-api-auth p { margin: 0; color: #7e7a73; font-size: 12px; line-height: 1.62; }
.public-api-modern .public-api-resource-grid { display: grid; grid-template-columns: repeat(5,1fr); border-top: 1px solid var(--pm-line); border-bottom: 1px solid var(--pm-line); }
.public-api-modern .public-api-resource { display: flex; min-height: 205px; flex-direction: column; padding: 26px 22px; color: inherit; }
.public-api-modern .public-api-resource + .public-api-resource { border-left: 1px solid var(--pm-line); }
.public-api-modern .public-api-resource strong { font-size: 14px; font-weight: 600; }
.public-api-modern .public-api-resource span { margin: 10px 0 auto; color: #817d76; font-size: 11px; line-height: 1.55; }
.public-api-modern .public-api-resource small { margin-top: 18px; color: #aaa69f; font-size: 9px; word-break: break-all; }
.public-api-modern .public-api-security-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid rgba(27,25,22,.12); border-bottom: 1px solid rgba(27,25,22,.12); }
.public-api-modern .public-api-security { padding: 28px; }
.public-api-modern .public-api-security + .public-api-security { border-left: 1px solid rgba(27,25,22,.12); }
.public-api-modern .public-api-security .landing-icon { width: 38px; height: 38px; margin-bottom: 42px; color: #625e58; stroke-width: 1.05; }
.public-api-modern .public-api-security strong { display: block; margin-bottom: 8px; font-size: 14px; }
.public-api-modern .public-api-security span { color: #7c7871; font-size: 11px; line-height: 1.58; }

/* --------------------------------------------------------------------------
   Developer surfaces: keep technical density, remove the old "SaaS cards" look.
   -------------------------------------------------------------------------- */
body.developer-page { background: var(--pm-bg) !important; color: var(--pm-ink); }
body.developer-page .developer-hero,
body.developer-page .developer-guide-hero,
body.developer-page .developer-changelog-hero,
body.developer-page .developer-errors-hero { padding-top: 82px; padding-bottom: 66px; border-color: var(--pm-line); }
body.developer-page .developer-hero h1,
body.developer-page .developer-guide-hero h1,
body.developer-page .developer-changelog-hero h1,
body.developer-page .developer-errors-hero h1 {
    color: #171614;
    font-size: clamp(43px,4.6vw,62px);
    font-weight: 560;
    line-height: 1.01;
    letter-spacing: -.052em;
}
body.developer-page .eyebrow { border: 0; padding: 0; background: none; color: #9c7853; font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
body.developer-page .developer-breadcrumb { color: #99958e; font-size: 11px; font-weight: 500; }
body.developer-page .developer-breadcrumb a { color: #625f59; }
body.developer-page .developer-section,
body.developer-page .developer-guide-section { padding: 84px 0; }
body.developer-page .developer-section-soft { border-color: var(--pm-line); background: #f1efeb; }
body.developer-page .section-kicker { color: #a07c55; font-size: 9px; font-weight: 650; letter-spacing: .12em; }
body.developer-page .section-head h2,
body.developer-page .developer-section h2,
body.developer-page .developer-guide-section h2 { font-weight: 540; letter-spacing: -.045em; }
body.developer-page .developer-step,
body.developer-page .developer-auth-card,
body.developer-page .developer-resource-card,
body.developer-page .developer-link-card,
body.developer-page .developer-guide-step,
body.developer-page .developer-guide-outcomes,
body.developer-page .developer-guide-scope-card,
body.developer-page .developer-version-policy-grid article,
body.developer-page .developer-error-group,
body.developer-page .developer-retry-table,
body.developer-page .developer-support-checklist {
    border-color: var(--pm-line) !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.62) !important;
    box-shadow: none !important;
}
body.developer-page .developer-step > span,
body.developer-page .developer-guide-step > span { border-radius: 10px; background: #1b1a18; }
body.developer-page .developer-auth-card svg,
body.developer-page .developer-resource-card svg { color: #66625c; stroke-width: 1.2; }
body.developer-page .developer-link-card:hover { transform: none; border-color: var(--pm-line-strong) !important; background: #f5f3ef !important; box-shadow: none !important; }
body.developer-page .developer-console,
body.developer-page .developer-code-card,
body.developer-page .developer-version-summary,
body.developer-page .developer-diagnostic-summary,
body.developer-page .developer-error-code-card { border-radius: 18px; transform: none; box-shadow: 0 26px 70px rgba(18,25,38,.13); }
body.developer-page .developer-reliability { background: #1b1a18; }
body.developer-page .btn { border-radius: 9px; box-shadow: none; }
body.developer-page .btn-primary { background: #1b1a18; }

/* --------------------------------------------------------------------------
   Legal pages
   -------------------------------------------------------------------------- */
body.public-modern-legal-page .legal-page { background: var(--pm-bg); }
body.public-modern-legal-page .legal-hero { padding: 88px 0 62px; border-bottom: 1px solid var(--pm-line); background: transparent; }
body.public-modern-legal-page .legal-container { max-width: 880px; }
body.public-modern-legal-page .legal-hero .section-kicker { color: #a07c55; font-size: 9px; letter-spacing: .12em; }
body.public-modern-legal-page .legal-hero h1 { margin: 18px 0 17px; font-size: clamp(43px,4.4vw,60px); font-weight: 550; line-height: 1.02; letter-spacing: -.05em; }
body.public-modern-legal-page .legal-hero p { color: var(--pm-muted); font-size: 12px; }
body.public-modern-legal-page .legal-content { padding: 72px 0 110px; }
body.public-modern-legal-page .legal-copy { color: var(--pm-copy); font-size: 15px; line-height: 1.75; }
body.public-modern-legal-page .legal-copy h2 { margin-top: 52px; color: var(--pm-ink); font-size: 25px; font-weight: 560; letter-spacing: -.035em; }
body.public-modern-legal-page .legal-copy a { color: #4d4943; text-decoration: underline; text-underline-offset: 3px; }
body.public-modern-legal-page .legal-contact-card { border-color: var(--pm-line); border-radius: 14px; background: #f1efeb; box-shadow: none; }

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1050px) {
    .public-modern-pricing-page .public-plan-grid { grid-template-columns: repeat(2,1fr); }
    .public-modern-pricing-page .public-plan-card:nth-child(3) { border-left: 0; border-top: 1px solid var(--pm-line); }
    .public-modern-pricing-page .public-plan-card:nth-child(4) { border-top: 1px solid var(--pm-line); }
    .public-api-modern .public-api-resource-grid { grid-template-columns: repeat(3,1fr); }
    .public-api-modern .public-api-resource:nth-child(4) { border-left: 0; border-top: 1px solid var(--pm-line); }
    .public-api-modern .public-api-resource:nth-child(n+4) { border-top: 1px solid var(--pm-line); }
}

@media (max-width: 900px) {
    body:not(.landing-home-modern) .container,
    .public-modern-header > .container,
    .public-modern-footer .public-modern-footer-inner { width: calc(100% - 30px) !important; }
    .public-modern-explore-panel { right: -155px; width: min(560px,calc(100vw - 30px)); }
    .public-page-editorial-grid,
    .public-api-modern .public-api-editorial { grid-template-columns: 1fr; gap: 25px; }
    .public-page-editorial-spacer { display: none; }
    .public-page-capability-grid { grid-template-columns: 1fr; }
    .public-page-capability:nth-child(even) { padding-left: 4px; border-left: 0; }
    .public-page-story-grid { grid-template-columns: 1fr; gap: 48px; }
    .public-page-related-grid { grid-template-columns: 1fr; }
    .public-page-related-link + .public-page-related-link { border-left: 0; border-top: 1px solid var(--pm-line); }
    .public-modern-final-grid { grid-template-columns: 1fr; gap: 38px; }
    .public-modern-footer .public-modern-footer-links { grid-template-columns: 1fr 1fr !important; gap: 48px !important; }
    .public-modern-pricing-page .pricing-contract-grid { grid-template-columns: 1fr 1fr; }
    .public-modern-pricing-page .pricing-contract-grid article:nth-child(3) { padding-left: 0; border-left: 0; border-top: 1px solid rgba(27,25,22,.12); padding-top: 28px; }
    .public-modern-pricing-page .pricing-contract-grid article:nth-child(4) { border-top: 1px solid rgba(27,25,22,.12); padding-top: 28px; }
    .public-api-modern .public-api-feature-grid { grid-template-columns: 1fr; }
    .public-api-modern .public-api-feature:nth-child(even) { padding-left: 4px; border-left: 0; }
    .public-api-modern .public-api-auth-grid { grid-template-columns: 1fr; }
    .public-api-modern .public-api-auth + .public-api-auth { border-left: 0; border-top: 1px solid var(--pm-line); }
    .public-api-modern .public-api-security-grid { grid-template-columns: repeat(2,1fr); }
    .public-api-modern .public-api-security:nth-child(3) { border-left: 0; border-top: 1px solid rgba(27,25,22,.12); }
    .public-api-modern .public-api-security:nth-child(4) { border-top: 1px solid rgba(27,25,22,.12); }
}

@media (max-width: 680px) {
    .public-modern-header .brand img { height: 30px !important; }
    .public-modern-login { display: none; }
    .public-modern-explore-panel { position: fixed; top: 67px; left: 15px; right: 15px; width: auto; }
    .public-modern-explore-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
    .public-modern-explore-column + .public-modern-explore-column { padding: 20px 0 0 !important; border-left: 0 !important; border-top: 1px solid var(--pm-line) !important; }
    .public-modern-dev-links { grid-template-columns: 1fr !important; }
    .public-page-hero { padding-top: 62px; }
    .public-page-symbol { width: 50px; height: 50px; }
    .public-page-symbol .landing-icon { width: 42px; height: 42px; }
    .public-page-hero h1 { font-size: 44px; }
    .public-page-actions { display: grid; }
    .public-page-stage { padding: 11px 11px 0; border-radius: 20px 20px 0 0; }
    .public-page-proof { grid-template-columns: 1fr; gap: 10px; }
    .public-page-proof span + span { border-left: 0; }
    .public-page-editorial,
    .public-page-story,
    .public-page-related { padding-top: 76px; padding-bottom: 76px; }
    .public-modern-final { padding: 82px 0; }
    .public-modern-footer .public-modern-footer-intro { grid-template-columns: 1fr !important; gap: 32px !important; }
    .public-modern-footer .public-modern-footer-cta { justify-items: start !important; }
    .public-modern-footer .public-modern-footer-links { grid-template-columns: 1fr 1fr !important; gap: 39px 25px !important; }
    .public-modern-footer .public-modern-footer-bottom { display: grid !important; }
    .public-modern-pricing-page .public-plan-grid { grid-template-columns: 1fr; }
    .public-modern-pricing-page .public-plan-card + .public-plan-card { border-left: 0; border-top: 1px solid var(--pm-line); }
    .public-modern-pricing-page .pricing-contract-grid { grid-template-columns: 1fr; }
    .public-modern-pricing-page .pricing-contract-grid article + article { padding-left: 0; border-left: 0; border-top: 1px solid rgba(27,25,22,.12); padding-top: 28px; }
    .public-api-modern .public-api-hero { padding-top: 62px; }
    .public-api-modern .public-api-hero h1 { font-size: 44px; }
    .public-api-modern .public-api-actions { display: grid; }
    .public-api-modern .public-api-stage { padding: 11px 11px 0; border-radius: 20px 20px 0 0; }
    .public-api-modern .public-api-proof { grid-template-columns: 1fr; gap: 10px; }
    .public-api-modern .public-api-proof span + span { border-left: 0; }
    .public-api-modern .public-api-section { padding: 78px 0; }
    .public-api-modern .public-api-resource-grid { grid-template-columns: 1fr; }
    .public-api-modern .public-api-resource + .public-api-resource { border-left: 0; border-top: 1px solid var(--pm-line); }
    .public-api-modern .public-api-security-grid { grid-template-columns: 1fr; }
    .public-api-modern .public-api-security + .public-api-security { border-left: 0; border-top: 1px solid rgba(27,25,22,.12); }
}

.public-api-modern .public-api-permissions-copy {
    max-width: 660px;
    margin-top: 30px;
    padding-top: 27px;
    border-top: 1px solid var(--pm-line);
}
.public-api-modern .public-api-permissions-copy h3 {
    margin: 0 0 8px;
    color: #24221f;
    font-size: 19px;
    font-weight: 560;
    letter-spacing: -.03em;
}
.public-api-modern .public-api-permissions-copy p {
    margin: 0;
    color: var(--pm-copy);
    font-size: 14px;
    line-height: 1.66;
}

/* === PIETROCAL V10 EDITORIAL PRODUCT PAGES === */

/* CTA discipline: footer is navigation, not a second conversion block. */
.public-modern-footer-intro { grid-template-columns: 1fr !important; }
.public-modern-footer-brand { max-width: 650px; }
.public-modern-footer-cta { display: none !important; }

.pcp-page .pcp-main { overflow: hidden; background: #fbfaf8; color: #1b1a18; }
.pcp-page .pcp-main *, .pcp-page .pcp-main *::before, .pcp-page .pcp-main *::after { box-sizing: border-box; }
.pcp-page .pcp-main a { text-decoration: none; }
.pcp-page .pcp-kicker, .pcp-page .pcp-side-label { color: #9b978f; font-size: 10px; font-weight: 650; line-height: 1.2; letter-spacing: .105em; text-transform: uppercase; }
.pcp-page .pcp-breadcrumb { display: flex; gap: 9px; margin: 0 0 52px; color: #aaa69f; font-size: 11px; }
.pcp-page .pcp-breadcrumb a { color: #77736d; }
.pcp-page .pcp-hero { padding: 38px 0 90px; }
.pcp-page .pcp-split { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(340px,.82fr); align-items: center; gap: clamp(58px,7vw,105px); }
.pcp-page .pcp-split--hero { grid-template-columns: minmax(350px,.72fr) minmax(0,1.28fr); }
.pcp-page .pcp-split--reverse { grid-template-columns: minmax(350px,.78fr) minmax(0,1.22fr); }
.pcp-page .pcp-copy h1, .pcp-page .pcp-intro h1 { margin: 17px 0 24px; color: #191816; font-size: clamp(47px,4.8vw,67px); font-weight: 505; line-height: .995; letter-spacing: -.058em; }
.pcp-page .pcp-intro h1 { max-width: 850px; font-size: clamp(53px,5.8vw,80px); line-height: .965; }
.pcp-page .pcp-copy h1 em, .pcp-page .pcp-intro h1 em, .pcp-page .pcp-copy h2 em { color: #8c8881; font-style: normal; font-weight: inherit; }
.pcp-page .pcp-lead, .pcp-page .pcp-intro-side p { max-width: 560px; margin: 0; color: #716d67; font-size: 16px; line-height: 1.72; }
.pcp-page .pcp-intro { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.55fr); gap: 82px; align-items: end; margin-bottom: 49px; }
.pcp-page .pcp-intro-side { padding-bottom: 7px; }
.pcp-page .pcp-intro-side p { font-size: 15px; }
.pcp-page .pcp-explore { display: inline-flex; align-items: center; gap: 10px; margin-top: 28px; padding-bottom: 5px; border-bottom: 1px solid #cbc7c0; color: #504d48; font-size: 12px; font-weight: 600; }
.pcp-page .pcp-explore span { color: #aaa69f; }
.pcp-page .pcp-shot { margin: 0; min-width: 0; overflow: hidden; padding: 6px; border: 1px solid rgba(27,25,22,.1); border-radius: 20px; background: #fff; box-shadow: 0 30px 70px rgba(26,23,18,.075); }
.pcp-page .pcp-shot img { display: block; width: 100%; height: auto; border-radius: 14px; }
.pcp-page .pcp-shot figcaption { padding: 10px 4px 3px; color: #aaa69f; font-size: 9px; }
.pcp-page .pcp-shot--hero { box-shadow: 0 38px 90px rgba(26,23,18,.10), 0 4px 15px rgba(26,23,18,.04); }
.pcp-page .pcp-shot--wide { box-shadow: 0 40px 100px rgba(26,23,18,.10), 0 3px 12px rgba(26,23,18,.035); }
.pcp-page .pcp-shot--contacts img { width: 108%; max-width: none; transform: translateX(-7%); }

.pcp-page .pcp-strip { border-top: 1px solid #e5e2dc; border-bottom: 1px solid #e5e2dc; background: rgba(255,255,255,.25); }
.pcp-page .pcp-strip-grid { display: grid; grid-template-columns: repeat(3,1fr); }
.pcp-page .pcp-strip-grid > div { min-height: 128px; padding: 30px 32px 28px 0; }
.pcp-page .pcp-strip-grid > div + div { padding-left: 32px; border-left: 1px solid #e5e2dc; }
.pcp-page .pcp-strip strong { display: block; margin-bottom: 8px; color: #292723; font-size: 14px; font-weight: 610; }
.pcp-page .pcp-strip span { display: block; max-width: 315px; color: #85817b; font-size: 12px; line-height: 1.6; }
.pcp-page .pcp-state i { display: block; width: 8px; height: 8px; margin-bottom: 17px; border-radius: 50%; background:#db9a48; }
.pcp-page .pcp-state.tentative i { background:#718bd5; } .pcp-page .pcp-state.confirmed i { background:#67a47a; }

.pcp-page .pcp-editorial { padding: 116px 0 108px; }
.pcp-page .pcp-soft { padding: 108px 0 112px; border-top: 1px solid #e5e2dc; background: #f5f3ef; }
.pcp-page .pcp-editorial-grid { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 84px; }
.pcp-page .pcp-side-label { padding-top: 10px; }
.pcp-page .pcp-editorial h2, .pcp-page .pcp-soft h2, .pcp-page .pcp-related h2, .pcp-page .pcp-dark h2, .pcp-page .pcp-ending h2 { margin: 0; color: #1b1a18; font-size: clamp(40px,4.1vw,57px); font-weight: 505; line-height: 1.04; letter-spacing: -.05em; }
.pcp-page .pcp-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 58px; max-width: 900px; margin-top: 35px; }
.pcp-page .pcp-columns p, .pcp-page .pcp-section-lead, .pcp-page .pcp-copy > p, .pcp-page .pcp-section-head > p { margin: 0; color: #77736d; font-size: 14px; line-height: 1.75; }
.pcp-page .pcp-section-lead { max-width: 700px; margin-top: 23px; }
.pcp-page .pcp-section-head { max-width: 820px; margin-bottom: 44px; }
.pcp-page .pcp-section-head h2 { margin-top: 15px; }
.pcp-page .pcp-section-head > p { max-width: 700px; margin-top: 21px; }
.pcp-page .pcp-copy h2 { max-width: 560px; margin: 16px 0 23px; font-size: clamp(38px,3.8vw,53px); font-weight: 505; line-height: 1.035; letter-spacing: -.05em; }
.pcp-page .pcp-copy > p { max-width: 500px; }
.pcp-page .pcp-lines { max-width: 520px; margin: 30px 0 26px; border-top: 1px solid rgba(27,25,22,.12); }
.pcp-page .pcp-lines > div { display: grid; grid-template-columns: 145px 1fr; gap: 22px; padding: 17px 0; border-bottom: 1px solid rgba(27,25,22,.12); }
.pcp-page .pcp-lines strong { color:#393632; font-size:12px; font-weight:610; }
.pcp-page .pcp-lines span { color:#85817b; font-size:12px; line-height:1.55; }
.pcp-page .pcp-text-link { display:inline-flex; align-items:center; gap:11px; color:#35322e; font-size:12px; font-weight:600; }
.pcp-page .pcp-text-link--light { color:#f1eee9; margin-top:22px; padding-bottom:5px; border-bottom:1px solid #5f5b55; }

.pcp-page .pcp-pairs { padding: 0 0 112px; }
.pcp-page .pcp-pair-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #e4e1dc; border-bottom:1px solid #e4e1dc; }
.pcp-page .pcp-pair-grid article { padding: 40px 46px 42px 0; }
.pcp-page .pcp-pair-grid article + article { padding-left:46px; border-left:1px solid #e4e1dc; }
.pcp-page .pcp-pair-grid h3 { max-width:490px; margin:14px 0 13px; color:#292723; font-size:23px; line-height:1.2; font-weight:540; letter-spacing:-.035em; }
.pcp-page .pcp-pair-grid p { max-width:480px; margin:0; color:#85817b; font-size:13px; line-height:1.68; }

.pcp-page .pcp-grid4, .pcp-page .pcp-grid3 { display:grid; border-top:1px solid #dcd9d3; border-bottom:1px solid #dcd9d3; }
.pcp-page .pcp-grid4 { grid-template-columns:repeat(4,1fr); }
.pcp-page .pcp-grid3 { grid-template-columns:repeat(3,1fr); }
.pcp-page .pcp-grid4 article, .pcp-page .pcp-grid3 article { min-height:170px; padding:28px 28px 28px 0; }
.pcp-page .pcp-grid4 article + article, .pcp-page .pcp-grid3 article + article { padding-left:28px; border-left:1px solid #dcd9d3; }
.pcp-page .pcp-grid4 small { display:block; margin-bottom:32px; color:#b1ada6; font-size:9px; }
.pcp-page .pcp-grid4 strong, .pcp-page .pcp-grid3 strong { display:block; margin-bottom:9px; color:#292723; font-size:14px; font-weight:610; }
.pcp-page .pcp-grid4 h3 { max-width:250px; margin:0 0 13px; color:#292723; font-size:18px; line-height:1.22; font-weight:540; letter-spacing:-.03em; }
.pcp-page .pcp-grid4 p, .pcp-page .pcp-grid3 p { max-width:245px; margin:0; color:#85817b; font-size:11px; line-height:1.6; }
.pcp-page .pcp-grid4--tall article { min-height:260px; }
.pcp-page .pcp-grid4--dots i { display:block; width:8px; height:8px; margin-bottom:32px; border-radius:50%; background:#df8b4b; }
.pcp-page .pcp-grid4--dots article:nth-child(2) i { background:#7091df; } .pcp-page .pcp-grid4--dots article:nth-child(3) i { background:#67a77e; } .pcp-page .pcp-grid4--dots article:nth-child(4) i { background:#a487d1; }

.pcp-page .pcp-dark { padding:110px 0; background:#1f1e1b; color:#fff; }
.pcp-page .pcp-dark-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(350px,.7fr); gap:100px; }
.pcp-page .pcp-dark .pcp-kicker { color:#8f8b84; }
.pcp-page .pcp-dark h2 { margin-top:16px; color:#f5f3ef !important; }
.pcp-page .pcp-dark p { max-width:480px; margin:0; color:#bbb7b0; font-size:14px; line-height:1.75; }
.pcp-page .pcp-dark p + p { margin-top:22px; }

.pcp-page .pcp-related { padding:108px 0 115px; }
.pcp-page .pcp-related-head { max-width:780px; margin-bottom:43px; }
.pcp-page .pcp-related-head h2 { margin-top:15px; font-size:clamp(38px,3.8vw,52px); }
.pcp-page .pcp-related-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #e4e1dc; border-bottom:1px solid #e4e1dc; }
.pcp-page .pcp-related-grid--3 { grid-template-columns:repeat(3,1fr); }
.pcp-page .pcp-related-grid a { position:relative; min-height:168px; padding:30px 30px 27px 0; color:inherit; }
.pcp-page .pcp-related-grid a + a { padding-left:30px; border-left:1px solid #e4e1dc; }
.pcp-page .pcp-related-grid strong { display:block; margin-bottom:10px; font-size:14px; font-weight:610; }
.pcp-page .pcp-related-grid span { display:block; max-width:240px; color:#85817b; font-size:11px; line-height:1.6; }
.pcp-page .pcp-related-grid b { position:absolute; top:30px; right:22px; color:#aaa69f; font-size:14px; font-weight:400; }
.pcp-page .pcp-related-grid a:hover strong, .pcp-page .pcp-related-grid a:hover b { color:#000; }

.pcp-page .pcp-resource-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #e4e1dc; border-bottom:1px solid #e4e1dc; }
.pcp-page .pcp-resource-grid a { min-height:190px; padding:28px 28px 26px 0; color:inherit; }
.pcp-page .pcp-resource-grid a + a { padding-left:28px; border-left:1px solid #e4e1dc; }
.pcp-page .pcp-resource-grid strong { display:block; margin-bottom:10px; font-size:14px; font-weight:610; }
.pcp-page .pcp-resource-grid span { display:block; color:#85817b; font-size:11px; line-height:1.6; }
.pcp-page .pcp-resource-grid small { display:block; margin-top:24px; color:#aaa69f; font-size:9px; }

.pcp-page .pcp-ending { padding:83px 0 87px; border-top:1px solid #e4e1dc; background:#f5f3ef; }
.pcp-page .pcp-ending-grid { display:grid; grid-template-columns:180px minmax(0,1fr); gap:85px; }
.pcp-page .pcp-ending h2 { max-width:900px; font-size:clamp(36px,3.65vw,50px); }

@media (max-width:1000px) {
  .pcp-page .pcp-split, .pcp-page .pcp-split--hero, .pcp-page .pcp-split--reverse, .pcp-page .pcp-intro, .pcp-page .pcp-dark-grid { grid-template-columns:1fr; }
  .pcp-page .pcp-editorial-grid, .pcp-page .pcp-ending-grid { grid-template-columns:1fr; gap:24px; }
  .pcp-page .pcp-side-label { padding-top:0; }
  .pcp-page .pcp-grid4, .pcp-page .pcp-related-grid, .pcp-page .pcp-resource-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
  .pcp-page .pcp-hero { padding-top:27px; padding-bottom:60px; }
  .pcp-page .pcp-breadcrumb { margin-bottom:36px; }
  .pcp-page .pcp-copy h1, .pcp-page .pcp-intro h1 { font-size:44px; }
  .pcp-page .pcp-strip-grid, .pcp-page .pcp-columns, .pcp-page .pcp-pair-grid, .pcp-page .pcp-grid4, .pcp-page .pcp-grid3, .pcp-page .pcp-related-grid, .pcp-page .pcp-resource-grid { grid-template-columns:1fr; }
  .pcp-page .pcp-strip-grid > div, .pcp-page .pcp-strip-grid > div + div, .pcp-page .pcp-pair-grid article, .pcp-page .pcp-pair-grid article + article, .pcp-page .pcp-grid4 article, .pcp-page .pcp-grid4 article + article, .pcp-page .pcp-grid3 article, .pcp-page .pcp-grid3 article + article, .pcp-page .pcp-related-grid a, .pcp-page .pcp-related-grid a + a, .pcp-page .pcp-resource-grid a, .pcp-page .pcp-resource-grid a + a { min-height:0; padding:24px 0; border-left:0; }
  .pcp-page .pcp-strip-grid > div + div, .pcp-page .pcp-pair-grid article + article, .pcp-page .pcp-grid4 article + article, .pcp-page .pcp-grid3 article + article, .pcp-page .pcp-related-grid a + a, .pcp-page .pcp-resource-grid a + a { border-top:1px solid #dfdcd6; }
  .pcp-page .pcp-editorial, .pcp-page .pcp-soft, .pcp-page .pcp-dark, .pcp-page .pcp-related { padding-top:74px; padding-bottom:74px; }
  .pcp-page .pcp-pairs { padding-bottom:74px; }
  .pcp-page .pcp-lines > div { grid-template-columns:1fr; gap:6px; }
  .pcp-page .pcp-ending { padding:64px 0; }
}


/* === PIETROCAL V10 CIERRE PUBLICO === */

.public-modern-skip-link {
    position: fixed;
    z-index: 99999;
    top: 10px;
    left: 10px;
    transform: translateY(-150%);
    padding: 10px 14px;
    border-radius: 8px;
    background: #1c1b19;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    transition: transform .15s ease;
}
.public-modern-skip-link:focus { transform: translateY(0); }

.public-modern-page a:focus-visible,
.public-modern-page button:focus-visible,
.landing-home-modern a:focus-visible,
.landing-home-modern button:focus-visible {
    outline: 2px solid #e59435;
    outline-offset: 3px;
}

.public-modern-footer-col[aria-label="Cuenta"] a:last-child { margin-bottom: 0; }

/* Pricing V10 */
.pcp-pricing-v10 .pc-price-hero { padding: 38px 0 80px; }
.pcp-pricing-v10 .pc-price-intro { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(330px,.55fr); gap:88px; align-items:end; }
.pcp-pricing-v10 .pc-price-intro h1 { max-width:850px; margin:17px 0 0; color:#191816; font-size:clamp(53px,5.7vw,78px); font-weight:500; line-height:.965; letter-spacing:-.062em; }
.pcp-pricing-v10 .pc-price-intro h1 em { color:#8c8881; font-style:normal; font-weight:inherit; }
.pcp-pricing-v10 .pc-price-intro-copy p { max-width:430px; margin:0; color:#716d67; font-size:15px; line-height:1.72; }
.pcp-pricing-v10 .pc-price-plans { padding: 8px 0 100px; }
.pcp-pricing-v10 .public-plan-grid { margin-top:0; }
.pcp-pricing-v10 .pc-price-contract { padding:106px 0 112px; border-top:1px solid #e4e1dc; background:#f5f3ef; }
.pcp-pricing-v10 .pricing-contract-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #dcd9d3; border-bottom:1px solid #dcd9d3; }
.pcp-pricing-v10 .pricing-contract-grid article { min-height:165px; padding:30px 28px 28px 0; }
.pcp-pricing-v10 .pricing-contract-grid article + article { padding-left:28px; border-left:1px solid #dcd9d3; }
.pcp-pricing-v10 .pricing-contract-grid strong { display:block; margin-bottom:9px; color:#292723; font-size:14px; font-weight:610; }
.pcp-pricing-v10 .pricing-contract-grid p { max-width:245px; margin:0; color:#85817b; font-size:11px; line-height:1.6; }
.pcp-pricing-v10 .pc-price-note { padding:84px 0 88px; border-top:1px solid #e4e1dc; }
.pcp-pricing-v10 .pc-price-note-grid { display:grid; grid-template-columns:180px minmax(0,1fr); gap:85px; }
.pcp-pricing-v10 .pc-price-note h2 { max-width:820px; margin:0; color:#292723; font-size:clamp(36px,3.65vw,50px); font-weight:505; line-height:1.04; letter-spacing:-.048em; }
.pcp-pricing-v10 .pc-price-note p { max-width:720px; margin:22px 0 0; color:#77736d; font-size:13px; line-height:1.72; }

@media (max-width: 1000px) {
    .pcp-pricing-v10 .pc-price-intro { grid-template-columns:1fr; gap:30px; }
    .pcp-pricing-v10 .pricing-contract-grid { grid-template-columns:1fr 1fr; }
    .pcp-pricing-v10 .pc-price-note-grid { grid-template-columns:1fr; gap:24px; }
}
@media (max-width: 720px) {
    .pcp-pricing-v10 .pc-price-hero { padding-top:27px; padding-bottom:58px; }
    .pcp-pricing-v10 .pc-price-intro h1 { font-size:45px; }
    .pcp-pricing-v10 .pc-price-plans { padding-bottom:74px; }
    .pcp-pricing-v10 .pc-price-contract { padding-top:74px; padding-bottom:74px; }
    .pcp-pricing-v10 .pricing-contract-grid { grid-template-columns:1fr; }
    .pcp-pricing-v10 .pricing-contract-grid article,
    .pcp-pricing-v10 .pricing-contract-grid article + article { min-height:0; padding:24px 0; border-left:0; }
    .pcp-pricing-v10 .pricing-contract-grid article + article { border-top:1px solid #dcd9d3; }
    .pcp-pricing-v10 .pc-price-note { padding:64px 0; }
}

@media (prefers-reduced-motion: reduce) {
    .public-modern-page *, .landing-home-modern * {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
}


/* === PIETROCAL V10.2 SCREENSHOT SEMANTIC FIXES === */
.pcp-page .pcp-hero--text { padding-bottom: 82px; }
.pcp-page .pcp-intro--text { margin-bottom: 0; }
.pcp-page .pcp-intro--text h1 { max-width: 880px; }
.pc-case-stack { display:grid; gap:96px; }
.pc-case-item { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:clamp(58px,7vw,105px); align-items:center; }
.pc-case-item--reverse { grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr); }
.pc-case-item h3 { max-width:540px; margin:15px 0 14px; color:#292723; font-size:clamp(30px,3vw,42px); font-weight:515; line-height:1.08; letter-spacing:-.042em; }
.pc-case-item p { max-width:520px; margin:0 0 23px; color:#77736d; font-size:14px; line-height:1.72; }
@media (max-width:1000px) { .pc-case-item, .pc-case-item--reverse { grid-template-columns:1fr; gap:35px; } }
@media (max-width:720px) { .pc-case-stack { gap:66px; } .pc-case-item h3 { font-size:30px; } }


/* === PIETROCAL V10.5 EXACT CAPTURE PASS === */
.pcp-page .pcp-dual-shots { display:grid; grid-template-columns:1fr 1fr; gap:54px; }
.pcp-page .pcp-dual-shots article { min-width:0; }
.pcp-page .pcp-dual-shots article > div { padding-top:26px; }
.pcp-page .pcp-dual-shots h3 { max-width:520px; margin:13px 0 12px; color:#292723; font-size:25px; font-weight:520; line-height:1.17; letter-spacing:-.035em; }
.pcp-page .pcp-dual-shots p { max-width:510px; margin:0; color:#77736d; font-size:13px; line-height:1.68; }
@media (max-width:900px) { .pcp-page .pcp-dual-shots { grid-template-columns:1fr; gap:64px; } }
@media (max-width:720px) { .pcp-page .pcp-dual-shots h3 { font-size:22px; } }
