/* ============================================================
   IQ CONNECT — BOUTIQUE HOTELS SIGNATURE V1
   Editorial Luxury / Brand-Led Hospitality
============================================================ */

.bq{
    --ink:#191714;
    --espresso:#211a16;
    --espresso-2:#33251e;
    --cream:#f6f0e7;
    --cream-2:#eee4d7;
    --paper:#fffdf9;
    --copper:#b6784e;
    --copper-2:#d9a77c;
    --champagne:#e6caa6;
    --sage:#718076;
    --muted:#817b74;
    --line:#ded5ca;
    --white:#fff;

    position:relative;
    overflow:hidden;
    color:var(--ink);
    background:var(--paper);
}

.bq *,
.bq *::before,
.bq *::after{
    box-sizing:border-box;
}

.bq a{
    color:inherit;
}

.bq button,
.bq a{
    font:inherit;
}

.bq button{
    cursor:pointer;
}

.bq-container{
    width:min(1320px,calc(100% - 44px));
    margin-inline:auto;
}


/* ============================================================
   HERO
============================================================ */

.bq-hero{
    position:relative;
    min-height:990px;
    overflow:hidden;
    color:#fff;
    background:#1b1714;
}

.bq-hero-photo{
    position:absolute;
    inset:0;

    background:
        url("https://images.unsplash.com/photo-1564501049412-61c2a3083791?auto=format&fit=crop&w=2200&q=90")
        center/cover no-repeat;

    transform:scale(1.035);
}

.bq-hero-shade{
    position:absolute;
    inset:0;

    background:
        radial-gradient(
            circle at 76% 30%,
            rgba(218,165,119,.14),
            transparent 27%
        ),
        linear-gradient(
            90deg,
            rgba(20,16,13,.97) 0%,
            rgba(28,20,16,.91) 39%,
            rgba(30,21,17,.59) 68%,
            rgba(21,16,13,.33) 100%
        ),
        linear-gradient(
            180deg,
            rgba(20,16,13,.12),
            rgba(20,16,13,.2) 68%,
            #1d1815 100%
        );
}

.bq-hero::before{
    content:"";

    position:absolute;
    inset:0;
    z-index:2;

    pointer-events:none;

    opacity:.12;

    background-image:
        linear-gradient(
            rgba(255,255,255,.04) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255,255,255,.04) 1px,
            transparent 1px
        );

    background-size:72px 72px;

    mask-image:
        linear-gradient(
            to bottom,
            #000,
            transparent 88%
        );
}


/* ============================================================
   BREADCRUMB
============================================================ */

.bq-breadcrumb{
    position:relative;
    z-index:5;

    display:flex;
    align-items:center;
    gap:10px;

    padding-top:24px;

    color:rgba(255,255,255,.42);

    font-size:10px;
    letter-spacing:.03em;
}

.bq-breadcrumb a{
    text-decoration:none;
    transition:color .2s ease;
}

.bq-breadcrumb a:hover{
    color:#fff;
}

.bq-breadcrumb strong{
    color:rgba(255,255,255,.82);
    font-weight:600;
}


/* ============================================================
   HERO GRID
============================================================ */

.bq-hero-grid{
    position:relative;
    z-index:4;

    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:72px;
    align-items:center;

    padding:88px 0 145px;
}

.bq-kicker{
    width:max-content;

    display:flex;
    align-items:center;
    gap:11px;

    margin:0;

    color:var(--champagne);

    font-size:9px;
    font-weight:800;
    letter-spacing:.19em;
}

.bq-kicker i{
    width:42px;
    height:1px;

    display:block;

    background:
        linear-gradient(
            90deg,
            var(--copper),
            var(--champagne)
        );
}

.bq-hero-copy h1{
    max-width:700px;

    margin:25px 0 24px;

    font-size:clamp(59px,5.8vw,91px);
    line-height:.89;
    letter-spacing:-.065em;
    font-weight:650;
}

.bq-hero-copy h1 span{
    display:block;
}

.bq-hero-copy h1 em{
    display:block;

    margin-top:9px;

    color:transparent;

    background:
        linear-gradient(
            90deg,
            #f1d7b6,
            #c88759 48%,
            #e4bc91
        );

    -webkit-background-clip:text;
    background-clip:text;

    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
}

.bq-intro{
    max-width:610px;

    margin:0;

    color:rgba(255,255,255,.61);

    font-size:14px;
    line-height:1.82;
}


/* ============================================================
   BUTTONS
============================================================ */

.bq-actions{
    display:flex;
    flex-wrap:wrap;
    gap:11px;

    margin-top:32px;
}

.bq-button{
    min-height:55px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:11px;

    padding:0 25px;

    border-radius:4px;

    text-decoration:none;

    font-size:10px;
    font-weight:800;
    letter-spacing:.02em;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease,
        background .25s ease;
}

.bq-button-primary{
    position:relative;
    overflow:hidden;

    color:#251a14;

    background:
        linear-gradient(
            115deg,
            #e8c8a3,
            #b9794e 52%,
            #e2b88e
        );

    box-shadow:
        0 20px 50px rgba(175,111,71,.22);
}

