/* ================================================================
   HubBits & MorDocs — Petition Passage / Request Chamber v1
   Presentation layer for the public product-request form.
   ================================================================ */

.petition-passage-page{
    --petition-violet:#9f70ee;
    --petition-indigo:#7476bd;
    --petition-gold:#d8bc78;
    --petition-teal:#78aa9d;
    --petition-ivory:#f4eef7;
    --petition-muted:#9f98a6;
}

.petition-passage-page .petition-passage-main{
    position:relative;
    overflow:hidden;
}

.petition-passage-page .petition-passage-main::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 78% 9%,rgba(159,112,238,.07),transparent 27%),
        radial-gradient(circle at 14% 58%,rgba(216,188,120,.028),transparent 24%);
}

.petition-passage-page .petition-passage-section{
    position:relative;
    z-index:1;
    padding:54px 0 82px;
}

/* ---------------------------------------------------------------
   Breadcrumb trail
   --------------------------------------------------------------- */

.petition-passage-page .petition-breadcrumbs{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:9px;
    margin:0 0 28px;
    color:#6f6878;
    font-size:12px;
    font-weight:700;
}

.petition-passage-page .petition-breadcrumbs a{
    max-width:260px;
    overflow:hidden;
    color:#b69adb;
    text-decoration:none;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.petition-passage-page .petition-breadcrumbs a:hover,
.petition-passage-page .petition-breadcrumbs a:focus-visible{
    color:#e5d6f8;
}

.petition-passage-page .petition-breadcrumbs a:focus-visible{
    border-radius:3px;
    outline:3px solid rgba(197,168,255,.25);
    outline-offset:3px;
}

.petition-passage-page .petition-breadcrumbs [aria-current="page"]{
    color:#d5cedd;
}

/* ---------------------------------------------------------------
   Two-chamber layout
   --------------------------------------------------------------- */

.petition-passage-page .petition-passage-layout{
    display:grid;
    grid-template-columns:minmax(330px,.78fr) minmax(500px,1.22fr);
    align-items:start;
    gap:28px;
}

.petition-passage-page .petition-docket,
.petition-passage-page .request-form-card{
    isolation:isolate;
    border-color:rgba(216,188,120,.14);
    background:
        radial-gradient(circle at 91% 7%,rgba(159,112,238,.085),transparent 28%),
        linear-gradient(145deg,rgba(255,255,255,.025),transparent 46%),
        rgba(12,9,16,.92);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.035),
        0 28px 68px rgba(0,0,0,.31),
        0 0 48px rgba(82,58,148,.045);
}

.petition-passage-page .petition-docket::after,
.petition-passage-page .request-form-card::after{
    content:"";
    position:absolute;
    z-index:0;
    width:270px;
    height:270px;
    border:1px solid rgba(159,112,238,.035);
    border-radius:50%;
    box-shadow:
        0 0 0 38px rgba(159,112,238,.006),
        0 0 0 76px rgba(216,188,120,.004);
    pointer-events:none;
}

.petition-passage-page .petition-docket::after{
    right:-118px;
    bottom:78px;
}

.petition-passage-page .request-form-card::after{
    top:155px;
    right:-125px;
}

.petition-passage-page .petition-docket > *,
.petition-passage-page .request-form-card > *{
    position:relative;
    z-index:2;
}

/* ---------------------------------------------------------------
   Product docket
   --------------------------------------------------------------- */

.petition-passage-page .petition-docket{
    position:sticky;
    top:26px;
    padding:34px;
}

.petition-passage-page .petition-docket__topline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin:0 0 28px;
}

.petition-passage-page .back-link{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#d8bc78;
    font-size:11px;
    font-weight:800;
    letter-spacing:.025em;
    text-decoration:none;
}

.petition-passage-page .back-link:hover,
.petition-passage-page .back-link:focus-visible{
    color:#f1dba8;
}

.petition-passage-page .petition-docket__seal{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-height:28px;
    padding:5px 9px;
    border:1px solid rgba(120,170,157,.18);
    border-radius:999px;
    background:rgba(120,170,157,.035);
    color:#b8d7cc;
    font-size:8px;
    font-weight:800;
    letter-spacing:.1em;
    text-transform:uppercase;
    white-space:nowrap;
}

.petition-passage-page .petition-docket__seal > span{
    color:#d8bc78;
}

.petition-passage-page .petition-docket__heading{
    display:flex;
    align-items:center;
    gap:15px;
    margin:0 0 16px;
}

.petition-passage-page .petition-docket__heading .form-eyebrow{
    margin-bottom:4px;
}

