/* ==========================================
   SLEEPMATCH AI DESIGN SYSTEM
========================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    background:#050505;
    color:#ffffff;
    font-family:Arial, Helvetica, sans-serif;

}

/* ==========================================
   PAGE
========================================== */

.page{

    min-height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:60px 20px;

}

/* ==========================================
   CARD
========================================== */

.card{

    width:100%;

    max-width:700px;

    background:#111111;

    border:1px solid #2a2a2a;

    border-radius:20px;

    padding:50px;

    box-shadow:0 0 40px rgba(0,0,0,.45);

}

/* ==========================================
   BRAND
========================================== */

.brand{

    text-align:center;

    color:#C8A13D;

    letter-spacing:6px;

    font-size:13px;

    margin-bottom:30px;

}

/* ==========================================
   PAGE TITLE
========================================== */

.page-title{

    text-align:center;

    font-size:56px;

    font-weight:bold;

    color:#ffffff;

}

.page-title span{

    color:#C8A13D;

}

/* ==========================================
   SUBTITLE
========================================== */

.subtitle{

    text-align:center;

    color:#a1a1a1;

    margin-top:18px;

    margin-bottom:40px;

    line-height:1.6;

}
/* ==========================================
   PROGRESS BAR
========================================== */

.progress{

    text-align:center;

    margin-bottom:40px;

    color:#C8A13D;

    font-size:14px;

    letter-spacing:1px;

}

/* ==========================================
   FORM
========================================== */

form{

    display:flex;

    flex-direction:column;

}

/* ==========================================
   FORM GROUP
========================================== */

.form-group{

    margin-bottom:25px;

}

/* ==========================================
   LABEL
========================================== */

label{

    display:block;

    margin-bottom:10px;

    color:#C8A13D;

    font-size:15px;

    font-weight:600;

}

/* ==========================================
   INPUT
========================================== */

input{

    width:100%;

    background:#1a1a1a;

    color:white;

    border:1px solid #333333;

    border-radius:10px;

    padding:16px;

    font-size:16px;

    transition:.3s;

}

input:focus{

    outline:none;

    border-color:#C8A13D;

    box-shadow:0 0 10px rgba(200,161,61,.3);

}

/* ==========================================
   PLACEHOLDER
========================================== */

input::placeholder{

    color:#777777;

}
/* ==========================================
   HERO SECTION
========================================== */

.hero{

    max-width:700px;

    width:100%;

    text-align:center;

}

.hero .btn{

    margin-top:30px;

}
/* ==========================================
   HOMEPAGE
========================================== */

.hero{

    width:100%;
    max-width:1400px;

}

/* ---------- TOP BAR ---------- */

.hero-top{

    display:flex;
    justify-content:space-between;
    align-items:center;

    margin-bottom:80px;

}

.company{

    color:#C8A13D;

    font-size:16px;

    letter-spacing:4px;

    font-weight:600;

}

.ai-badge{

    color:white;

    border:1px solid #C8A13D;

    border-radius:40px;

    padding:12px 24px;

    font-size:14px;

}

/* ---------- HERO CONTENT ---------- */

.hero-content{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:80px;

    margin-bottom:80px;

}

.hero-left{

    flex:1;

}

.hero-right{

    flex:1;

    text-align:right;

}

.hero-right img{

    width:100%;

    max-width:650px;

}

/* ---------- TAGLINE ---------- */

.hero-tagline{

    color:#C8A13D;

    font-size:30px;

    margin-top:20px;

    margin-bottom:25px;

}

/* ---------- DESCRIPTION ---------- */

.hero-description{

    color:#A0A0A0;

    font-size:22px;

    line-height:1.8;

    margin-bottom:40px;

}

/* ---------- BUTTON ---------- */

.btn{

    background:#C8A13D;

    color:#111111;

    border:none;

    padding:18px 40px;

    border-radius:12px;

    font-size:18px;

    font-weight:bold;

    cursor:pointer;

    transition:.3s;

}

.btn:hover{

    background:#E0B84A;

    transform:translateY(-2px);

}

/* ---------- SECURITY ---------- */

.security{

    margin-top:30px;

    color:#A0A0A0;

    font-size:15px;

}

/* ---------- FEATURES ---------- */

