﻿/* Book publicity in Pipbuk's illustrated visual identity. */
.press-page { background: #fcf7f2; overflow: clip; }
.press-page .section-inner { max-width: 1180px; }
.press-page h2 { font-size: clamp(32px, 3.5vw, 45px); line-height: 1.12; }
.press-page p { color: #715a83; }
.press-service-page .press-intro { position: relative; isolation: isolate; background: #382078; padding: 35px 32px 135px; }
.press-intro > .section-inner { position: relative; z-index: 1; }
.press-intro .text-link { color: #e5cfff; font-size: 12px; }
.press-intro .eyebrow { background: #ffffff0a; border-color: #d4b5ff40; color: #dec6ff; }
.press-service-page .press-intro h1 { color: #fff7ef; font-size: clamp(45px, 5vw, 68px); line-height: 1.03; letter-spacing: -.035em; }
.press-intro h1 span { color: #d4b3ff; font-style: italic; text-decoration: none !important; }
.press-service-page .press-hero-copy .section-lead { color: #f0e4fb; font-size: 17px; line-height: 1.8; }
.press-page .press-hero-note { color: #d5bdec; font-size: 12px; }
.press-intro .btn-primary { background: #fff0dd; color: #382078; border-radius: 999px; padding: 15px 25px; gap: 20px; font-family: Ubuntu, sans-serif; font-weight: 500; }
.press-intro .btn-primary:hover { background: #ffe0a8; }
.press-service-page .press-art { border: 0; border-radius: 0; padding: 0; background: transparent; }
.press-art > img { display: block; width: 100%; height: auto; }
.press-page .press-wave { height: 105px; z-index: 0; }
.press-offer { max-width: 1180px; padding: 15px 32px 40px; gap: 35px; }
.press-offer > div { background: #eee2f5; border-radius: 24px; padding: 24px; gap: 20px; }
.press-offer-number, .press-offer-symbol { color: #9463c9; font-family: Georgia, serif; font-weight: 400; }
.press-offer strong { color: #4c2b79; }.press-offer p span { color: #715a83; }
.press-service-page .press-system { background: #eee2f5; border-radius: 28px; max-width: 1116px; margin: 0 auto; padding: 35px; }
.press-system .eyebrow { color: #7950aa; background: #fffcf880; border-color: #dbc4ee; }
.press-system h2 { color: #382078; font-size: clamp(30px, 3vw, 40px); }
.press-system p { color: #624c7a; }
.press-page .section-lead { color: #715a83; }
.press-page .eyebrow { font-family: Ubuntu, sans-serif; }
.press-service-page .press-details .service-card, .press-service-page .press-details .service-card:nth-child(2) { background: #eee2f5; border: 1px solid #e1cfed; border-radius: 28px; padding: 28px; box-shadow: none; }
.press-service-page .press-step { color: #8052ae; border-color: #d8c0e8; font-size: 11px; }
.press-details .service-card h3 { color: #382078; font-size: 28px; line-height: 1.12; margin: 22px 0 15px; }
.press-details .service-card p { color: #715a83; font-size: 15px; line-height: 1.8; }
.press-page .press-request-section { position: relative; isolation: isolate; background: #382078; padding: 65px 32px 135px; }
.press-request-layout { position: relative; z-index: 1; max-width: 1180px; gap: 60px; }
.press-request-copy { padding-top: 12px; }
.press-request-copy > .eyebrow { color: #dec6ff; border-color: #d4b5ff40; background: #ffffff0a; }
.press-request-copy h2 { color: #fff7ef; font-size: clamp(38px, 4vw, 54px); line-height: 1.06; }
.press-request-copy h2 span { color: #d4b3ff; font-style: italic; }
.press-request-copy > p { color: #ece0f7; font-size: 16px; line-height: 1.8; }
.press-request-copy .text-link { color: #ffda97; font-size: 13px; }
.press-conversation-art { display: block; width: 100%; height: auto; margin-top: 30px; }
.press-request-layout .contact-card { background: #fffcf8; border: 1px solid #e5d1ef; border-radius: 30px; box-shadow: 0 18px 45px #160a3526; }
.press-request-layout .contact-card > .eyebrow { color: #7950aa; background: #f0e5f7; border-color: #ddc7eb; }
.press-request-layout .contact-card h2 { color: #382078; font-size: 34px; line-height: 1.1; }
.press-request-layout .quote-form label { color: #4e2f76; }
.press-request-layout .quote-form input, .press-request-layout .quote-form textarea { font-family: Ubuntu, sans-serif; background: #fffefa; color: #382078; border-color: #d9c7e6; border-radius: 12px; }
.press-request-layout .quote-form input:focus-visible, .press-request-layout .quote-form textarea:focus-visible { outline: 2px solid #7950cf; outline-offset: 3px; }
.press-request-layout .quote-form button { background: linear-gradient(#8252c9, #442080); border-radius: 999px; color: #fff7ef; font-family: Ubuntu, sans-serif; font-weight: 500; font-size: 15px; gap: 20px; min-height: 52px; }
.press-request-layout .contact-alternative { border-color: #e5d4ed; font-size: 12px; }
@media (max-width: 760px) {
 .press-service-page .press-intro { padding: 28px 24px 100px; }
 .press-service-page .press-intro h1 { font-size: clamp(43px, 9vw, 60px); }
 .press-service-page .press-art { max-width: 430px; padding: 0; }
 .press-page .press-wave { height: 70px; }
 .press-offer { padding: 10px 24px 30px; gap: 15px; }
 .press-service-page .press-system { margin: 0 24px; padding: 25px; }
 .press-service-page .press-details .service-card { padding: 25px; }
 .press-page .press-request-section { padding: 40px 24px 95px; }
 .press-request-layout { gap: 30px; }
 .press-conversation-art { max-width: 330px; margin: 20px auto 0; }
 .press-page .story-stardust span:nth-child(5) { display: none; }
}
@media (max-width: 420px) {
 .press-request-layout .contact-card { padding: 24px 20px; border-radius: 24px; }
 .press-request-layout .contact-card h2 { font-size: 30px; }
 .press-page .press-request-section { padding-inline: 18px; }
 .press-hero-copy .btn-primary { font-size: 14px; padding-inline: 20px; }
}

/* Fade the illustration's ambient pigment into the page instead of clipping it. */
.press-conversation-art {
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 9%, #000 92%, transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0%, #000 9%, #000 92%, transparent 100%);
}