.bq-button-primary::before{
    content:"";

    position:absolute;
    top:-30%;
    left:-85px;

    width:45px;
    height:160%;

    transform:skewX(-20deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.42),
            transparent
        );

    transition:left .65s ease;
}

.bq-button-primary:hover{
    transform:translateY(-3px);

    box-shadow:
        0 28px 65px rgba(175,111,71,.32);
}

.bq-button-primary:hover::before{
    left:130%;
}

.bq-button-ghost{
    color:#fff;

    border:1px solid rgba(255,255,255,.17);

    background:rgba(29,21,17,.43);

    backdrop-filter:blur(15px);
}

.bq-button-ghost:hover{
    transform:translateY(-3px);

    border-color:rgba(224,185,149,.4);
    background:rgba(54,39,31,.57);
}


/* ============================================================
   HERO SIGNALS
============================================================ */

.bq-signals{
    display:flex;
    align-items:center;
    gap:0;

    max-width:590px;

    margin-top:45px;

    border-top:1px solid rgba(255,255,255,.11);
    border-bottom:1px solid rgba(255,255,255,.11);
}

.bq-signals > div{
    flex:1;

    display:flex;
    align-items:center;
    gap:10px;

    min-height:77px;

    padding:0 14px;

    border-right:1px solid rgba(255,255,255,.1);
}

.bq-signals > div:first-child{
    padding-left:0;
}

.bq-signals > div:last-child{
    border-right:0;
}

.bq-signals > div > strong{
    color:#d69b6d;

    font-family:Georgia,"Times New Roman",serif;
    font-size:20px;
    font-weight:400;
}

.bq-signals > div > span{
    color:#fff;

    font-size:7px;
    font-weight:800;
}

.bq-signals small{
    display:block;

    margin-top:3px;

    color:rgba(255,255,255,.38);

    font-size:5px;
    font-weight:500;
}


/* ============================================================
   SHOWCASE
============================================================ */

.bq-showcase{
    position:relative;

    max-width:720px;
    margin-left:auto;
}

.bq-showcase-number{
    position:absolute;
    top:-50px;
    right:-10px;

    color:rgba(255,255,255,.07);

    font-family:Georgia,"Times New Roman",serif;
    font-size:130px;
    line-height:1;
}

.bq-showcase-card{
    position:relative;

    overflow:hidden;

    padding:10px;

    border:1px solid rgba(255,255,255,.14);
    border-radius:7px;

    background:rgba(32,23,18,.72);

    backdrop-filter:blur(20px);

    box-shadow:
        0 60px 130px rgba(0,0,0,.42);
}

.bq-showcase-image{
    position:relative;

    min-height:420px;

    overflow:hidden;

    border-radius:3px;

    background:
        linear-gradient(
            180deg,
            rgba(15,12,10,.04),
            rgba(20,15,12,.7)
        ),
        url("https://images.unsplash.com/photo-1611892440504-42a792e24d32?auto=format&fit=crop&w=1300&q=90")
        center/cover no-repeat;
}

.bq-image-label{
    position:absolute;
    left:23px;
    bottom:23px;
}

.bq-image-label span,
.bq-image-label small{
    display:block;
}

.bq-image-label span{
    color:#fff;

    font-size:9px;
    font-weight:800;
    letter-spacing:.13em;
}

.bq-image-label small{
    margin-top:5px;

    color:rgba(255,255,255,.56);

    font-family:Georgia,"Times New Roman",serif;
    font-size:9px;
    font-style:italic;
}

.bq-showcase-content{
    padding:19px 13px 11px;
}

.bq-showcase-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
}

.bq-showcase-top small,
.bq-showcase-top strong{
    display:block;
}

.bq-showcase-top small{
    color:#c89165;

    font-size:5px;
    font-weight:900;
    letter-spacing:.13em;
}

.bq-showcase-top strong{
    max-width:390px;

    margin-top:5px;

    color:#fff;

    font-size:17px;
    line-height:1.1;
}

.bq-showcase-top > span{
    width:40px;
    height:40px;

    display:grid;
    place-items:center;

    border:1px solid rgba(255,255,255,.13);
    border-radius:50%;

    color:#e1bd98;

    font-size:9px;
    font-weight:900;
}


/* ============================================================
   MINI BOOKING
============================================================ */

.bq-mini-booking{
    display:grid;
    grid-template-columns:1fr 1fr .7fr 1.05fr;
    gap:6px;

    margin-top:18px;
}