.features{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.feature-card{

    background:#111111;

    border:1px solid #262626;

    border-radius:20px;

    padding:35px;

    text-align:center;

    transition:.3s;

}

.feature-card:hover{

    border-color:#C8A13D;

    transform:translateY(-6px);

}

.feature-card h3{

    margin-top:15px;

    margin-bottom:15px;

    color:white;

}

.feature-card p{

    color:#9A9A9A;

    line-height:1.6;

}

/* ---------- RESPONSIVE ---------- */

@media(max-width:1000px){

.hero-content{

    flex-direction:column;

    text-align:center;

}

.hero-right{

    text-align:center;

}

.features{

    grid-template-columns:repeat(2,1fr);

}

.hero-top{

    flex-direction:column;

    gap:25px;

}

}

@media(max-width:650px){

.features{

    grid-template-columns:1fr;

}

.page-title{

    font-size:58px;

}

.hero-description{

    font-size:18px;

}

}
/* ===========================
   TABLET (1024px and below)
=========================== */

@media (max-width: 1024px) {

    .hero-content {
        flex-direction: column;
        text-align: center;
        gap: 40px;
    }

    .hero-left,
    .hero-right {
        width: 100%;
        max-width: 100%;
    }

    .hero-right img {
        max-width: 450px;
        width: 100%;
    }

    .page-title {
        font-size: 60px;
    }

    .hero-description {
        font-size: 22px;
    }

    .features {
        grid-template-columns: repeat(2, 1fr);
    }

}

/* ===========================
   MOBILE (768px and below)
=========================== */

@media (max-width: 768px) {

    .hero-top {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    .hero-content {
        flex-direction: column;
        text-align: center;
        gap: 30px;
    }

    .page-title {
        font-size: 42px;
    }

    .hero-tagline {
        font-size: 24px;
    }

    .hero-description {
        font-size: 18px;
        line-height: 1.7;
    }

    .hero-right img {
        max-width: 320px;
        width: 100%;
    }

    .btn {
        width: 100%;
        max-width: 320px;
    }

    .features {
        grid-template-columns: 1fr;
    }

}

/* ==========================================
   HOMEPAGE IMMERSIVE CENTER HERO
========================================== */

.page{
    min-height:100vh;
    align-items:stretch;
    padding:34px;
    background:#050505;
}

.hero{
    width:100%;
    max-width:none;
}

.hero-top{
    position:relative;
    z-index:4;
    margin-bottom:22px;
}

.company{
    color:#C8A13D;
    font-size:25px;
    font-weight:900;
    letter-spacing:0;
}

.ai-badge{
    padding:0;
    border:0;
    background:transparent;
}

.mattress-lab-logo{
    width:190px;
    height:76px;
    object-fit:cover;
    object-position:center;
    filter:brightness(1.55) contrast(1.22) saturate(1.08);
}

.hero-content{
    position:relative;
    min-height:560px;
    display:grid;
    place-items:center;
    justify-items:center;
    overflow:hidden;
    margin-bottom:28px;
    border-radius:0;
}

.hero-content::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    background:
        radial-gradient(circle at center, rgba(200,161,61,.12), transparent 28%),
        linear-gradient(90deg, rgba(5,5,5,.94), rgba(5,5,5,.66) 30%, rgba(5,5,5,.38) 58%, rgba(5,5,5,.86)),
        linear-gradient(180deg, rgba(5,5,5,.88), rgba(5,5,5,.18) 34%, rgba(5,5,5,.94));
}

.hero-right{
    position:absolute;
    inset:-120px -40px -110px -40px;
    z-index:0;
    text-align:center;
}

.hero-right img{
    width:100%;
    height:100%;
    max-width:none;
    min-height:0;
    display:block;
    object-fit:cover;
    object-position:center right;
    opacity:.72;
    filter:brightness(.82) contrast(1.08) saturate(1.04);
}

.hero-left{
    position:relative;
    z-index:2;
    width:min(940px, 100%);
    max-width:880px;
    margin:0 auto;
    text-align:center;
    padding:24px 18px;
}

.hero .page-title{
    text-align:center;
    font-size:78px;
    line-height:.96;
    text-shadow:0 24px 70px rgba(0,0,0,.62);
}

.hero-kicker{
    max-width:660px;
    margin:22px auto 0;
    color:#E0B84A;
    font-size:12px;
    font-weight:900;
    letter-spacing:3.2px;
    line-height:1.5;
    text-transform:uppercase;
}

.hero-tagline{
    margin:24px 0 22px;
    color:#E0B84A;
    font-size:34px;
    line-height:1.12;
    text-shadow:0 16px 52px rgba(0,0,0,.62);
}

.hero-description{
    max-width:760px;
    margin:0 auto 30px;
    color:#D1D1D1;
    font-size:22px;
    line-height:1.8;
}

.hero .btn{
    min-width:370px;
    min-height:66px;
    border-radius:16px;
    box-shadow:0 22px 58px rgba(200,161,61,.28), 0 18px 70px rgba(0,0,0,.42);
}

.security{
    display:none;
    margin-top:22px;
    color:#CFCFCF;
    font-size:15px;
}

.features{
    position:relative;
    z-index:2;
    max-width:1240px;
    margin:0 auto;
    gap:18px;
}

.feature-card{
    min-height:180px;
    padding:28px;
    text-align:center;
    border:1px solid rgba(255,255,255,.1);
    border-radius:20px;
    background:linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
    box-shadow:0 18px 54px rgba(0,0,0,.28);
}

@media (max-width: 1100px){
    .hero-content{
        min-height:560px;
    }

    .hero .page-title{
        font-size:70px;
    }

    .hero-tagline{
        font-size:32px;
    }

    .hero-description{
        font-size:20px;
    }
}

@media (max-width: 768px){
    .page{
        padding:20px 16px 34px;
    }

    .hero-top{
        align-items:center;
        margin-bottom:18px;
    }

    .company{
        font-size:22px;
    }

    .mattress-lab-logo{
        width:150px;
        height:60px;
    }

    .hero-content{
        min-height:620px;
    }

    .hero-right{
        inset:-80px -120px -80px -120px;
    }

    .hero-right img{
        object-position:center;
        opacity:.58;
    }

    .hero .page-title{
        font-size:48px;
    }

    .hero-kicker{
        font-size:10px;
        letter-spacing:2px;
    }

    .hero-tagline{
        font-size:28px;
    }

    .hero-description{
        font-size:17px;
        line-height:1.75;
    }

    .hero .btn{
        width:100%;
        max-width:340px;
        min-width:0;
        min-height:60px;
    }
}

@media (max-width: 520px){
    .hero .page-title{
        font-size:40px;
    }

    .hero-tagline{
        font-size:24px;
    }

    .hero-description{
        font-size:16px;
    }
}

/* ==========================================
   BASIC INFORMATION CONSULTATION
========================================== */

.consultation-shell{
    min-height:100vh;
    display:grid;
    grid-template-columns:320px minmax(0,1fr);
    gap:34px;
    padding:32px;
    background:
        radial-gradient(circle at top right, rgba(200,161,61,.16), transparent 32%),
        linear-gradient(135deg, #050505 0%, #0d0d0d 48%, #050505 100%);
}

.consultation-sidebar,
.glass-card{
    background:rgba(17,17,17,.78);
    border:1px solid rgba(200,161,61,.22);
    box-shadow:0 24px 80px rgba(0,0,0,.42);
    backdrop-filter:blur(18px);
}

.consultation-sidebar{
    position:sticky;
    top:32px;
    height:calc(100vh - 64px);
    border-radius:24px;
    padding:24px;
    display:flex;
    flex-direction:column;
    gap:22px;
    overflow:hidden;
}

.sidebar-logo{
    padding-bottom:20px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.sidebar-kicker,
.eyebrow{
    color:#C8A13D;
    font-size:12px;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
}

.sidebar-logo h2{
    margin:12px 0 10px;
    color:#ffffff;
    font-size:25px;
    line-height:1.15;
}

.sidebar-logo span,
.progress-copy p,
.consult-step small,
.panel-heading p,
.consultation-hero p,
.security-card p{
    color:#9A9A9A;
    line-height:1.6;
}

.sidebar-progress{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.progress-copy{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-start;
}

.progress-copy h4{
    color:#ffffff;
    font-size:16px;
}

.progress-bar{
    width:100%;
    height:10px;
    overflow:hidden;
    border-radius:999px;
    background:#242424;
}

.progress-fill{
    width:20%;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg, #C8A13D, #E0B84A);
    box-shadow:0 0 18px rgba(200,161,61,.45);
}

.progress-fill-start{
    width:0;
    box-shadow:none;
}

.progress-fill-40{
    width:40%;
}

.progress-fill-60{
    width:60%;
}

.progress-fill-80{
    width:80%;
}

.progress-fill-100{
    width:100%;
}

.sidebar-progress strong{
    color:#C8A13D;
    font-size:13px;
    letter-spacing:1px;
    text-transform:uppercase;
}

.sidebar-steps{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.consult-step{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:12px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:16px;
    background:rgba(255,255,255,.025);
    transition:.3s;
}

a.consult-step{
    color:inherit;
    text-decoration:none;
}

.consult-step:hover,
.consult-step.active{
    border-color:rgba(200,161,61,.58);
    background:rgba(200,161,61,.08);
    transform:translateY(-2px);
}

.consult-step span,
.panel-heading span{
    flex:0 0 auto;
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:11px;
    color:#111111;
    background:#C8A13D;
    font-size:13px;
    font-weight:800;
}

.consult-step h5{
    color:#ffffff;
    font-size:14px;
    margin-bottom:4px;
}

.consultation-main{
    width:100%;
    max-width:980px;
    margin:0 auto;
    padding:38px 0 20px;
}

.consultation-hero{
    margin-bottom:30px;
}

.consultation-title{
    margin:14px 0 18px;
    color:#ffffff;
    font-size:64px;
    line-height:1;
    letter-spacing:0;
}

.consultation-title span{
    color:#C8A13D;
}

.consultation-hero p{
    max-width:760px;
    font-size:19px;
}

.consultation-form{
    gap:22px;
}

.glass-card{
    border-radius:24px;
}

.form-panel{
    padding:34px;
}

.panel-heading{
    display:flex;
    gap:16px;
    align-items:center;
    margin-bottom:30px;
    padding-bottom:24px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.panel-heading h2{
    color:#ffffff;
    font-size:28px;
    margin-bottom:6px;
}

.consultation-form .form-group{
    margin-bottom:24px;
}

.consultation-form label{
    color:#E0B84A;
    font-size:14px;
    letter-spacing:.4px;
}

.optional-label{
    margin-left:8px;
    color:#9A9A9A;
    font-size:12px;
    font-weight:700;
    letter-spacing:.6px;
    text-transform:uppercase;
}

.consultation-form input{
    min-height:56px;
    background:rgba(255,255,255,.055);
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    padding:17px 18px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.consultation-form input:hover{
    border-color:rgba(200,161,61,.42);
    background:rgba(255,255,255,.075);
}

.consultation-form input:focus{
    border-color:#C8A13D;
    box-shadow:0 0 0 4px rgba(200,161,61,.12), 0 12px 28px rgba(0,0,0,.22);
}

.two-column{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:22px;
}

.gender-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.gender-card{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:10px;
    min-height:160px;
    padding:22px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:20px;
    background:linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
    cursor:pointer;
    transition:.3s;
}

.gender-card input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.gender-card:hover,
.gender-card:has(input:checked){
    border-color:#C8A13D;
    transform:translateY(-4px);
    box-shadow:0 18px 38px rgba(0,0,0,.28);
}

.gender-card:has(input:checked){
    background:linear-gradient(145deg, rgba(200,161,61,.18), rgba(255,255,255,.045));
}

.gender-mark{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:16px;
    color:#111111;
    background:#C8A13D;
    font-weight:800;
}

.gender-card strong{
    color:#ffffff;
    font-size:20px;
}

.gender-card small{
    color:#9A9A9A;
    line-height:1.5;
}

.security-card{
    display:flex;
    gap:18px;
    align-items:flex-start;
    padding:24px;
}

.security-icon{
    width:52px;
    height:52px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    border-radius:16px;
    color:#111111;
    background:#C8A13D;
    font-size:13px;
    font-weight:900;
    letter-spacing:1px;
}

.security-card h3{
    color:#ffffff;
    margin-bottom:8px;
    font-size:20px;
}

.consent-card{
    position:relative;
    display:grid;
    grid-template-columns:24px minmax(0,1fr);
    gap:14px;
    align-items:flex-start;
    margin:-4px 0 24px;
    padding:18px;
    border:1px solid rgba(200,161,61,.22);
    border-radius:16px;
    background:rgba(255,255,255,.04);
    color:#d8d8d8;
    line-height:1.55;
    cursor:pointer;
    transition:.3s;
}

.consent-card:hover{
    border-color:rgba(200,161,61,.52);
    background:rgba(200,161,61,.07);
}

.consent-card input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.consent-check{
    width:24px;
    height:24px;
    margin-top:1px;
    display:grid;
    place-items:center;
    border:1px solid rgba(200,161,61,.48);
    border-radius:8px;
    background:rgba(255,255,255,.055);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.consent-check::after{
    content:"";
    width:10px;
    height:6px;
    border-left:2px solid #111111;
    border-bottom:2px solid #111111;
    opacity:0;
    transform:rotate(-45deg) translateY(-1px);
}

.consent-card:has(input:checked){
    border-color:#C8A13D;
    background:linear-gradient(145deg, rgba(200,161,61,.16), rgba(255,255,255,.045));
}

.consent-card:has(input:checked) .consent-check{
    background:#C8A13D;
    border-color:#C8A13D;
}

.consent-card:has(input:checked) .consent-check::after{
    opacity:1;
}

.navigation-buttons{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-top:8px;
}

.back-btn,
.continue-btn{
    min-height:56px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    padding:0 28px;
    font-size:16px;
    font-weight:800;
    text-decoration:none;
    cursor:pointer;
    transition:.3s;
}

.back-btn{
    color:#ffffff;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.045);
}

.continue-btn{
    color:#111111;
    border:1px solid #C8A13D;
    background:#C8A13D;
}

.back-btn:hover,
.continue-btn:hover{
    transform:translateY(-3px);
}

.back-btn:hover{
    border-color:rgba(200,161,61,.55);
    color:#E0B84A;
}

.continue-btn:hover{
    background:#E0B84A;
    box-shadow:0 14px 34px rgba(200,161,61,.24);
}

@media (max-width: 1100px){
    .consultation-shell{
        grid-template-columns:1fr;
        padding:24px;
    }

    .consultation-sidebar{
        position:relative;
        top:auto;
        height:auto;
    }

    .sidebar-steps{
        display:grid;
        grid-template-columns:repeat(5,minmax(0,1fr));
    }

    .consult-step{
        flex-direction:column;
    }

    .consultation-main{
        max-width:100%;
        padding-top:6px;
    }
}

@media (max-width: 820px){
    .consultation-shell{
        padding:18px;
        gap:22px;
    }

    .consultation-sidebar,
    .form-panel,
    .security-card{
        border-radius:20px;
        padding:22px;
    }

    .sidebar-steps,
    .two-column,
    .gender-grid{
        grid-template-columns:1fr;
    }

    .consult-step{
        flex-direction:row;
    }

    .consultation-title{
        font-size:46px;
    }

    .consultation-hero p{
        font-size:17px;
    }
}

@media (max-width: 560px){
    .consultation-shell{
        padding:14px;
    }

    .progress-copy,
    .navigation-buttons,
    .security-card{
        flex-direction:column;
    }

    .navigation-buttons{
        align-items:stretch;
    }

    .back-btn,
    .continue-btn{
        width:100%;
    }

    .panel-heading{
        align-items:flex-start;
    }

    .consultation-title{
        font-size:38px;
    }

    .gender-card{
        min-height:140px;
    }
}

@media (min-width: 700px) and (max-width: 820px){
    .consultation-shell{
        display:grid;
        grid-template-columns:220px minmax(0,1fr);
        gap:18px;
        padding:18px;
    }

    .consultation-sidebar{
        position:sticky;
        top:18px;
        height:calc(100vh - 36px);
        display:flex !important;
        padding:18px;
        gap:20px;
    }

    .mobile-progress-card{
        display:none !important;
    }

    .sidebar-logo h2{
        font-size:20px;
    }

    .sidebar-logo span{
        font-size:13px;
    }

    .sidebar-steps{
        display:flex;
        grid-template-columns:none;
    }

    .consult-step{
        flex-direction:column;
        gap:10px;
        padding:12px;
    }

    .consult-step span,
    .panel-heading span{
        width:34px;
        height:34px;
    }

    .consult-step h5{
        font-size:14px;
    }

    .consult-step small{
        font-size:12px;
    }

    .consultation-main{
        padding:6px 0 0;
    }

    .consultation-title{
        font-size:42px;
    }
}

/* ==========================================
   SLEEP PROFILE CONSULTATION
========================================== */

.sleep-profile-page .progress-fill-40{
    width:40%;
}

.mobile-progress-card{
    display:none;
}

.question-group{
    margin:0 0 34px;
    padding:0;
    border:0;
}

.question-group:last-child{
    margin-bottom:0;
}

.question-group legend{
    margin-bottom:18px;
    color:#ffffff;
    font-size:21px;
    font-weight:800;
    line-height:1.35;
}

.sleep-option-grid{
    display:grid;
    gap:18px;
}

.four-option-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.three-option-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
}

.sleep-option-card{
    min-height:170px;
}

.compact-option-card{
    min-height:118px;
    justify-content:center;
}

.option-icon{
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border-radius:16px;
    background:rgba(200,161,61,.16);
    border:1px solid rgba(200,161,61,.35);
    font-size:25px;
}

.sleep-profile-page .consult-step.complete{
    border-color:rgba(200,161,61,.32);
    background:rgba(200,161,61,.045);
}

.sleep-profile-page .mobile-progress-card{
    padding:22px;
    margin-bottom:24px;
}

.sleep-profile-page .mobile-progress-card strong{
    display:block;
    margin-top:12px;
    color:#C8A13D;
    font-size:13px;
    letter-spacing:1px;
    text-transform:uppercase;
}

@media (max-width: 1100px) and (min-width: 821px){
    .sleep-profile-page{
        grid-template-columns:240px minmax(0,1fr);
    }

    .sleep-profile-page .consultation-sidebar{
        position:sticky;
        top:24px;
        height:calc(100vh - 48px);
        padding:22px;
        gap:24px;
    }

    .sleep-profile-page .sidebar-logo h2{
        font-size:22px;
    }

    .sleep-profile-page .sidebar-steps{
        display:flex;
    }

    .sleep-profile-page .consult-step{
        flex-direction:column;
        padding:14px;
    }

    .four-option-grid,
    .three-option-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 820px){
    .sleep-profile-page .consultation-sidebar{
        display:none;
    }

    .sleep-profile-page .mobile-progress-card{
        display:block;
    }

    .four-option-grid,
    .three-option-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 560px){
    .four-option-grid,
    .three-option-grid{
        grid-template-columns:1fr;
    }

    .question-group{
        margin-bottom:28px;
    }

    .question-group legend{
        font-size:19px;
    }

    .sleep-option-card,
    .compact-option-card{
        min-height:112px;
    }
}

/* ==========================================
   PARTNER SLEEP PROFILE FLOW
========================================== */


.partner-flow-panel{
    max-height:0;
    opacity:0;
    overflow:hidden;
    pointer-events:none;
    transform:translateY(-8px);
    transition:max-height .45s ease, opacity .3s ease, transform .3s ease, margin .3s ease, padding-top .3s ease, padding-bottom .3s ease;
}

.partner-flow-panel.is-expanded{
    max-height:2200px;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
}

.partner-confirmation-card{
    margin-top:8px;
    padding:28px;
}

.partner-card-actions{
    display:flex;
    gap:16px;
    align-items:center;
    flex-wrap:wrap;
}

.partner-profile-section{
    margin-top:10px;
    padding-top:28px;
    border-top:1px solid rgba(255,255,255,.08);
}

.partner-panel-heading{
    margin-bottom:28px;
}



.partner-confirmation-card.partner-flow-panel:not(.is-expanded){
    margin-top:0;
    padding-top:0;
    padding-bottom:0;
    border-color:transparent;
}

.partner-confirmation-card.partner-flow-panel.is-expanded{
    margin-top:8px;
    padding-top:28px;
    padding-bottom:28px;
}

.partner-profile-section.partner-flow-panel:not(.is-expanded){
    margin-top:0;
    padding-top:0;
    border-top-color:transparent;
}

.partner-profile-section.partner-flow-panel.is-expanded{
    margin-top:10px;
    padding-top:28px;
    border-top-color:rgba(255,255,255,.08);
}

@media (max-width: 560px){
    .partner-card-actions{
        flex-direction:column;
        align-items:stretch;
    }

    .partner-card-actions .back-btn,
    .partner-card-actions .continue-btn{
        width:100%;
    }
}

/* ==========================================
   HEALTH ASSESSMENT CONSULTATION
========================================== */

.health-assessment-page .progress-fill-60{
    width:60%;
}

.health-assessment-page .consult-step.complete{
    border-color:rgba(200,161,61,.32);
    background:rgba(200,161,61,.045);
}

.health-assessment-page textarea{
    width:100%;
    min-height:160px;
    resize:vertical;
    background:rgba(255,255,255,.055);
    color:#ffffff;
    border:1px solid rgba(255,255,255,.12);
    border-radius:14px;
    padding:17px 18px;
    font-family:Arial, Helvetica, sans-serif;
    font-size:16px;
    line-height:1.6;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
    transition:.3s;
}

.health-assessment-page textarea:hover{
    border-color:rgba(200,161,61,.42);
    background:rgba(255,255,255,.075);
}

.health-assessment-page textarea:focus{
    outline:none;
    border-color:#C8A13D;
    box-shadow:0 0 0 4px rgba(200,161,61,.12), 0 12px 28px rgba(0,0,0,.22);
}

.health-assessment-page textarea::placeholder{
    color:#777777;
}

.other-condition-field{
    max-height:0;
    opacity:0;
    overflow:hidden;
    margin:0;
    transform:translateY(-8px);
    transition:max-height .35s ease, opacity .25s ease, transform .25s ease, margin .25s ease;
}

.recommendation-consideration-group:has(#consider_other:checked) .other-condition-field{
    max-height:120px;
    opacity:1;
    margin-top:18px;
    margin-bottom:0;
    transform:translateY(0);
}

@media (max-width: 1100px) and (min-width: 821px){
    .health-assessment-page{
        grid-template-columns:240px minmax(0,1fr);
    }

    .health-assessment-page .consultation-sidebar{
        position:sticky;
        top:24px;
        height:calc(100vh - 48px);
        padding:22px;
        gap:24px;
    }

    .health-assessment-page .sidebar-logo h2{
        font-size:22px;
    }

    .health-assessment-page .sidebar-steps{
        display:flex;
    }

    .health-assessment-page .consult-step{
        flex-direction:column;
        padding:14px;
    }
}

@media (max-width: 820px){
    .health-assessment-page .consultation-sidebar{
        display:none;
    }

    .health-assessment-page .mobile-progress-card{
        display:block;
    }
}
/* ==========================================
   COMFORT PREFERENCES CONSULTATION
========================================== */

.comfort-preference-page .progress-fill-80{
    width:80%;
}

.comfort-preference-page .consult-step.complete{
    border-color:rgba(200,161,61,.32);
    background:rgba(200,161,61,.045);
}

.five-option-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
}

@media (max-width: 1100px) and (min-width: 821px){
    .comfort-preference-page{
        grid-template-columns:240px minmax(0,1fr);
    }

    .comfort-preference-page .consultation-sidebar{
        position:sticky;
        top:24px;
        height:calc(100vh - 48px);
        padding:22px;
        gap:24px;
    }

    .comfort-preference-page .sidebar-logo h2{
        font-size:22px;
    }

    .comfort-preference-page .sidebar-steps{
        display:flex;
    }

    .comfort-preference-page .consult-step{
        flex-direction:column;
        padding:14px;
    }

    .five-option-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 820px){
    .comfort-preference-page .consultation-sidebar{
        display:none;
    }

    .comfort-preference-page .mobile-progress-card{
        display:block;
    }

    .five-option-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 560px){
    .five-option-grid{
        grid-template-columns:1fr;
    }
}
/* ==========================================
   RECOMMENDATION CONSULTATION
========================================== */

.recommendation-page .progress-fill-100{
    width:100%;
}

.recommendation-page .consult-step.complete{
    border-color:rgba(200,161,61,.32);
    background:rgba(200,161,61,.045);
}

.ai-analysis-card,
.best-match-card,
.recommendation-section{
    margin-top:24px;
}

.ai-analysis-card{
    padding:26px;
}

.ai-analysis-card h3,
.recommendation-section h3{
    color:#ffffff;
    margin-bottom:16px;
    font-size:21px;
}

.ai-analysis-card p{
    color:#C8A13D;
    margin-top:16px;
    font-weight:700;
}

.analysis-list,
.why-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    color:#d8d8d8;
}

.best-match-card{
    padding:30px;
    border:1px solid rgba(200,161,61,.48);
    border-radius:24px;
    background:linear-gradient(145deg, rgba(200,161,61,.16), rgba(255,255,255,.045));
    box-shadow:0 24px 70px rgba(0,0,0,.38);
}

.best-match-top,
.match-meta{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
}

.best-match-top{
    justify-content:space-between;
    margin-bottom:18px;
}

.best-match-badge{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 14px;
    border-radius:999px;
    background:#C8A13D;
    color:#111111;
    font-size:12px;
    font-weight:900;
    letter-spacing:1px;
}

.star-rating{
    color:#E0B84A;
    letter-spacing:2px;
}

.best-match-card h2{
    color:#ffffff;
    font-size:32px;
    margin-bottom:14px;
}

.match-meta span,
.match-meta strong{
    padding:9px 12px;
    border-radius:12px;
    background:rgba(255,255,255,.07);
    color:#ffffff;
}

.match-meta strong{
    color:#C8A13D;
}

.best-match-card p,
.mini-mattress-card p{
    color:#9A9A9A;
    line-height:1.6;
    margin-top:16px;
}

.alternative-grid,
.accessory-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.mini-mattress-card{
    padding:22px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:20px;
    background:linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
}

.mini-mattress-card h4{
    color:#ffffff;
    font-size:19px;
}

.mini-mattress-card strong{
    display:block;
    color:#C8A13D;
    margin-top:12px;
    font-size:18px;
}

@media (max-width: 1100px) and (min-width: 821px){
    .recommendation-page{
        grid-template-columns:240px minmax(0,1fr);
    }

    .recommendation-page .consultation-sidebar{
        position:sticky;
        top:24px;
        height:calc(100vh - 48px);
        padding:22px;
        gap:24px;
    }

    .recommendation-page .sidebar-logo h2{
        font-size:22px;
    }

    .recommendation-page .sidebar-steps{
        display:flex;
    }

    .recommendation-page .consult-step{
        flex-direction:column;
        padding:14px;
    }
}

@media (max-width: 820px){
    .recommendation-page .consultation-sidebar{
        display:none;
    }

    .recommendation-page .mobile-progress-card{
        display:block;
    }
}

@media (max-width: 560px){
    .analysis-list,
    .why-list,
    .alternative-grid,
    .accessory-grid{
        grid-template-columns:1fr;
    }

    .best-match-card h2{
        font-size:26px;
    }
}
/* ==========================================
   FINAL MVP AI LOADING
========================================== */

.ai-loading-screen{
    min-height:100vh;
    display:grid;
    place-items:center;
    gap:36px;
    padding:42px 20px;
    text-align:center;
    background:radial-gradient(circle at center, rgba(200,161,61,.16), transparent 34%), linear-gradient(135deg, #050505 0%, #0d0d0d 50%, #050505 100%);
}

.ai-orbit{
    position:relative;
    width:250px;
    height:250px;
    display:grid;
    place-items:center;
}

.ai-ring{
    position:absolute;
    inset:0;
    border:1px solid rgba(200,161,61,.32);
    border-top-color:#E0B84A;
    border-radius:50%;
    box-shadow:0 0 42px rgba(200,161,61,.25);
    animation:aiRotate 8s linear infinite;
}

.ai-core{
    width:150px;
    height:150px;
    display:grid;
    place-items:center;
    align-content:center;
    border-radius:50%;
    border:1px solid rgba(200,161,61,.55);
    background:rgba(17,17,17,.82);
    box-shadow:0 0 52px rgba(200,161,61,.28), inset 0 1px 0 rgba(255,255,255,.08);
    animation:aiPulse 2.8s ease-in-out infinite;
}

.ai-core strong{
    color:#ffffff;
    font-size:20px;
}

.ai-core span{
    color:#C8A13D;
    font-weight:900;
    letter-spacing:4px;
}

.particle{
    position:absolute;
    width:9px;
    height:9px;
    border-radius:50%;
    background:#E0B84A;
    box-shadow:0 0 18px rgba(224,184,74,.9);
}

.particle-one{ animation:particleOne 5s ease-in-out infinite; }
.particle-two{ animation:particleTwo 6s ease-in-out infinite; }
.particle-three{ animation:particleThree 7s ease-in-out infinite; }

.ai-loading-copy h1{
    color:#ffffff;
    font-size:42px;
    margin:14px 0 24px;
}

.ai-status-lines{
    display:grid;
    gap:10px;
    color:#A0A0A0;
    font-size:16px;
}

.ai-loading-bar{
    width:min(460px, 84vw);
    height:10px;
    margin:30px auto 0;
    overflow:hidden;
    border-radius:999px;
    background:#242424;
}

.ai-loading-bar span{
    display:block;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg, #C8A13D, #E0B84A);
    animation:aiLoad 2.6s ease-in-out forwards;
}

@keyframes aiRotate{ to{ transform:rotate(360deg); } }
@keyframes aiPulse{ 50%{ transform:scale(1.045); box-shadow:0 0 72px rgba(200,161,61,.4), inset 0 1px 0 rgba(255,255,255,.08); } }
@keyframes aiLoad{ from{ width:8%; } to{ width:100%; } }
@keyframes particleOne{ 0%,100%{ transform:translate(-96px,-20px); } 50%{ transform:translate(96px,28px); } }
@keyframes particleTwo{ 0%,100%{ transform:translate(70px,-90px); } 50%{ transform:translate(-74px,94px); } }
@keyframes particleThree{ 0%,100%{ transform:translate(-18px,108px); } 50%{ transform:translate(24px,-112px); } }

/* ==========================================
   FINAL MVP RECOMMENDATION HERO
========================================== */

.recommendation-results-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 300px;
    gap:24px;
    align-items:start;
}

.recommendation-card-stack{
    display:grid;
    grid-template-columns:minmax(210px,.92fr) minmax(260px,1.16fr) minmax(210px,.92fr);
    gap:20px;
    align-items:center;
}

.mvp-recommendation-card{
    min-height:440px;
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    gap:16px;
    padding:24px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:24px;
    background:linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
    box-shadow:0 24px 70px rgba(0,0,0,.34);
    transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease, opacity .35s ease;
}

.mvp-recommendation-card:hover{
    border-color:rgba(224,184,74,.34);
    box-shadow:0 28px 82px rgba(0,0,0,.42);
}

.recommendation-tier{
    color:#C8A13D;
    font-size:12px;
    font-weight:900;
    letter-spacing:2px;
}

.mvp-recommendation-card .card-role{
    margin-top:-10px;
    color:#ffffff;
    font-size:14px;
    font-weight:800;
}

.mattress-card-photo{
    width:100%;
    aspect-ratio:16 / 10;
    overflow:hidden;
    border-radius:18px;
    border:1px solid rgba(200,161,61,.2);
    background:rgba(255,255,255,.05);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.mattress-card-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .45s ease;
}

.mvp-recommendation-card:hover .mattress-card-photo img{
    transform:scale(1.04);
}

.perfect-photo{
    border-color:rgba(224,184,74,.42);
    box-shadow:0 18px 44px rgba(0,0,0,.28);
}

.mvp-recommendation-card h2,
.why-matches-panel h2{
    color:#ffffff;
    font-size:28px;
    line-height:1.15;
}

.mvp-recommendation-card p{
    color:#9A9A9A;
    line-height:1.6;
}

.recommendation-price{
    margin-top:auto;
    color:#ffffff;
    font-size:26px;
    font-weight:900;
}

.showroom-tip{
    color:#b7b7b7;
    font-size:.86rem;
    line-height:1.45;
    margin:.35rem 0 1rem;
}

.value-card{
    opacity:.9;
    transform:scale(.94);
}

.perfect-match-card{
    min-height:520px;
    border-color:rgba(224,184,74,.72);
    background:linear-gradient(145deg, rgba(200,161,61,.26), rgba(255,255,255,.055));
    transform:translateY(-18px) scale(1.055);
    box-shadow:0 0 68px rgba(200,161,61,.36), 0 42px 104px rgba(0,0,0,.58);
}

.perfect-match-card::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(135deg, rgba(255,255,255,.13), transparent 34%, rgba(224,184,74,.1));
    opacity:.72;
}

.perfect-match-card > *{
    position:relative;
    z-index:1;
}

.perfect-match-card:hover{
    transform:translateY(-20px) scale(1.06);
}

.perfect-match-card h2{
    font-size:32px;
}

.perfect-card-top{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    flex-wrap:wrap;
}

.perfect-card-top strong,
.finance-note{
    color:#E0B84A;
    font-weight:900;
}

.match-confidence{
    margin-top:-8px;
    color:#E0B84A;
    font-size:14px;
    font-weight:900;
    letter-spacing:.5px;
    text-transform:uppercase;
}

.card-reason-list{
    display:grid;
    gap:9px;
    margin:0;
    padding:0;
    list-style:none;
    color:#d8d8d8;
    font-size:14px;
    line-height:1.45;
}

.card-reason-list li{
    position:relative;
    padding-left:22px;
}

.card-reason-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    color:#C8A13D;
    font-weight:900;
}

.customer-summary-card{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:24px;
    padding:18px 22px;
}

.customer-summary-card p{
    margin-top:6px;
    color:#ffffff;
    font-weight:800;
}

.customer-summary-card span:not(.eyebrow){
    display:block;
    margin-bottom:6px;
    color:#9A9A9A;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:1.4px;
}

.customer-summary-card strong{
    color:#E0B84A;
}

.luxury-card{
    opacity:.94;
    border-color:rgba(210,210,220,.28);
    background:linear-gradient(145deg, rgba(210,210,220,.12), rgba(255,255,255,.025));
    transform:scale(.94);
}

.luxury-features{
    display:grid;
    gap:9px;
    color:#d8d8d8;
}

.why-matches-panel{
    position:sticky;
    top:32px;
    padding:26px;
}

.why-matches-panel .why-list{
    grid-template-columns:1fr;
    margin-top:18px;
}

.result-accessories-section{
    margin-top:24px;
    padding:26px;
}

.result-section-heading{
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:flex-end;
    margin-bottom:22px;
    padding-bottom:20px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.result-section-heading h2,
.showroom-moment-card h2{
    color:#ffffff;
    font-size:28px;
    line-height:1.15;
}

.result-section-heading > p,
.showroom-moment-card p{
    max-width:460px;
    color:#9A9A9A;
    line-height:1.6;
}

.result-accessory-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:16px;
}

.result-accessory-card{
    display:grid;
    grid-template-columns:84px minmax(0,1fr);
    gap:16px;
    align-items:center;
    padding:16px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:20px;
    background:linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
    transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

.result-accessory-card:hover{
    transform:translateY(-4px);
    border-color:rgba(224,184,74,.36);
    box-shadow:0 18px 48px rgba(0,0,0,.32);
}

.accessory-photo{
    width:84px;
    aspect-ratio:1;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:18px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(200,161,61,.2);
}

.accessory-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.accessory-icon-photo{
    background:linear-gradient(145deg, rgba(200,161,61,.94), rgba(224,184,74,.7));
}

.accessory-icon-photo span{
    color:#111111;
    max-width:66px;
    font-size:11px;
    font-weight:950;
    letter-spacing:1.6px;
    line-height:1.15;
    text-align:center;
}

.accessory-copy{
    min-width:0;
}

.accessory-copy span{
    display:block;
    margin-bottom:6px;
    color:#C8A13D;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.1px;
    text-transform:uppercase;
}

.accessory-copy h3{
    color:#ffffff;
    font-size:17px;
    line-height:1.2;
}

.accessory-copy p{
    margin:8px 0;
    color:#9A9A9A;
    font-size:13px;
    line-height:1.45;
}

.accessory-copy strong{
    color:#E0B84A;
    font-size:14px;
}

.demo-accessories-section{
    position:relative;
    overflow:hidden;
    padding:32px;
    background:
        radial-gradient(circle at 92% 8%, rgba(224,184,74,.13), transparent 34%),
        linear-gradient(145deg, rgba(18,18,18,.98), rgba(8,8,8,.98));
}

.demo-accessories-section::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    border-radius:inherit;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}

.demo-accessories-section .result-section-heading,
.demo-accessories-section .result-accessory-grid{
    position:relative;
    z-index:1;
}

.demo-accessories-section .result-accessory-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}

.demo-accessories-section .result-accessory-card{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    min-height:398px;
    padding:18px;
    overflow:hidden;
    border-color:rgba(224,184,74,.2);
    background:
        linear-gradient(155deg, rgba(255,255,255,.075), rgba(255,255,255,.02) 58%),
        #111111;
}

.demo-accessories-section .result-accessory-card::after{
    content:"";
    position:absolute;
    right:-54px;
    bottom:-68px;
    width:150px;
    height:150px;
    border:1px solid rgba(224,184,74,.12);
    border-radius:50%;
    box-shadow:0 0 0 22px rgba(224,184,74,.025);
    pointer-events:none;
}

.accessory-card-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}

.accessory-card-index{
    display:grid;
    width:38px;
    height:38px;
    place-items:center;
    border:1px solid rgba(224,184,74,.42);
    border-radius:12px;
    color:#E0B84A;
    background:rgba(224,184,74,.08);
    font-size:12px;
    font-weight:950;
    letter-spacing:1px;
}

.accessory-card-status{
    color:#b9b9b9;
    font-size:10px;
    font-weight:850;
    letter-spacing:1.2px;
    text-align:right;
    text-transform:uppercase;
}

.demo-accessories-section .accessory-photo{
    width:100%;
    height:136px;
    aspect-ratio:auto;
    margin-bottom:18px;
    border-radius:20px;
}

.demo-accessories-section .accessory-icon-photo{
    display:flex;
    flex-direction:column;
    gap:12px;
    background:
        radial-gradient(circle at 50% 40%, rgba(255,226,142,.32), transparent 34%),
        linear-gradient(145deg, rgba(200,161,61,.96), rgba(224,184,74,.68));
}

.demo-accessories-section .accessory-icon-photo small{
    color:#17120a;
    font-size:10px;
    font-weight:950;
    letter-spacing:2.2px;
}

.accessory-line-symbol{
    position:relative;
    display:block;
    width:72px;
    height:46px;
    border:3px solid #17120a;
}

.accessory-type-pillow .accessory-line-symbol{
    border-radius:28px 18px 28px 18px;
    transform:rotate(-4deg);
}

.accessory-type-pillow .accessory-line-symbol::after{
    content:"";
    position:absolute;
    inset:9px 13px;
    border:2px solid rgba(23,18,10,.55);
    border-radius:50%;
}

.accessory-type-mattress-protector .accessory-line-symbol{
    width:60px;
    height:66px;
    border:0;
    border-radius:20px 20px 30px 30px;
    background:#17120a;
    clip-path:polygon(50% 0, 92% 16%, 84% 70%, 50% 100%, 16% 70%, 8% 16%);
}

.accessory-type-mattress-protector .accessory-line-symbol::after{
    content:"";
    position:absolute;
    inset:9px;
    background:#DAB247;
    clip-path:inherit;
}

.accessory-type-mattress-topper .accessory-line-symbol{
    height:34px;
    border-radius:9px;
    box-shadow:0 9px 0 -3px #DAB247, 0 12px 0 -3px #17120a;
}

.accessory-type-mattress-topper .accessory-line-symbol::after{
    content:"";
    position:absolute;
    left:10px;
    right:10px;
    top:9px;
    height:2px;
    background:rgba(23,18,10,.5);
    box-shadow:0 7px 0 rgba(23,18,10,.5);
}

.demo-accessories-section .accessory-copy{
    display:flex;
    flex:1;
    flex-direction:column;
}

.demo-accessories-section .accessory-copy h3{
    font-size:21px;
}

.demo-accessories-section .accessory-copy p{
    margin:10px 0 16px;
    font-size:14px;
}

.accessory-reason{
    display:grid;
    gap:5px;
    margin-top:auto;
    padding-top:14px;
    border-top:1px solid rgba(224,184,74,.16);
}

.accessory-reason small{
    color:#858585;
    font-size:9px;
    font-weight:850;
    letter-spacing:1.25px;
    text-transform:uppercase;
}

.accessory-reason strong{
    position:relative;
    z-index:1;
    line-height:1.4;
}

.showroom-moment-card{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    gap:20px;
    align-items:center;
    margin-top:18px;
    padding:24px 26px;
    border-color:rgba(200,161,61,.24);
}

.showroom-moment-logo{
    width:72px;
    height:72px;
    display:block;
    object-fit:contain;
    filter:brightness(1.4) contrast(1.08) saturate(1.08);
}

@media (max-width: 1180px){
    .recommendation-results-layout{
        grid-template-columns:1fr;
    }

    .recommendation-card-stack{
        grid-template-columns:repeat(2,minmax(0,1fr));
        align-items:stretch;
    }

    .why-matches-panel{
        position:static;
    }

    .result-accessory-grid{
        grid-template-columns:1fr;
    }

    .demo-accessories-section .result-accessory-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media (min-width: 821px) and (max-width: 1180px){
    .perfect-match-card{
        order:1;
        grid-column:1 / -1;
        min-height:auto;
        transform:none;
    }

    .perfect-match-card:hover{
        transform:none;
    }

    .value-card{
        order:2;
        transform:none;
    }

    .luxury-card{
        order:3;
        transform:none;
    }
}

@media (max-width: 560px){
    .ai-loading-copy h1{
        font-size:30px;
    }

    .ai-orbit{
        width:210px;
        height:210px;
    }

    .ai-core{
        width:128px;
        height:128px;
    }

    .mvp-recommendation-card,
    .perfect-match-card{
        min-height:auto;
    }

    .customer-summary-card{
        align-items:flex-start;
        flex-direction:column;
    }

    .result-section-heading{
        align-items:flex-start;
        flex-direction:column;
    }

    .showroom-moment-card{
        grid-template-columns:1fr;
    }
}
/* ==========================================
   PARTNER MOTION QUESTION
========================================== */

.question-subtitle{
    color:#9A9A9A;
    line-height:1.6;
    margin-top:-8px;
    margin-bottom:18px;
}

.partner-motion-question.partner-flow-panel:not(.is-expanded){
    margin:0;
}

.partner-motion-question.partner-flow-panel.is-expanded{
    margin:0 0 34px;
}

@media (max-width: 560px){
    .partner-motion-question.partner-flow-panel.is-expanded{
        margin-bottom:28px;
    }
}
/* ==========================================
   PARTNER PROFILE ENHANCEMENT
========================================== */

.partner-profile-section.partner-flow-panel{
    display:block;
}

.partner-profile-section.partner-flow-panel:not(.is-expanded){
    margin:0;
    padding-top:0;
    padding-bottom:0;
    border-top-color:transparent;
}

.partner-profile-section.partner-flow-panel.is-expanded{
    margin:0 0 34px;
    padding-top:28px;
    padding-bottom:0;
    border-top-color:rgba(255,255,255,.08);
}

.partner-skip-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:2px;
    padding:0;
    border:0;
    background:transparent;
    color:#C8A13D;
    font-size:15px;
    font-weight:800;
    cursor:pointer;
    transition:.3s;
}

.partner-skip-button:hover{
    color:#E0B84A;
    transform:translateY(-2px);
}

/* ==========================================
   ADMIN LEADS
========================================== */

.admin-leads-page .consult-step{
    color:inherit;
    text-decoration:none;
}

.admin-leads-panel{
    padding:26px;
}

.admin-leads-table{
    display:grid;
    gap:12px;
}

.admin-leads-head,
.admin-lead-row{
    display:grid;
    grid-template-columns:1.35fr 1fr .8fr 1.2fr .55fr .9fr;
    gap:16px;
    align-items:center;
}

@media (max-width: 760px){
    .demo-accessories-section{
        padding:22px 18px;
    }

    .demo-accessories-section .result-accessory-grid{
        grid-template-columns:1fr;
    }

    .demo-accessories-section .result-accessory-card{
        min-height:0;
    }
}

.gender-sticker{
    width:50px;
    height:50px;
    display:grid;
    place-items:center;
    border:1px solid rgba(200,161,61,.35);
    border-radius:16px;
    background:rgba(200,161,61,.12);
    font-size:30px;
    line-height:1;
}

.basic-info-page .gender-grid{
    gap:16px;
}

.basic-info-page .gender-card{
    min-height:132px;
    align-items:center;
    justify-content:center;
    padding:18px;
    gap:8px;
    text-align:center;
}

.basic-info-page .gender-sticker{
    width:42px;
    height:42px;
    border-radius:14px;
    font-size:26px;
}

.basic-info-page .gender-card strong{
    font-size:18px;
}

.admin-leads-head{
    padding:0 18px 12px;
    color:#C8A13D;
    font-size:12px;
    font-weight:900;
    letter-spacing:1.5px;
    text-transform:uppercase;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.admin-lead-row{
    padding:18px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:18px;
    background:rgba(255,255,255,.04);
}

.admin-lead-row strong{
    color:#ffffff;
}

.admin-lead-row span,
.admin-lead-row small{
    color:#9A9A9A;
    line-height:1.5;
}

.admin-lead-row small{
    display:block;
    margin-top:6px;
    font-size:12px;
}

.admin-lead-row > strong{
    color:#E0B84A;
}

.admin-whatsapp-btn,
.admin-whatsapp-disabled{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 14px;
    border-radius:14px;
    font-size:12px;
    font-weight:900;
    letter-spacing:.7px;
    text-align:center;
    text-transform:uppercase;
}

.admin-whatsapp-btn{
    color:#111111;
    text-decoration:none;
    background:linear-gradient(135deg, #C8A13D, #E0B84A);
    box-shadow:0 14px 34px rgba(200,161,61,.22);
    transition:.3s;
}

.admin-whatsapp-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 42px rgba(200,161,61,.32);
}

.admin-whatsapp-disabled{
    color:#9A9A9A;
    border:1px solid rgba(255,255,255,.1);
    background:rgba(255,255,255,.04);
}

.empty-leads-state{
    min-height:320px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:20px;
    text-align:center;
}

.empty-leads-state h2{
    max-width:540px;
    color:#ffffff;
    font-size:28px;
    line-height:1.25;
}

@media (max-width: 900px){
    .admin-leads-head{
        display:none;
    }

    .admin-lead-row{
        grid-template-columns:1fr;
        gap:10px;
    }
}

/* ==========================================
   TABLET AND MOBILE POLISH
========================================== */

@media (min-width: 821px) and (max-width: 1180px){
    .consultation-shell{
        grid-template-columns:240px minmax(0,1fr);
        gap:24px;
        padding:24px;
    }

    .consultation-sidebar{
        position:sticky;
        top:24px;
        height:calc(100vh - 48px);
        padding:22px;
        gap:24px;
    }

    .sidebar-logo h2{
        font-size:22px;
    }

    .sidebar-steps{
        display:flex;
    }

    .consult-step{
        flex-direction:column;
        padding:14px;
    }

    .consultation-main{
        max-width:100%;
        padding-top:8px;
    }

    .consultation-title{
        font-size:54px;
    }

    .four-option-grid,
    .five-option-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .recommendation-results-layout{
        grid-template-columns:1fr;
    }

    .recommendation-card-stack{
        grid-template-columns:repeat(2,minmax(0,1fr));
        align-items:stretch;
    }

    .perfect-match-card{
        order:1;
        grid-column:1 / -1;
        transform:none;
    }

    .value-card{
        order:2;
        transform:none;
    }

    .luxury-card{
        order:3;
        transform:none;
    }

    .why-matches-panel{
        position:static;
    }
}

@media (max-width: 820px){
    .consultation-shell{
        display:block;
        min-height:100vh;
        padding:18px;
    }

    .consultation-sidebar{
        display:none;
    }

    .mobile-progress-card{
        display:block;
        padding:20px;
        margin-bottom:24px;
    }

    .mobile-progress-card strong{
        display:block;
        margin-top:12px;
        color:#C8A13D;
        font-size:13px;
        letter-spacing:1px;
        text-transform:uppercase;
    }

    .consultation-main{
        max-width:100%;
        padding:0;
    }

    .consultation-hero{
        margin-bottom:24px;
    }

    .consultation-title{
        font-size:44px;
        line-height:1.04;
    }

    .consultation-hero p{
        font-size:16px;
    }

    .form-panel,
    .security-card,
    .admin-leads-panel{
        padding:22px;
        border-radius:20px;
    }

    .panel-heading{
        align-items:flex-start;
    }

    .four-option-grid,
    .three-option-grid,
    .five-option-grid,
    .gender-grid,
    .two-column{
        grid-template-columns:1fr;
    }

    .gender-card,
    .sleep-option-card,
    .compact-option-card{
        min-height:auto;
        padding:18px;
    }

    .sleep-option-card{
        gap:8px;
    }

    .option-icon,
    .gender-mark,
    .gender-sticker{
        width:44px;
        height:44px;
        border-radius:14px;
    }

    .recommendation-results-layout,
    .recommendation-card-stack{
        grid-template-columns:1fr;
    }

    .mvp-recommendation-card,
    .perfect-match-card{
        min-height:auto;
        padding:22px;
        transform:none;
    }

    .perfect-match-card{
        order:1;
    }

    .perfect-match-card:hover{
        transform:none;
    }

    .value-card{
        order:2;
    }

    .luxury-card{
        order:3;
    }

    .why-matches-panel{
        position:static;
        padding:22px;
    }

    .customer-summary-card{
        align-items:flex-start;
        flex-direction:column;
    }
}

@media (max-width: 560px){
    .consultation-shell{
        padding:14px;
    }

    .consultation-title{
        font-size:36px;
    }

    .panel-heading{
        gap:12px;
        margin-bottom:24px;
        padding-bottom:20px;
    }

    .panel-heading h2{
        font-size:23px;
    }

    .question-group{
        margin-bottom:26px;
    }

    .question-group legend{
        font-size:18px;
    }

    .navigation-buttons,
    .security-card{
        flex-direction:column;
        align-items:stretch;
    }

    .back-btn,
    .continue-btn{
        width:100%;
        min-height:54px;
    }

    .consent-card{
        grid-template-columns:22px minmax(0,1fr);
        padding:16px;
        font-size:13px;
    }

    .consent-check{
        width:22px;
        height:22px;
    }

    .mvp-recommendation-card h2,
    .why-matches-panel h2,
    .empty-leads-state h2{
        font-size:24px;
    }

    .recommendation-price{
        font-size:22px;
    }

    .match-meta{
        gap:8px;
    }

    .match-meta span,
    .match-meta strong{
        width:100%;
        text-align:center;
    }
}

@media (max-width: 699px){
    .mobile-progress-card{
        position:sticky;
        top:10px;
        z-index:10;
        display:block;
        margin-bottom:18px;
        padding:14px 16px;
        border-radius:18px;
        background:rgba(17,17,17,.9);
        border-color:rgba(200,161,61,.32);
        box-shadow:0 16px 42px rgba(0,0,0,.38);
    }

    .mobile-progress-card .progress-copy{
        flex-direction:row;
        align-items:center;
        gap:12px;
        margin-bottom:12px;
    }

    .mobile-progress-card .progress-copy h4{
        font-size:15px;
        line-height:1.2;
    }

    .mobile-progress-card .progress-copy p{
        flex:0 0 auto;
        padding:6px 10px;
        border:1px solid rgba(200,161,61,.38);
        border-radius:999px;
        background:rgba(200,161,61,.1);
        color:#E0B84A;
        font-size:11px;
        font-weight:900;
        letter-spacing:.8px;
        line-height:1;
        text-transform:uppercase;
    }

    .mobile-progress-card .progress-bar{
        height:7px;
        background:rgba(255,255,255,.1);
    }

    .mobile-progress-card strong{
        margin-top:10px;
        color:#C8A13D;
        font-size:11px;
        font-weight:900;
        letter-spacing:1.2px;
        text-transform:uppercase;
    }
}

/* ==========================================
   HOMEPAGE EXECUTIVE POLISH
========================================== */

.homepage{
    padding:28px 34px 48px;
    background:
        radial-gradient(circle at 50% 34%, rgba(200,161,61,.1), transparent 34%),
        #050505;
}

.homepage .hero-top{
    display:flex;
    justify-content:flex-end;
    min-height:72px;
    margin:0 0 18px;
}

.homepage .mattress-lab-logo{
    width:188px;
    height:72px;
}

.homepage .hero-content{
    min-height:610px;
    grid-template-columns:minmax(0, 960px);
    justify-content:center;
    margin-bottom:36px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:28px;
    box-shadow:0 32px 90px rgba(0,0,0,.42);
}

.homepage .hero-content::before{
    background:
        radial-gradient(circle at center, rgba(200,161,61,.14), transparent 30%),
        linear-gradient(90deg, rgba(5,5,5,.84), rgba(5,5,5,.48), rgba(5,5,5,.84)),
        linear-gradient(180deg, rgba(5,5,5,.76), rgba(5,5,5,.3) 42%, rgba(5,5,5,.9));
}

.homepage .hero-right{
    inset:-70px -30px;
}

.homepage .hero-right img{
    object-position:center;
    opacity:.58;
    filter:brightness(.68) contrast(1.12) saturate(.9);
}

.homepage .hero-left{
    max-width:960px;
    padding:54px 24px;
}

.homepage .hero-kicker{
    margin:0 auto 24px;
    color:#E0B84A;
    font-size:12px;
    letter-spacing:3.6px;
}

.homepage .page-title{
    max-width:920px;
    margin:0 auto;
    font-size:72px;
    line-height:1.04;
    letter-spacing:-2.8px;
}

.homepage .hero-description{
    max-width:720px;
    margin:28px auto 0;
    color:#d0d0d0;
    font-size:19px;
    line-height:1.75;
}

.homepage .hero-cta{
    min-width:310px;
    min-height:62px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin-top:34px;
    color:#111111;
    text-decoration:none;
    letter-spacing:.2px;
}

.homepage .hero-cta span{
    font-size:24px;
    line-height:1;
    transition:transform .3s ease;
}

.homepage .hero-cta:hover span{
    transform:translateX(4px);
}

.homepage .hero-note{
    margin-top:18px;
    color:#a7a7a7;
    font-size:13px;
    letter-spacing:.4px;
}

.homepage .features{
    max-width:1040px;
    grid-template-columns:repeat(3, 1fr);
    gap:16px;
}

.homepage .feature-card{
    min-height:190px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:30px 26px;
}

.homepage .feature-number{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:78px;
    min-height:28px;
    padding:0 10px;
    border:1px solid rgba(200,161,61,.42);
    border-radius:999px;
    background:rgba(200,161,61,.08);
    color:#C8A13D;
    font-size:10px;
    font-weight:900;
    letter-spacing:1.8px;
}

.homepage .feature-card h3{
    margin:15px 0 11px;
    font-size:18px;
}

.homepage .feature-card p{
    max-width:260px;
    font-size:14px;
}

@media (max-width: 900px){
    .homepage .page-title{
        font-size:56px;
    }

    .homepage .features{
        grid-template-columns:1fr;
        max-width:620px;
    }

    .homepage .feature-card{
        min-height:150px;
    }
}

@media (max-width: 600px){
    .homepage{
        padding:18px 14px 30px;
    }

    .homepage .hero-top{
        justify-content:center;
        min-height:58px;
        margin-bottom:14px;
    }

    .homepage .mattress-lab-logo{
        width:154px;
        height:58px;
    }

    .homepage .hero-content{
        min-height:610px;
        border-radius:22px;
    }

    .homepage .hero-left{
        padding:42px 18px;
    }

    .homepage .hero-kicker{
        font-size:10px;
        letter-spacing:2.4px;
    }

    .homepage .page-title{
        font-size:41px;
        letter-spacing:-1.5px;
    }

    .homepage .hero-description{
        font-size:16px;
        line-height:1.65;
    }

    .homepage .hero-cta{
        width:100%;
        min-width:0;
        max-width:320px;
    }
}

/* ==========================================
   COMPACT CONSULTATION SIDEBAR
   Keeps all five steps visible with branding.
========================================== */

@media (min-width: 821px){
    .consultation-sidebar{
        padding:18px;
        gap:13px;
        overflow-y:auto;
        scrollbar-width:thin;
        scrollbar-color:rgba(200,161,61,.36) transparent;
    }

    .sidebar-logo{
        flex:0 0 auto;
        padding-bottom:11px;
    }

    .sidebar-logo .sleepmatch-brand-logo{
        width:min(185px, 100%);
        margin:0 auto 6px;
    }

    .sidebar-logo h2,
    .sleep-profile-page .sidebar-logo h2,
    .health-assessment-page .sidebar-logo h2,
    .comfort-preference-page .sidebar-logo h2,
    .recommendation-page .sidebar-logo h2{
        margin:6px 0 4px;
        font-size:20px;
    }

    .sidebar-logo span{
        display:block;
        font-size:12px;
        line-height:1.35;
    }

    .sidebar-progress{
        flex:0 0 auto;
        gap:7px;
    }

    .progress-copy h4{
        font-size:14px;
    }

    .progress-copy p{
        font-size:12px;
    }

    .progress-bar{
        height:7px;
    }

    .sidebar-progress strong{
        font-size:11px;
    }

    .sidebar-steps,
    .sleep-profile-page .sidebar-steps,
    .health-assessment-page .sidebar-steps,
    .comfort-preference-page .sidebar-steps,
    .recommendation-page .sidebar-steps{
        flex:1 1 auto;
        gap:6px;
        min-height:0;
    }

    .consult-step,
    .sleep-profile-page .consult-step,
    .health-assessment-page .consult-step,
    .comfort-preference-page .consult-step,
    .recommendation-page .consult-step{
        min-height:0;
        flex:1 1 0;
        flex-direction:row;
        align-items:center;
        gap:9px;
        padding:8px 9px;
    }

    .consult-step span{
        width:30px;
        height:30px;
        border-radius:10px;
        font-size:12px;
    }

    .consult-step h5{
        margin-bottom:2px;
        font-size:13px;
    }

    .consult-step small{
        font-size:11px;
        line-height:1.25;
    }

    .consultation-sidebar .sidebar-logo .sleepmatch-brand-logo{
        width:min(165px, 100%);
    }

    .consultation-sidebar .sidebar-logo h2{
        font-size:18px;
    }

    .consultation-sidebar .sidebar-logo span{
        font-size:11px;
    }

    .consultation-sidebar .sidebar-steps{
        gap:4px;
    }

    .consultation-sidebar .consult-step{
        padding:6px 8px;
    }

    .consultation-sidebar .consult-step h5{
        font-size:12px;
    }

    .consultation-sidebar .consult-step small{
        font-size:10px;
    }
}

/* ==========================================
   SELECTED SLEEPMATCH BRAND SYSTEM
========================================== */

.sleepmatch-brand-logo{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
}

.sleepmatch-brand-link{
    display:block;
    cursor:pointer;
    text-decoration:none;
}

.sleepmatch-brand-link .sleepmatch-brand-logo{
    transition:opacity .25s ease, filter .25s ease;
}

.sleepmatch-brand-link:hover .sleepmatch-brand-logo,
.sleepmatch-brand-link:focus-visible .sleepmatch-brand-logo{
    opacity:.9;
    filter:brightness(1.08);
}

.sidebar-logo{
    text-align:center;
}

.sidebar-logo .sleepmatch-brand-logo{
    width:min(238px, 100%);
    margin:0 auto 14px;
}

.sidebar-logo h2{
    margin-top:10px;
}

.mobile-brand-logo{
    display:none;
}

.homepage .partner-brand{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:2px;
}

.homepage .partner-brand span{
    color:#c9c9c9;
    font-size:10px;
    font-weight:700;
    letter-spacing:2.3px;
    text-transform:uppercase;
}

.homepage .hero-left > .sleepmatch-brand-logo,
.homepage .hero-left > .sleepmatch-brand-link .sleepmatch-brand-logo{
    width:min(500px, 76vw);
    margin:0 auto 26px;
    filter:brightness(1.06) contrast(1.04);
}

.homepage .hero-content::before{
    background:
        radial-gradient(circle at center, rgba(200,161,61,.08), transparent 34%),
        linear-gradient(90deg, rgba(5,5,5,.7), rgba(5,5,5,.3), rgba(5,5,5,.7)),
        linear-gradient(180deg, rgba(5,5,5,.58), rgba(5,5,5,.14) 44%, rgba(5,5,5,.72));
}

.homepage .hero-right img{
    opacity:.82;
    filter:brightness(.88) contrast(1.08) saturate(.95);
}

.loading-brand-logo{
    position:absolute;
    top:26px;
    left:50%;
    z-index:3;
    width:min(330px, 72vw);
    transform:translateX(-50%);
}

.ai-loading-screen{
    position:relative;
    padding-top:132px;
}

.ai-core span{
    font-size:28px;
}

/* Keep the explanation visible below the three recommendation cards. */
.recommendation-page .recommendation-results-layout{
    grid-template-columns:1fr;
}

.recommendation-page .why-matches-panel{
    position:static;
    width:100%;
    margin-top:24px;
}

.recommendation-page .why-matches-panel .why-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px 48px;
    margin-top:20px;
}

.recommendation-page .why-matches-panel{
    background:
        radial-gradient(circle at 88% 18%, rgba(200,161,61,.14), transparent 28%),
        linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
}

.recommendation-page .why-matches-panel .why-list span{
    display:flex;
    align-items:center;
    min-height:60px;
    padding:14px 18px;
    border:1px solid rgba(200,161,61,.18);
    border-radius:16px;
    background:rgba(255,255,255,.035);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
    line-height:1.45;
}

@media (max-width: 560px){
    .recommendation-page .why-matches-panel .why-list{
        grid-template-columns:1fr;
    }
}

.compact-option-card{
    min-width:0;
}

.compact-option-card strong{
    max-width:100%;
    font-size:18px;
    line-height:1.2;
    overflow-wrap:anywhere;
}

.security-inline{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:0 0 18px;
    color:#9A9A9A;
    font-size:13px;
    text-align:center;
}

.security-mark{
    width:30px;
    height:34px;
    display:grid;
    place-items:center;
    flex:0 0 auto;
    color:#111111;
    background:linear-gradient(145deg, #C8A13D, #E0B84A);
    clip-path:polygon(50% 0, 92% 14%, 86% 66%, 50% 100%, 14% 66%, 8% 14%);
    font-size:14px;
    font-weight:950;
    padding-bottom:3px;
}

.security-inline strong{
    color:#C8A13D;
    font-size:14px;
    letter-spacing:.3px;
}


@media (max-width: 820px){
    .mobile-brand-logo{
        display:block;
        width:min(280px, 76vw);
        margin:0 auto 18px;
    }

    .sidebar-logo .sleepmatch-brand-logo{
        width:min(210px, 100%);
    }
}

@media (max-width: 600px){
    .homepage .partner-brand span{
        font-size:9px;
        letter-spacing:1.8px;
    }

    .homepage .hero-left > .sleepmatch-brand-logo,
    .homepage .hero-left > .sleepmatch-brand-link .sleepmatch-brand-logo{
        width:min(340px, 88vw);
        margin-bottom:22px;
    }

    .homepage .page-title{
        font-size:38px;
    }

    .loading-brand-logo{
        top:20px;
        width:min(280px, 78vw);
    }

    .ai-loading-screen{
        padding-top:112px;
    }
}

@media (min-width: 821px){
    .consultation-sidebar .sidebar-logo .sleepmatch-brand-logo{
        width:min(185px, 100%);
        margin:0 auto 6px;
    }

    .consultation-sidebar .sidebar-logo h2{
        margin:6px 0 4px;
        font-size:20px;
    }
}
.storage-warning {
    margin-top: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(212, 166, 54, 0.55);
    border-radius: 0.75rem;
    color: #f0c85b;
    background: rgba(212, 166, 54, 0.08);
}

/* Build Week Phase 2: tenant demo, evidence, handoff, and retailer workspace */
.demo-retailer-name{color:#fff;font-size:clamp(1rem,2vw,1.35rem);letter-spacing:.04em}

.card-evidence{display:grid;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}
.card-evidence h4{margin:0 0 7px;color:#d4aa3d;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.card-evidence ul{margin:0;padding-left:18px;color:#aaa;font-size:.88rem;line-height:1.5}
.logic-disclosure{color:#aaa;font-size:.92rem;line-height:1.55}

.consultation-brief{margin-top:36px;padding:clamp(24px,4vw,46px)}
.brief-heading,.brief-two-column{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.brief-heading h2,.brief-section h3{margin-top:0}
.brief-print-button,.admin-brief-btn{border:1px solid rgba(212,170,61,.55);border-radius:12px;background:rgba(212,170,61,.1);color:#fff;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.brief-print-button{padding:13px 18px;white-space:nowrap}
.brief-section{margin-top:28px}
.brief-profile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.brief-profile-grid div,.brief-comparison-card{border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.025)}
.brief-profile-grid div{padding:14px}
.brief-profile-grid span{display:block;margin-bottom:5px;color:#aaa;font-size:.76rem;text-transform:uppercase}
.brief-comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.brief-comparison-card{padding:20px}
.brief-comparison-card h4{margin:12px 0 8px;font-size:1.2rem}
.brief-comparison-card h5{margin:16px 0 6px;color:#d4aa3d;font-size:.8rem;text-transform:uppercase}
.brief-comparison-card ul,.brief-section ul{margin:0;padding-left:19px;color:#aaa;line-height:1.5}
.brief-two-column>div{flex:1}
.brief-disclaimer{margin:30px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);color:#aaa;font-size:.85rem}
.gpt-copilot-panel{margin-top:36px;padding:clamp(24px,4vw,46px);border-color:rgba(212,170,61,.42);background:radial-gradient(circle at 88% 8%,rgba(212,170,61,.1),transparent 34%),rgba(14,14,14,.96)}
.copilot-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.copilot-heading h2{margin:0 0 10px;font-size:clamp(1.7rem,3vw,2.5rem)}
.copilot-heading p:last-child{max-width:850px;margin-bottom:0;color:#aaa;line-height:1.6}
.copilot-model-chip{display:inline-flex;flex:0 0 auto;padding:9px 12px;border:1px solid rgba(212,170,61,.45);border-radius:999px;background:rgba(212,170,61,.1);color:#e1bd55;font-size:.78rem;font-weight:800;letter-spacing:.04em}
.copilot-status{display:flex;align-items:center;gap:12px;margin-top:24px;padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.03);color:#aaa}
.copilot-status strong{color:#fff}
.copilot-status a{margin-left:auto;color:#e1bd55;font-weight:700}
.copilot-status-success{border-color:rgba(76,175,80,.32);background:rgba(76,175,80,.07)}
.copilot-status-error{border-color:rgba(212,170,61,.4);background:rgba(212,170,61,.07)}
.copilot-section{margin-top:24px;padding:22px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(255,255,255,.025)}
.copilot-section h3,.copilot-comparison-card h3{margin:8px 0 10px}
.copilot-section p,.copilot-comparison-card p{color:#bbb;line-height:1.6}
.copilot-section ul,.copilot-comparison-card ul{margin:10px 0 0;padding-left:20px;color:#bbb;line-height:1.55}
.copilot-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.copilot-comparison-card{padding:22px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.025)}
.copilot-comparison-card h4{margin:18px 0 0;color:#d4aa3d;font-size:.8rem;text-transform:uppercase}
.copilot-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.copilot-whatsapp p{white-space:pre-line}
.copilot-disclaimer{margin:24px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);color:#888;font-size:.84rem}
.copilot-generate-form{display:flex;align-items:center;gap:20px;margin-top:26px}
.copilot-generate-form .continue-btn{border:0;cursor:pointer;white-space:nowrap}
.copilot-generate-form p{margin:0;color:#999;line-height:1.5}
.customer-gpt-panel{margin-top:32px;padding:clamp(24px,4vw,46px);border-color:rgba(212,170,61,.38);background:radial-gradient(circle at 88% 8%,rgba(212,170,61,.1),transparent 34%),rgba(14,14,14,.96)}
.customer-gpt-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.customer-gpt-heading h2{margin:0 0 10px;font-size:clamp(1.7rem,3vw,2.5rem)}
.customer-gpt-heading p:last-child{max-width:800px;margin-bottom:0;color:#aaa;line-height:1.6}
.customer-gpt-model-chip{display:inline-flex;flex:0 0 auto;padding:9px 12px;border:1px solid rgba(212,170,61,.45);border-radius:999px;background:rgba(212,170,61,.1);color:#e1bd55;font-size:.78rem;font-weight:800;letter-spacing:.04em}
.customer-gpt-status{display:flex;align-items:center;gap:12px;margin-top:24px;padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.03);color:#aaa}
.customer-gpt-status strong{color:#fff}
.customer-gpt-status-success{border-color:rgba(76,175,80,.32);background:rgba(76,175,80,.07)}
.customer-gpt-status-error{border-color:rgba(212,170,61,.4);background:rgba(212,170,61,.07)}
.customer-gpt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.customer-gpt-card{padding:22px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.025)}
.customer-gpt-card-wide{grid-column:1 / -1}
.customer-gpt-card h3{margin:8px 0 10px}
.customer-gpt-card p,.customer-gpt-card li{color:#bbb;line-height:1.6}
.customer-gpt-card ul{margin:8px 0 0;padding-left:20px}
.customer-gpt-kicker{margin:0!important;color:#d4aa3d!important;font-size:.78rem!important;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.customer-gpt-alternatives{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.customer-gpt-alternatives>div{padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(0,0,0,.12)}
.customer-gpt-alternatives h3{font-size:1.08rem}
.customer-gpt-generate-form{display:flex;align-items:center;gap:20px;margin-top:26px}
.customer-gpt-generate-form .continue-btn{border:0;cursor:pointer;white-space:nowrap}
.customer-gpt-generate-form .continue-btn:disabled{cursor:wait;opacity:.75}
.customer-gpt-generate-form p{margin:0;color:#999;line-height:1.5}
.customer-gpt-disclaimer{margin:24px 0 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);color:#888;font-size:.84rem}
.standalone-brief-page{max-width:1500px;margin:0 auto;padding:30px}
.brief-page-actions{margin-bottom:20px}

.workspace-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}
.workspace-metrics article{padding:19px;border:1px solid rgba(212,170,61,.25);border-radius:16px;background:rgba(255,255,255,.025)}
.workspace-metrics span{display:block;margin-bottom:8px;color:#aaa;font-size:.78rem;text-transform:uppercase}
.workspace-metrics strong{color:#fff;font-size:1.65rem}
.workspace-toolbar{display:grid;grid-template-columns:minmax(0,2fr) minmax(200px,1fr);gap:16px;margin-bottom:20px}
.workspace-toolbar label span{display:block;margin-bottom:7px;color:#aaa;font-size:.8rem}
.workspace-toolbar input,.workspace-toolbar select{width:100%;padding:13px 14px;border:1px solid rgba(255,255,255,.15);border-radius:12px;background:#171717;color:#fff}
.admin-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.admin-brief-btn{padding:7px 10px;font-size:.78rem}

@media (max-width:980px){
    .brief-profile-grid,.workspace-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .brief-comparison-grid{grid-template-columns:1fr}
    .copilot-comparison-grid,.copilot-two-column,.customer-gpt-grid,.customer-gpt-alternatives{grid-template-columns:1fr}
}

@media (max-width:640px){
    .brief-heading,.brief-two-column{flex-direction:column}
    .brief-profile-grid,.workspace-metrics,.workspace-toolbar{grid-template-columns:1fr}
    .copilot-heading,.copilot-status,.copilot-generate-form,.customer-gpt-heading,.customer-gpt-status,.customer-gpt-generate-form{align-items:flex-start;flex-direction:column}
    .copilot-status a{margin-left:0}
}

@media print{
    @page{margin:14mm}
    body{background:#fff!important;color:#111!important}
    body *{visibility:hidden!important}
    #consultation-brief,#consultation-brief *{visibility:visible!important}
    #consultation-brief{position:absolute;inset:0 auto auto 0;width:100%;margin:0;padding:0;border:0;box-shadow:none;background:#fff!important;color:#111!important}
    #consultation-brief .brief-print-button{display:none!important}
    .gpt-copilot-panel{display:none!important}
    #consultation-brief .brief-profile-grid,#consultation-brief .brief-comparison-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    #consultation-brief .brief-profile-grid div,#consultation-brief .brief-comparison-card{break-inside:avoid;border-color:#bbb;background:#fff!important}
    #consultation-brief p,#consultation-brief li,#consultation-brief span,#consultation-brief strong{color:#222!important}
}