.petition-passage-page .petition-docket__sigil{
    position:relative;
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    flex:0 0 58px;
    border:1px solid rgba(216,188,120,.34);
    border-radius:50%;
    background:
        radial-gradient(circle at 50% 45%,rgba(159,112,238,.15),transparent 60%),
        #0b0911;
    color:#eadcff;
    box-shadow:
        0 0 0 5px rgba(159,112,238,.022),
        0 0 25px rgba(159,112,238,.07);
    animation:hbPetitionSigilArrival 1.45s cubic-bezier(.18,.72,.22,1) .08s both;
}

.petition-passage-page .petition-docket__sigil > span{
    position:absolute;
    inset:-7px;
    border:1px solid rgba(216,188,120,.15);
    border-radius:50%;
}

.petition-passage-page .petition-docket__sigil svg{
    width:32px;
    height:32px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.4;
    stroke-linecap:round;
    stroke-linejoin:round;
    filter:drop-shadow(0 0 5px rgba(159,112,238,.2));
}

.petition-passage-page .petition-docket__classification{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:0;
    color:#8f8796;
    font-size:9px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.petition-passage-page .petition-docket__classification > span{
    color:#d8bc78;
}

.petition-passage-page .petition-docket h1{
    margin:0;
    color:#f4eef7;
    font-size:clamp(35px,4vw,48px);
    letter-spacing:-.025em;
}

.petition-passage-page .petition-docket__intro{
    margin:14px 0 25px;
    color:#a49cab;
    font-size:13px;
    line-height:1.72;
}

.petition-passage-page .petition-section-label{
    margin:0 0 6px;
    color:#d8bc78;
    font-size:8px;
    font-weight:800;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.petition-passage-page .petition-product-record{
    padding:20px;
    border:1px solid rgba(205,194,218,.09);
    border-radius:15px;
    background:
        linear-gradient(145deg,rgba(255,255,255,.012),transparent 45%),
        rgba(7,6,10,.28);
}

.petition-passage-page .petition-product-record h2{
    margin:0 0 17px;
    color:#e9e2ee;
    font-family:var(--hb-ui);
    font-size:18px;
    line-height:1.35;
}

.petition-passage-page .petition-product-record__band{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:hidden;
    border:1px solid rgba(205,194,218,.075);
    border-radius:11px;
    background:rgba(5,4,8,.24);
}

.petition-passage-page .petition-product-record__band > span{
    min-width:0;
    padding:11px 10px;
    border-right:1px solid rgba(205,194,218,.07);
}

.petition-passage-page .petition-product-record__band > span:last-child{
    border-right:0;
}

.petition-passage-page .petition-product-record__band small,
.petition-passage-page .petition-product-record__band strong{
    display:block;
}

.petition-passage-page .petition-product-record__band small{
    color:#77707f;
    font-size:7px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.petition-passage-page .petition-product-record__band strong{
    overflow:hidden;
    margin-top:4px;
    color:#d9d1de;
    font-size:10px;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.petition-passage-page .petition-session-note{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    gap:12px;
    margin-top:18px;
    padding:15px;
    border:1px solid rgba(120,170,157,.12);
    border-radius:13px;
    background:rgba(120,170,157,.025);
}

.petition-passage-page .petition-session-note__icon{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border:1px solid rgba(216,188,120,.16);
    border-radius:11px;
    color:#c7b3e1;
    background:rgba(8,6,11,.34);
}

.petition-passage-page .petition-session-note__icon svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.5;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.petition-passage-page .petition-session-note strong{
    display:block;
    color:#c8ded7;
    font-size:11px;
    letter-spacing:.025em;
}

.petition-passage-page .petition-session-note p{
    margin:4px 0 0;
    color:#8e9794;
    font-size:11px;
    line-height:1.55;
}

.petition-passage-page .petition-docket__fine-print{
    margin:17px 0 0;
    color:#746e7a;
    font-size:10px;
    font-weight:700;
    letter-spacing:.06em;
    text-align:center;
    text-transform:uppercase;
}

/* ---------------------------------------------------------------
   Request form chamber
   --------------------------------------------------------------- */

.petition-passage-page .request-form-card{
    width:100%;
    max-width:none;
    margin:0;
    padding:38px 40px 40px;
}

.petition-passage-page .petition-form-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
}

.petition-passage-page .petition-form-heading .form-eyebrow{
    margin-bottom:8px;
}

.petition-passage-page .petition-form-heading h2{
    margin:0;
    color:#f4eef7;
    font-size:clamp(29px,3.2vw,40px);
    letter-spacing:-.025em;
}

.petition-passage-page .petition-form-heading__step{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:29px;
    padding:6px 10px;
    border:1px solid rgba(216,188,120,.15);
    border-radius:999px;
    background:rgba(216,188,120,.025);
    color:#bca873;
    font-size:8px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
    white-space:nowrap;
}

.petition-passage-page .petition-form-intro{
    max-width:570px;
    margin:13px 0 27px;
    color:#9991a2;
    font-size:13px;
    line-height:1.7;
}

.petition-passage-page .customer-request-form{
    gap:18px;
}

.petition-passage-page .petition-form-section{
    min-width:0;
    margin:0;
    padding:22px;
    border:1px solid rgba(205,194,218,.09);
    border-radius:15px;
    background:
        linear-gradient(145deg,rgba(255,255,255,.011),transparent 48%),
        rgba(7,6,10,.25);
}

.petition-passage-page .petition-form-section legend{
    display:flex;
    align-items:center;
    gap:9px;
    padding:0 8px 0 0;
    color:#e4dce9;
    font-size:12px;
    font-weight:800;
    letter-spacing:.045em;
    text-transform:uppercase;
}

.petition-passage-page .petition-form-section legend > span{
    display:inline-grid;
    place-items:center;
    width:27px;
    height:27px;
    border:1px solid rgba(216,188,120,.2);
    border-radius:50%;
    background:#0b0910;
    color:#d8bc78;
    font-size:8px;
}

.petition-passage-page .petition-form-section__intro{
    margin:0 0 18px;
    color:#827a89;
    font-size:11px;
    line-height:1.55;
}

.petition-passage-page .petition-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:17px;
}

.petition-passage-page .petition-form-section .form-field--wide{
    grid-column:1 / -1;
}

.petition-passage-page .petition-form-section .form-label-row{
    align-items:flex-start;
}

.petition-passage-page .petition-form-section .label-optional{
    padding-top:2px;
}

.petition-passage-page .petition-form-section input,
.petition-passage-page .petition-form-section textarea{
    border-color:rgba(211,196,226,.17);
    background:rgba(4,3,7,.53);
}

.petition-passage-page .petition-form-section textarea{
    min-height:135px;
}

.petition-passage-page .petition-submit-panel{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(230px,270px);
    align-items:center;
    gap:24px;
    margin-top:2px;
    padding:18px;
    border:1px solid rgba(216,188,120,.09);
    border-radius:15px;
    background:
        radial-gradient(circle at 92% 0%,rgba(159,112,238,.055),transparent 42%),
        rgba(8,6,11,.3);
}

.petition-passage-page .petition-submit-panel__label{
    display:block;
    color:#d8bc78;
    font-size:8px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.petition-passage-page .petition-submit-panel strong{
    display:block;
    margin-top:3px;
    color:#dcd4e1;
    font-size:12px;
}

.petition-passage-page .petition-submit-panel p{
    margin:4px 0 0;
    color:#827b89;
    font-size:10px;
    line-height:1.5;
}

.petition-passage-page .petition-submit-panel .form-submit{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    width:100%;
    margin:0;
    border-color:rgba(159,112,238,.28);
    background:
        radial-gradient(circle at 15% 0%,rgba(159,112,238,.13),transparent 44%),
        linear-gradient(135deg,#191321,#261a32 56%,#17121e);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 12px 28px rgba(31,25,67,.17);
}

.petition-passage-page .petition-submit-panel .form-submit > span:last-child{
    color:#d8bc78;
    font-size:16px;
}

.petition-passage-page .message{
    margin:0 0 20px;
}

.petition-passage-page .petition-unavailable{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.petition-passage-page .petition-unavailable strong{
    color:#ffd0d5;
}

.petition-passage-page .petition-unavailable span{
    color:#d29fa5;
    font-weight:500;
}

/* ---------------------------------------------------------------
   Secondary action and guidance strip
   --------------------------------------------------------------- */

.petition-passage-page .petition-secondary-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:46px;
    padding:11px 17px;
    border:1px solid rgba(216,188,120,.24);
    border-radius:11px;
    background:rgba(216,188,120,.045);
    color:#ead39d;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
    transition:border-color .2s ease,background .2s ease,transform .2s ease;
}

.petition-passage-page .petition-secondary-action:hover,
.petition-passage-page .petition-secondary-action:focus-visible{
    border-color:rgba(216,188,120,.4);
    background:rgba(216,188,120,.075);
    color:#f4dfae;
    transform:translateY(-1px);
}

.petition-passage-page .petition-guidance{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    margin-top:22px;
}

.petition-passage-page .petition-guidance > div{
    position:relative;
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:12px;
    overflow:hidden;
    padding:17px;
    border:1px solid rgba(216,188,120,.08);
    border-radius:14px;
    background:
        linear-gradient(145deg,rgba(255,255,255,.01),transparent 44%),
        rgba(8,6,11,.26);
}

.petition-passage-page .petition-guidance > div::before{
    content:"";
    position:absolute;
    top:0;
    right:15%;
    left:15%;
    height:1px;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(159,112,238,.11),
        rgba(216,188,120,.15),
        transparent
    );
}

.petition-passage-page .petition-guidance > div > span{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border:1px solid rgba(159,112,238,.14);
    border-radius:50%;
    color:#9f70ee;
    font-size:8px;
    font-weight:800;
}

.petition-passage-page .petition-guidance p{
    margin:0;
    color:#837c8a;
    font-size:10px;
    line-height:1.55;
}

.petition-passage-page .petition-guidance strong{
    display:block;
    margin-bottom:3px;
    color:#cfc7d5;
    font-size:11px;
}

/* ---------------------------------------------------------------
   Missing listing
   --------------------------------------------------------------- */

.petition-passage-page .petition-passage-missing{
    position:relative;
    z-index:1;
    display:grid;
    min-height:660px;
    place-items:center;
    padding:70px 0;
}

.petition-passage-page .petition-missing-card{
    width:min(100%,650px);
    margin:0 auto;
    padding:52px;
    text-align:center;
}

.petition-passage-page .petition-missing-card__sigil{
    display:grid;
    place-items:center;
    width:62px;
    height:62px;
    margin:0 auto 22px;
    border:1px solid rgba(216,188,120,.25);
    border-radius:50%;
    color:#c9b3df;
    background:rgba(8,6,11,.34);
}

.petition-passage-page .petition-missing-card__sigil svg{
    width:34px;
    height:34px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.4;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.petition-passage-page .petition-missing-card h1{
    margin:0;
    font-size:clamp(35px,5vw,49px);
}

.petition-passage-page .petition-missing-card > p:not(.form-eyebrow){
    max-width:480px;
    margin:15px auto 25px;
    color:#9d95a4;
}

/* ---------------------------------------------------------------
   Motion, responsive layout, and accessibility
   --------------------------------------------------------------- */

@keyframes hbPetitionSigilArrival{
    0%{
        opacity:.4;
        transform:scale(.92);
    }
    48%{
        opacity:1;
        transform:scale(1.04);
    }
    100%{
        opacity:1;
        transform:scale(1);
    }
}

@media(max-width:1040px){
    .petition-passage-page .petition-passage-layout{
        grid-template-columns:1fr;
    }

    .petition-passage-page .petition-docket{
        position:relative;
        top:auto;
    }

    .petition-passage-page .petition-product-record__band{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:760px){
    .petition-passage-page .petition-passage-section{
        padding:40px 0 62px;
    }

    .petition-passage-page .petition-docket,
    .petition-passage-page .request-form-card{
        padding:29px 25px;
    }

    .petition-passage-page .petition-form-grid,
    .petition-passage-page .petition-submit-panel,
    .petition-passage-page .petition-guidance{
        grid-template-columns:1fr;
    }

    .petition-passage-page .petition-form-section .form-field--wide{
        grid-column:auto;
    }

    .petition-passage-page .petition-submit-panel .form-submit{
        width:100%;
    }
}

@media(max-width:520px){
    .petition-passage-page .petition-breadcrumbs a{
        max-width:145px;
    }

    .petition-passage-page .petition-docket,
    .petition-passage-page .request-form-card{
        padding:24px 19px;
        border-radius:18px;
    }

    .petition-passage-page .petition-docket__topline,
    .petition-passage-page .petition-form-heading{
        align-items:flex-start;
        flex-direction:column;
    }

    .petition-passage-page .petition-docket__heading{
        align-items:flex-start;
    }

    .petition-passage-page .petition-docket__sigil{
        width:52px;
        height:52px;
        flex-basis:52px;
    }

    .petition-passage-page .petition-product-record{
        padding:17px;
    }

    .petition-passage-page .petition-product-record__band{
        grid-template-columns:1fr;
    }

    .petition-passage-page .petition-product-record__band > span{
        border-right:0;
        border-bottom:1px solid rgba(205,194,218,.07);
    }

    .petition-passage-page .petition-product-record__band > span:last-child{
        border-bottom:0;
    }

    .petition-passage-page .petition-form-section{
        padding:19px 16px;
    }

    .petition-passage-page .petition-missing-card{
        padding:40px 22px;
    }
}

@media(prefers-reduced-motion:reduce){
    .petition-passage-page .petition-docket__sigil{
        animation:none !important;
        transition:none !important;
    }

    .petition-passage-page .petition-secondary-action{
        transition:none !important;
    }
}