.bq-mini-booking button{
    min-height:62px;

    padding:10px;

    border:1px solid rgba(255,255,255,.1);
    border-radius:3px;

    color:#fff;
    background:rgba(255,255,255,.04);

    text-align:left;

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.bq-mini-booking button:hover{
    transform:translateY(-2px);

    border-color:rgba(216,164,121,.35);
    background:rgba(255,255,255,.07);
}

.bq-mini-booking small,
.bq-mini-booking strong{
    display:block;
}

.bq-mini-booking small{
    color:rgba(255,255,255,.37);

    font-size:4px;
    font-weight:900;
}

.bq-mini-booking strong{
    margin-top:7px;

    font-size:8px;
}

.bq-mini-booking .bq-check{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;

    color:#241a14;

    background:
        linear-gradient(
            110deg,
            #e4c29e,
            #b7784e
        );

    border-color:transparent;

    text-align:center;

    font-size:7px;
    font-weight:900;
}


/* ============================================================
   FLOATING CARDS
============================================================ */

.bq-floating{
    position:absolute;
    z-index:7;

    min-width:185px;

    padding:14px;

    border:1px solid rgba(255,255,255,.12);
    border-radius:4px;

    color:#fff;

    background:
        linear-gradient(
            145deg,
            rgba(29,21,17,.97),
            rgba(62,43,33,.95)
        );

    backdrop-filter:blur(14px);

    box-shadow:
        0 24px 55px rgba(0,0,0,.3);
}

.bq-floating small,
.bq-floating strong,
.bq-floating span{
    display:block;
}

.bq-floating small{
    color:#d3a174;

    font-size:5px;
    font-weight:900;
    letter-spacing:.08em;
}

.bq-floating strong{
    margin-top:5px;
    font-size:9px;
}

.bq-floating span{
    margin-top:3px;

    color:rgba(255,255,255,.42);
    font-size:5px;
}

.bq-floating-one{
    right:-37px;
    top:155px;
}

.bq-floating-two{
    left:-43px;
    bottom:50px;
}


/* ============================================================
   SCROLL INDICATOR
============================================================ */

.bq-scroll{
    position:absolute;
    z-index:5;

    left:50%;
    bottom:30px;

    display:flex;
    align-items:center;
    gap:10px;

    transform:translateX(-50%);

    color:rgba(255,255,255,.36);

    font-size:5px;
    font-weight:900;
    letter-spacing:.18em;
}

.bq-scroll span{
    width:35px;
    height:1px;

    display:block;

    background:#b77b52;
}


/* ============================================================
   STATEMENT
============================================================ */

.bq-statement{
    padding:130px 0;

    background:
        linear-gradient(
            180deg,
            #f8f3eb,
            #fffdf9
        );
}

.bq-statement-grid{
    display:grid;
    grid-template-columns:100px 1.15fr .65fr;
    gap:45px;
    align-items:start;
}

.bq-statement-number{
    color:#d7c4b0;

    font-family:Georgia,"Times New Roman",serif;
    font-size:55px;
}

.bq-label{
    margin:0;

    color:#a86f49;

    font-size:7px;
    font-weight:900;
    letter-spacing:.17em;
}

.bq-statement h2{
    max-width:730px;

    margin:15px 0 0;

    font-size:clamp(42px,4.3vw,64px);
    line-height:.98;
    letter-spacing:-.052em;
}

.bq-statement h2 em{
    display:block;

    margin-top:8px;

    color:#a96e48;

    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
}

.bq-statement-copy{
    padding-top:25px;
}

.bq-statement-copy p{
    margin:0 0 17px;

    color:#7a746d;

    font-size:12px;
    line-height:1.8;
}


/* ============================================================
   EDITORIAL
============================================================ */

.bq-editorial{
    padding:0 0 135px;

    background:#fffdf9;
}

.bq-editorial-grid{
    display:grid;
    grid-template-columns:1.45fr .55fr;
    gap:13px;
}

.bq-editorial-main{
    position:relative;

    min-height:690px;

    overflow:hidden;

    background:#241c17;
}

.bq-editorial-photo{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            transparent 43%,
            rgba(23,17,14,.88)
        ),
        url("https://images.unsplash.com/photo-1600566753086-00f18fb6b3ea?auto=format&fit=crop&w=1500&q=90")
        center/cover no-repeat;

    transition:transform .8s ease;
}

.bq-editorial-main:hover .bq-editorial-photo{
    transform:scale(1.035);
}

.bq-editorial-caption{
    position:absolute;
    z-index:3;

    left:38px;
    right:38px;
    bottom:38px;

    max-width:600px;

    color:#fff;
}

.bq-editorial-caption > span{
    color:#d8a678;

    font-size:6px;
    font-weight:900;
    letter-spacing:.14em;
}

.bq-editorial-caption h3{
    margin:10px 0 12px;

    font-size:43px;
    line-height:.98;
    letter-spacing:-.045em;
}

.bq-editorial-caption p{
    max-width:500px;

    margin:0;

    color:rgba(255,255,255,.59);

    font-size:11px;
    line-height:1.75;
}

.bq-editorial-side{
    display:grid;
    gap:13px;
}

.bq-editorial-side article{
    position:relative;

    min-height:338px;

    padding:29px;

    overflow:hidden;

    border:1px solid var(--line);

    background:#f4ede4;
}

.bq-editorial-side article.dark{
    color:#fff;

    border-color:#2b211b;

    background:
        radial-gradient(
            circle at 100% 0,
            rgba(198,130,83,.18),
            transparent 37%
        ),
        #211a16;
}

.bq-editorial-side article > span{
    color:#d2b99f;

    font-family:Georgia,"Times New Roman",serif;
    font-size:38px;
}

.bq-editorial-side article > small{
    display:block;

    margin-top:35px;

    color:#a86f49;

    font-size:6px;
    font-weight:900;
    letter-spacing:.13em;
}

.bq-editorial-side .dark > small{
    color:#d7a375;
}

.bq-editorial-side h3{
    margin:9px 0 10px;

    font-size:25px;
    line-height:1.05;
    letter-spacing:-.035em;
}

.bq-editorial-side p{
    margin:0;

    color:#7b746c;

    font-size:9px;
    line-height:1.7;
}

.bq-editorial-side .dark p{
    color:rgba(255,255,255,.48);
}

.bq-editorial-side a{
    position:absolute;
    left:29px;
    bottom:28px;

    display:flex;
    align-items:center;
    gap:8px;

    color:#a86f49;

    text-decoration:none;

    font-size:8px;
    font-weight:900;
}

.bq-editorial-side .dark a{
    color:#dfae82;
}


/* ============================================================
   SECTION HEADING
============================================================ */

.bq-section-head{
    display:grid;
    grid-template-columns:1fr .55fr;
    gap:70px;
    align-items:end;

    margin-bottom:58px;
}

.bq-section-head > div > p{
    margin:0;

    color:#a86f49;

    font-size:7px;
    font-weight:900;
    letter-spacing:.16em;
}

.bq-section-head h2{
    max-width:700px;

    margin:13px 0 0;

    font-size:clamp(42px,4.3vw,63px);
    line-height:.97;
    letter-spacing:-.05em;
}

.bq-section-head h2 em{
    display:block;

    margin-top:7px;

    color:#a96f49;

    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
}

.bq-section-head > p{
    margin:0;

    color:#7d7770;

    font-size:11px;
    line-height:1.75;
}


/* ============================================================
   JOURNEY
============================================================ */

.bq-journey{
    padding:135px 0;

    background:
        linear-gradient(
            180deg,
            #f4eee6,
            #fbf8f3
        );
}

.bq-journey-shell{
    display:grid;
    grid-template-columns:.42fr 1.58fr;

    min-height:630px;

    overflow:hidden;

    border:1px solid #d9d0c5;

    background:#fff;

    box-shadow:
        0 35px 90px rgba(55,40,30,.1);
}

.bq-journey-menu{
    padding:20px;

    background:#201915;
}

.bq-journey-menu button{
    width:100%;

    display:grid;
    grid-template-columns:auto 1fr;
    gap:12px;
    align-items:center;

    min-height:104px;

    padding:14px;

    border:0;
    border-bottom:1px solid rgba(255,255,255,.08);

    color:rgba(255,255,255,.48);
    background:transparent;

    text-align:left;

    transition:
        background .25s ease,
        color .25s ease,
        transform .25s ease;
}

.bq-journey-menu button:last-child{
    border-bottom:0;
}

.bq-journey-menu button:hover,
.bq-journey-menu button.active{
    transform:translateX(6px);

    color:#fff;

    background:
        linear-gradient(
            90deg,
            rgba(190,122,78,.2),
            transparent
        );
}

.bq-journey-menu button > span{
    width:37px;
    height:37px;

    display:grid;
    place-items:center;

    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;

    color:#c99167;

    font-family:Georgia,"Times New Roman",serif;
    font-size:8px;
}

.bq-journey-menu button.active > span{
    color:#241a14;
    border-color:#c98b60;
    background:#c98b60;
}

.bq-journey-menu strong,
.bq-journey-menu small{
    display:block;
}

.bq-journey-menu strong{
    font-size:9px;
}

.bq-journey-menu small{
    margin-top:4px;

    color:rgba(255,255,255,.32);
    font-size:5px;
}

.bq-journey-visual{
    position:relative;

    min-height:630px;
    overflow:hidden;

    background:#31241d;
}

.bq-journey-photo{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            180deg,
            rgba(20,15,12,.02),
            rgba(20,15,12,.78)
        ),
        url("https://images.unsplash.com/photo-1611892440504-42a792e24d32?auto=format&fit=crop&w=1600&q=90")
        center/cover no-repeat;

    transition:
        background-image .4s ease,
        transform .5s ease;
}

.bq-journey-copy{
    position:absolute;
    z-index:3;

    left:42px;
    right:42px;
    bottom:42px;

    max-width:650px;

    color:#fff;
}

.bq-journey-copy > span{
    color:#d7a174;

    font-size:6px;
    font-weight:900;
    letter-spacing:.15em;
}

.bq-journey-copy h3{
    margin:10px 0;

    font-size:41px;
    letter-spacing:-.045em;
}

.bq-journey-copy p{
    max-width:540px;

    margin:0;

    color:rgba(255,255,255,.58);

    font-size:10px;
    line-height:1.75;
}

.bq-journey-copy a{
    display:inline-flex;
    align-items:center;
    gap:9px;

    margin-top:20px;

    color:#e0b48e;

    text-decoration:none;

    font-size:8px;
    font-weight:900;
}


/* ============================================================
   COMMAND
============================================================ */

.bq-command{
    padding:140px 0;

    color:#fff;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(187,119,76,.13),
            transparent 28%
        ),
        radial-gradient(
            circle at 12% 70%,
            rgba(227,193,155,.06),
            transparent 30%
        ),
        #1d1714;
}

.bq-command-intro{
    max-width:780px;

    margin:0 auto 58px;

    text-align:center;
}

.bq-command-intro > p{
    margin:0;

    color:#d09a6e;

    font-size:7px;
    font-weight:900;
    letter-spacing:.17em;
}

.bq-command-intro h2{
    margin:13px 0 15px;

    font-size:clamp(43px,4.4vw,64px);
    line-height:.97;
    letter-spacing:-.05em;
}

.bq-command-intro h2 em{
    display:block;

    color:#d3a077;

    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
}

.bq-command-intro > span{
    display:block;

    max-width:620px;

    margin:auto;

    color:rgba(255,255,255,.45);

    font-size:11px;
    line-height:1.75;
}


/* ============================================================
   COMMAND DESK
============================================================ */

.bq-desk{
    overflow:hidden;

    border:1px solid rgba(255,255,255,.1);

    background:#f5f1eb;

    box-shadow:
        0 50px 120px rgba(0,0,0,.32);
}

.bq-desk > header{
    min-height:75px;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;

    padding:0 22px;

    background:
        linear-gradient(
            90deg,
            #211915,
            #3a2920
        );
}

.bq-desk-brand{
    display:flex;
    align-items:center;
    gap:11px;
}

.bq-desk-brand > span{
    width:42px;
    height:42px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#241a14;

    background:
        linear-gradient(
            135deg,
            #e6c49f,
            #b9794e
        );

    font-size:10px;
    font-weight:900;
}

.bq-desk-brand small,
.bq-desk-brand strong{
    display:block;
}

.bq-desk-brand small{
    color:rgba(255,255,255,.37);

    font-size:5px;
    letter-spacing:.1em;
}

.bq-desk-brand strong{
    margin-top:3px;
    font-size:10px;
}

.bq-desk-status{
    display:flex;
    align-items:center;
    gap:7px;

    color:#d9ad84;

    font-size:6px;
    font-weight:900;
}

.bq-desk-status i{
    width:7px;
    height:7px;

    border-radius:50%;

    background:#75d7a5;

    box-shadow:
        0 0 0 6px rgba(117,215,165,.07);
}

.bq-desk-body{
    display:grid;
    grid-template-columns:180px 1fr;

    color:#211c18;
}

.bq-desk-body aside{
    padding:16px 10px;

    background:
        linear-gradient(
            180deg,
            #251c17,
            #33251e
        );
}

.bq-desk-body aside button{
    width:100%;

    padding:12px;

    border:1px solid transparent;

    color:rgba(255,255,255,.43);
    background:transparent;

    text-align:left;

    font-size:7px;
    font-weight:700;

    transition:
        color .2s ease,
        background .2s ease,
        border-color .2s ease;
}

.bq-desk-body aside button:hover,
.bq-desk-body aside button.active{
    color:#fff;

    border-color:rgba(205,147,104,.13);

    background:
        linear-gradient(
            90deg,
            rgba(188,120,76,.2),
            transparent
        );
}

.bq-desk-body main{
    padding:19px;
}


/* ============================================================
   DESK HEADING
============================================================ */

.bq-desk-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:15px;

    margin-bottom:13px;
}

.bq-desk-heading small,
.bq-desk-heading strong{
    display:block;
}

.bq-desk-heading small{
    color:#a56f4b;

    font-size:5px;
    font-weight:900;
    letter-spacing:.1em;
}

.bq-desk-heading strong{
    margin-top:4px;
    font-size:13px;
}

.bq-desk-heading button{
    min-height:31px;

    padding:0 12px;

    border:1px solid #d9cec2;
    background:#fff;

    color:#766b63;

    font-size:5px;
    font-weight:900;
}


/* ============================================================
   METRICS
============================================================ */

.bq-metrics{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
}

.bq-metrics article{
    min-height:105px;

    padding:14px;

    border:1px solid #ddd4ca;

    background:#fff;
}

.bq-metrics small,
.bq-metrics strong,
.bq-metrics span{
    display:block;
}

.bq-metrics small{
    color:#94887e;

    font-size:5px;
    font-weight:900;
}

.bq-metrics strong{
    margin-top:8px;

    font-size:22px;
}

.bq-metrics span{
    margin-top:5px;

    color:#aaa098;
    font-size:5px;
}

.bq-metrics article.accent{
    border-color:#ddc2a9;

    background:
        linear-gradient(
            145deg,
            #f5e7d8,
            #fff
        );
}


/* ============================================================
   DESK GRID
============================================================ */

.bq-desk-grid{
    display:grid;
    grid-template-columns:1.4fr .6fr;
    gap:8px;

    margin-top:8px;
}

.bq-pulse,
.bq-guest-card,
.bq-arrivals{
    padding:14px;

    border:1px solid #ddd4ca;

    background:#fff;
}

.bq-panel-title{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
}

.bq-panel-title small,
.bq-panel-title strong{
    display:block;
}

.bq-panel-title small{
    color:#a56e49;

    font-size:5px;
    font-weight:900;
}

.bq-panel-title strong{
    margin-top:3px;
    font-size:9px;
}

.bq-panel-title > span{
    padding:5px 7px;

    color:#8b8179;
    background:#f3eee8;

    font-size:4px;
}


/* ============================================================
   CHART
============================================================ */

.bq-chart{
    height:155px;

    display:flex;
    align-items:flex-end;
    gap:11px;

    padding:20px 10px 0;

    border-bottom:1px solid #ded6cd;
}

.bq-chart > div{
    position:relative;

    flex:1;
    height:100%;
}

.bq-chart i{
    position:absolute;
    left:15%;
    right:15%;
    bottom:0;

    height:var(--bq-bar);

    background:
        linear-gradient(
            180deg,
            #d8aa81,
            #a96e48
        );
}

.bq-chart-days{
    display:flex;
    justify-content:space-around;

    padding-top:7px;

    color:#aaa098;
    font-size:4px;
}


/* ============================================================
   GUEST CARD
============================================================ */

.bq-guest-profile{
    display:flex;
    align-items:center;
    gap:10px;

    margin-top:22px;
}

.bq-guest-profile > span{
    width:48px;
    height:48px;

    display:grid;
    place-items:center;

    border-radius:50%;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            #a96e48,
            #d5a47b
        );

    font-size:8px;
    font-weight:900;
}

.bq-guest-profile strong,
.bq-guest-profile small{
    display:block;
}

.bq-guest-profile strong{
    font-size:8px;
}

.bq-guest-profile small{
    margin-top:3px;

    color:#968b82;
    font-size:5px;
}

.bq-preferences{
    display:flex;
    flex-wrap:wrap;
    gap:5px;

    margin-top:16px;
}

.bq-preferences span{
    padding:5px 7px;

    border:1px solid #e0d5c9;

    color:#7d7168;
    background:#faf7f2;

    font-size:4px;
}

.bq-guest-card > button{
    width:100%;
    min-height:35px;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;

    margin-top:17px;

    border:0;

    color:#fff;
    background:#a96f4a;

    font-size:5px;
    font-weight:900;
}


/* ============================================================
   ARRIVALS
============================================================ */

.bq-arrivals{
    margin-top:8px;
}

.bq-arrival-row{
    display:grid;
    grid-template-columns:1.2fr .6fr .4fr;
    gap:10px;
    align-items:center;

    min-height:59px;

    border-bottom:1px solid #eee8e1;
}

.bq-arrival-row:last-child{
    border-bottom:0;
}

.bq-arrival-row > div{
    display:flex;
    align-items:center;
    gap:9px;
}

.bq-arrival-row > div > span{
    width:29px;
    height:29px;

    display:grid;
    place-items:center;

    background:#f2e6da;

    color:#a46c47;

    font-size:5px;
    font-weight:900;
}

.bq-arrival-row strong,
.bq-arrival-row small{
    display:block;
}

.bq-arrival-row strong{
    font-size:6px;
}

.bq-arrival-row small{
    margin-top:2px;

    color:#a19891;
    font-size:4px;
}

.bq-arrival-row > span{
    color:#847970;
    font-size:5px;
}

.bq-arrival-row > b{
    color:#498368;

    font-size:5px;
}


/* ============================================================
   MODEL
============================================================ */

.bq-model{
    padding:135px 0;

    background:#fffdf9;
}

.bq-model-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}

.bq-model-grid article{
    position:relative;

    min-height:370px;

    padding:28px;

    overflow:hidden;

    border:1px solid #dfd5ca;

    background:
        linear-gradient(
            145deg,
            #fff,
            #faf6f0
        );

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.bq-model-grid article:hover{
    transform:translateY(-7px);

    border-color:#d0aa89;

    box-shadow:
        0 28px 65px rgba(64,43,29,.09);
}

.bq-model-grid article > span{
    position:absolute;
    top:22px;
    right:22px;

    color:#d7c5b4;

    font-family:Georgia,"Times New Roman",serif;
    font-size:27px;
}

.bq-model-icon{
    width:54px;
    height:54px;

    display:grid;
    place-items:center;

    margin-top:36px;

    border:1px solid #dbc7b5;
    border-radius:50%;

    color:#a66d47;
    background:#f7ede3;

    font-size:7px;
    font-weight:900;
}

.bq-model-grid article > small{
    display:block;

    margin-top:30px;

    color:#a56d48;

    font-size:6px;
    font-weight:900;
    letter-spacing:.13em;
}

.bq-model-grid h3{
    margin:9px 0 10px;

    font-size:24px;
    line-height:1.07;
    letter-spacing:-.035em;
}

.bq-model-grid p{
    margin:0;

    color:#817a73;

    font-size:9px;
    line-height:1.72;
}


/* ============================================================
   STACK
============================================================ */

.bq-stack{
    padding:135px 0;

    background:
        linear-gradient(
            180deg,
            #f1e9df,
            #f8f4ee
        );
}

.bq-stack-head{
    display:grid;
    grid-template-columns:1fr .55fr;
    gap:70px;
    align-items:end;

    margin-bottom:55px;
}

.bq-stack-head p{
    margin:0;

    color:#a66d48;

    font-size:7px;
    font-weight:900;
    letter-spacing:.16em;
}

.bq-stack-head h2{
    max-width:720px;

    margin:13px 0 0;

    font-size:clamp(42px,4.2vw,62px);
    line-height:.97;
    letter-spacing:-.05em;
}

.bq-stack-head h2 em{
    display:block;

    color:#a66d48;

    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
}

.bq-stack-head > span{
    color:#7e7770;

    font-size:11px;
    line-height:1.75;
}


/* ============================================================
   PRODUCTS
============================================================ */

.bq-products{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:11px;
}

.bq-product{
    position:relative;

    min-height:390px;

    display:block;
    overflow:hidden;

    padding:27px;

    border:1px solid #dbd1c6;

    color:#211c18;
    background:#fff;

    text-decoration:none;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.bq-product:hover{
    transform:translateY(-8px);

    border-color:#cda17f;

    box-shadow:
        0 28px 65px rgba(65,44,31,.1);
}

.bq-product-number{
    position:absolute;
    top:19px;
    right:20px;

    color:#e2d6ca;

    font-family:Georgia,"Times New Roman",serif;
    font-size:30px;
}

.bq-product > small{
    color:#a56d48;

    font-size:6px;
    font-weight:900;
    letter-spacing:.1em;
}

.bq-product-icon{
    width:55px;
    height:55px;

    display:grid;
    place-items:center;

    margin-top:35px;

    border-radius:50%;

    color:#9e6744;
    background:#f2e5d8;

    font-size:7px;
    font-weight:900;
}

.bq-product h3{
    margin:20px 0 11px;

    font-size:23px;
    letter-spacing:-.035em;
}

.bq-product p{
    margin:0;

    color:#7f7770;

    font-size:9px;
    line-height:1.72;
}

.bq-product > strong{
    position:absolute;
    left:27px;
    bottom:27px;

    display:flex;
    align-items:center;
    gap:8px;

    color:#a66d48;

    font-size:7px;
}

.bq-product-dark,
.bq-product-accent{
    color:#fff;

    border-color:transparent;

    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(195,128,82,.17),
            transparent 35%
        ),
        #211a16;
}

.bq-product-accent{
    background:
        radial-gradient(
            circle at 100% 0%,
            rgba(231,194,155,.18),
            transparent 35%
        ),
        linear-gradient(
            145deg,
            #6e432d,
            #9f6746
        );
}

.bq-product-dark .bq-product-number,
.bq-product-accent .bq-product-number{
    color:rgba(255,255,255,.1);
}

.bq-product-dark > small,
.bq-product-accent > small{
    color:#dfad83;
}

.bq-product-dark .bq-product-icon,
.bq-product-accent .bq-product-icon{
    color:#251a14;

    background:
        linear-gradient(
            135deg,
            #e6c39d,
            #b9794e
        );
}

.bq-product-dark p,
.bq-product-accent p{
    color:rgba(255,255,255,.48);
}

.bq-product-dark > strong,
.bq-product-accent > strong{
    color:#e1b38c;
}


/* ============================================================
   FINAL
============================================================ */

.bq-final{
    position:relative;

    min-height:690px;

    display:flex;
    align-items:center;

    overflow:hidden;

    color:#fff;
    background:#1c1714;
}

.bq-final-photo{
    position:absolute;
    inset:0;

    background:
        url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=90")
        center/cover no-repeat;
}

.bq-final-shade{
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(24,18,14,.98) 0%,
            rgba(33,23,18,.9) 48%,
            rgba(32,23,18,.35) 100%
        );
}

.bq-final .bq-container{
    position:relative;
    z-index:3;
}

.bq-final-copy{
    max-width:790px;
}

.bq-final-copy > p{
    margin:0;

    color:#d6a377;

    font-size:7px;
    font-weight:900;
    letter-spacing:.17em;
}

.bq-final-copy h2{
    margin:14px 0 19px;

    font-size:clamp(50px,5vw,77px);
    line-height:.95;
    letter-spacing:-.055em;
}

.bq-final-copy h2 em{
    display:block;

    margin-top:7px;

    color:#ddb18b;

    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
}

.bq-final-copy > span{
    display:block;

    max-width:630px;

    color:rgba(255,255,255,.55);

    font-size:12px;
    line-height:1.78;
}

.bq-final-copy > div{
    display:flex;
    flex-wrap:wrap;
    gap:10px;

    margin-top:31px;
}


/* ============================================================
   TOAST
============================================================ */

.bq-toast{
    position:fixed;
    z-index:99999;

    right:24px;
    bottom:24px;

    max-width:350px;

    padding:14px 17px;

    border:1px solid rgba(220,169,126,.18);

    color:#fff;

    background:
        linear-gradient(
            145deg,
            #211a16,
            #4a3226
        );

    box-shadow:
        0 22px 60px rgba(0,0,0,.32);

    font-size:9px;
    font-weight:700;
}


/* ============================================================
   RESPONSIVE — 1180
============================================================ */

@media(max-width:1180px){

    .bq-hero-grid{
        grid-template-columns:1fr;
    }

    .bq-hero-copy{
        max-width:850px;
    }

    .bq-showcase{
        max-width:900px;
        margin-left:0;
    }

    .bq-floating-one{
        right:-15px;
    }

    .bq-floating-two{
        left:-15px;
    }

    .bq-products{
        grid-template-columns:1fr 1fr;
    }

    .bq-model-grid{
        grid-template-columns:1fr 1fr;
    }

}


/* ============================================================
   RESPONSIVE — 960
============================================================ */

@media(max-width:960px){

    .bq-hero{
        min-height:auto;
    }

    .bq-hero-grid{
        padding:70px 0 125px;
    }

    .bq-floating{
        display:none;
    }

    .bq-statement-grid{
        grid-template-columns:70px 1fr;
    }

    .bq-statement-copy{
        grid-column:2;
        padding-top:0;
    }

    .bq-editorial-grid{
        grid-template-columns:1fr;
    }

    .bq-editorial-side{
        grid-template-columns:1fr 1fr;
    }

    .bq-section-head,
    .bq-stack-head{
        grid-template-columns:1fr;
        gap:22px;
    }

    .bq-journey-shell{
        grid-template-columns:1fr;
    }

    .bq-journey-menu{
        display:grid;
        grid-template-columns:repeat(5,1fr);

        overflow-x:auto;

        padding:10px;
    }

    .bq-journey-menu button{
        min-width:135px;
        min-height:90px;

        border-bottom:0;
        border-right:1px solid rgba(255,255,255,.08);
    }

    .bq-journey-menu button:hover,
    .bq-journey-menu button.active{
        transform:translateY(-3px);
    }

    .bq-desk-body{
        grid-template-columns:1fr;
    }

    .bq-desk-body aside{
        display:flex;
        overflow-x:auto;
    }

    .bq-desk-body aside button{
        width:auto;
        min-width:120px;
    }

}


/* ============================================================
   RESPONSIVE — 720
============================================================ */

@media(max-width:720px){

    .bq-container{
        width:min(100% - 26px,1320px);
    }

    .bq-hero-copy h1{
        font-size:45px;
    }

    .bq-intro{
        font-size:12px;
    }

    .bq-actions{
        display:grid;
    }

    .bq-button{
        width:100%;
    }

    .bq-signals{
        display:grid;
        grid-template-columns:1fr;
    }

    .bq-signals > div{
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.09);
        padding-left:0;
    }

    .bq-signals > div:last-child{
        border-bottom:0;
    }

    .bq-showcase-image{
        min-height:350px;
    }

    .bq-mini-booking{
        grid-template-columns:1fr 1fr;
    }

    .bq-statement{
        padding:95px 0;
    }

    .bq-statement-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .bq-statement-number{
        font-size:40px;
    }

    .bq-statement-copy{
        grid-column:auto;
    }

    .bq-statement h2,
    .bq-section-head h2,
    .bq-stack-head h2{
        font-size:38px;
    }

    .bq-editorial{
        padding-bottom:95px;
    }

    .bq-editorial-main{
        min-height:540px;
    }

    .bq-editorial-caption{
        left:22px;
        right:22px;
        bottom:25px;
    }

    .bq-editorial-caption h3{
        font-size:33px;
    }

    .bq-editorial-side{
        grid-template-columns:1fr;
    }

    .bq-journey{
        padding:95px 0;
    }

    .bq-journey-visual{
        min-height:530px;
    }

    .bq-journey-copy{
        left:22px;
        right:22px;
        bottom:26px;
    }

    .bq-journey-copy h3{
        font-size:32px;
    }

    .bq-command{
        padding:95px 0;
    }

    .bq-command-intro h2{
        font-size:38px;
    }

    .bq-metrics{
        grid-template-columns:1fr 1fr;
    }

    .bq-desk-grid{
        grid-template-columns:1fr;
    }

    .bq-arrival-row{
        grid-template-columns:1fr .55fr;
    }

    .bq-arrival-row > b{
        grid-column:1 / -1;
        padding-bottom:8px;
    }

    .bq-model{
        padding:95px 0;
    }

    .bq-model-grid{
        grid-template-columns:1fr;
    }

    .bq-stack{
        padding:95px 0;
    }

    .bq-products{
        grid-template-columns:1fr;
    }

    .bq-final{
        min-height:600px;
    }

    .bq-final-copy h2{
        font-size:44px;
    }

    .bq-final-copy > div{
        display:grid;
    }

}


/* ============================================================
   RESPONSIVE — 480
============================================================ */

@media(max-width:480px){

    .bq-breadcrumb{
        font-size:8px;
    }

    .bq-kicker{
        font-size:7px;
    }

    .bq-hero-copy h1{
        font-size:39px;
    }

    .bq-showcase-card{
        padding:7px;
    }

    .bq-showcase-content{
        padding:15px 8px 8px;
    }

    .bq-mini-booking{
        grid-template-columns:1fr;
    }

    .bq-metrics{
        grid-template-columns:1fr;
    }

    .bq-desk > header{
        padding:12px;
    }

    .bq-desk-status{
        display:none;
    }

    .bq-desk-body main{
        padding:10px;
    }

    .bq-chart{
        gap:5px;
    }

}


/* ============================================================
   REDUCED MOTION
============================================================ */

@media(prefers-reduced-motion:reduce){

    .bq *,
    .bq *::before,
    .bq *::after{
        animation:none !important;
        transition:none !important;
        scroll-behavior:auto !important;
    }

}