:root{
    --bg:#08070a;
    --bg-soft:#100d13;
    --panel:#151119;
    --text:#f7f2ed;
    --muted:#b8afb9;
    --gold:#c9a96e;
    --gold-light:#ead7ad;
    --border:rgba(255,255,255,.14);
    --serif:Georgia,"Times New Roman",serif;
    --sans:Arial,Helvetica,sans-serif;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
    background:var(--bg);
}

body.connect-page{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:var(--sans);
    line-height:1.6;
    overflow-x:hidden;
}

body.connect-page a{
    color:inherit;
}

.connect-container{
    width:min(calc(100% - 48px),1240px);
    margin:0 auto;
}

.connect-topbar{
    position:absolute;
    z-index:20;
    top:0;
    left:0;
    width:100%;
    min-height:90px;
    padding:22px 5vw;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.connect-brand{
    display:flex;
    flex-direction:column;
    text-decoration:none;
    line-height:1;
}

.connect-brand-name{
    font-family:var(--serif);
    font-size:23px;
    letter-spacing:.12em;
}

.connect-brand-signature{
    margin-top:8px;
    color:var(--gold);
    font-size:9px;
    letter-spacing:.55em;
}

.connect-language{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:11px;
    letter-spacing:.18em;
}

.connect-language span{
    width:1px;
    height:14px;
    background:rgba(255,255,255,.3);
}

.connect-language a{
    color:rgba(255,255,255,.55);
    text-decoration:none;
}

.connect-language a.is-active{
    color:var(--gold-light);
}

.connect-hero{
    position:relative;
    min-height:100vh;
    min-height:100svh;
    display:flex;
    align-items:flex-end;
    overflow:hidden;
    background:#09080a;
}

.connect-hero-photo{
    position:absolute;
    inset:0;
}

.connect-hero-photo img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:65% 20%;
    filter:saturate(.8) contrast(1.08) brightness(.78);
}

.connect-hero-photo-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg,rgba(5,4,7,.98) 0%,rgba(5,4,7,.8) 38%,rgba(5,4,7,.14) 75%),
        linear-gradient(0deg,rgba(5,4,7,.94) 0%,transparent 48%),
        linear-gradient(180deg,rgba(5,4,7,.45),transparent 28%);
}

.connect-hero-content{
    position:relative;
    z-index:2;
    width:min(90%,760px);
    margin-left:max(5vw,calc((100vw - 1240px)/2));
    padding:150px 0 10vh;
}

.connect-eyebrow{
    margin:0 0 18px;
    color:var(--gold);
    font-size:11px;
    font-weight:600;
    letter-spacing:.24em;
    text-transform:uppercase;
}

.connect-hero h1{
    margin:0;
    font-family:var(--serif);
    font-weight:400;
    line-height:.83;
    letter-spacing:-.035em;
}

.connect-hero h1 span,
.connect-hero h1 strong{
    display:block;
}

.connect-hero h1 span{
    font-size:clamp(68px,10vw,150px);
    font-style:italic;
    font-weight:400;
}

.connect-hero h1 strong{
    margin-top:18px;
    font-size:clamp(44px,7vw,98px);
    font-weight:500;
}

.connect-roles{
    margin:34px 0 5px;
    font-size:clamp(13px,1.4vw,17px);
    letter-spacing:.08em;
}

.connect-location{
    margin:0;
    color:var(--gold-light);
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.connect-intro{
    max-width:620px;
    margin:25px 0 0;
    color:rgba(255,255,255,.76);
    font-family:var(--serif);
    font-size:clamp(21px,2.3vw,31px);
    line-height:1.32;
}

.connect-primary-actions{
    display:flex;
    flex-wrap:wrap;
    gap:13px;
    margin-top:35px;
}

.connect-button{
    min-height:54px;
    padding:16px 25px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid transparent;
    font-size:11px;
    font-weight:600;
    letter-spacing:.13em;
    text-decoration:none;
    text-transform:uppercase;
}

.connect-button-primary{
    background:var(--gold);
    color:#0a0807!important;
}

.connect-button-secondary{
    border-color:rgba(255,255,255,.45);
    background:rgba(10,8,12,.4);
}

.connect-quick-actions{
    display:flex;
    flex-wrap:wrap;
    gap:24px;
    margin-top:27px;
}

.connect-quick-actions a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:rgba(255,255,255,.78);
    font-size:11px;
    text-decoration:none;
}

.connect-action-icon{
    color:var(--gold);
}

.connect-scroll{
    position:absolute;
    z-index:3;
    right:5vw;
    bottom:44px;
    width:26px;
    height:55px;
    border:1px solid rgba(255,255,255,.28);
    border-radius:25px;
}

.connect-section{
    position:relative;
    padding:110px 0;
}

.connect-section-heading{
    max-width:700px;
    margin-bottom:52px;
}

.connect-section-heading h2,
.connect-management h2,
.connect-form-intro h2{
    margin:0;
    font-family:var(--serif);
    font-size:clamp(43px,6vw,82px);
    font-weight:400;
    line-height:.98;
    letter-spacing:-.03em;
}

.connect-section-heading>p:last-child{
    color:var(--muted);
}

.connect-contacts{
    background:linear-gradient(180deg,#09080a,#0f0c11);
}

.connect-contact-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:1px solid var(--border);
    border-left:1px solid var(--border);
}

.connect-contact-card{
    position:relative;
    min-height:330px;
    padding:50px;
    border-right:1px solid var(--border);
    border-bottom:1px solid var(--border);
    background:rgba(255,255,255,.015);
    overflow:hidden;
}

.connect-contact-card-featured{
    background:linear-gradient(135deg,rgba(201,169,110,.13),rgba(139,110,145,.05));
}

.connect-card-number{
    position:absolute;
    right:25px;
    top:10px;
    color:rgba(255,255,255,.06);
    font-family:var(--serif);
    font-size:84px;
}

.connect-card-label{
    margin:0 0 14px;
    color:var(--gold);
    font-size:10px;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.connect-contact-card h3{
    position:relative;
    margin:0;
    font-family:var(--serif);
    font-size:clamp(28px,3vw,40px);
    font-weight:400;
    line-height:1.05;
}

.connect-contact-card>p:not(.connect-card-label){
    margin:25px 0 34px;
    color:var(--muted);
}

.connect-contact-card a{
    position:relative;
    display:inline-block;
    border-bottom:1px solid var(--gold);
    color:var(--gold-light);
    font-size:14px;
    text-decoration:none;
    overflow-wrap:anywhere;
}

.connect-management{
    background:
        radial-gradient(circle at 15% 30%,rgba(139,110,145,.17),transparent 30rem),
        #0c0910;
}

.connect-management-layout{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:100px;
}

.connect-management-company{
    margin:24px 0 0;
    color:var(--gold);
    font-size:13px;
    letter-spacing:.36em;
    text-transform:uppercase;
}

.connect-management-role{
    margin-top:0;
    color:var(--gold-light);
    font-family:var(--serif);
    font-size:clamp(23px,3vw,35px);
    line-height:1.25;
}

.connect-management-content>p:not(.connect-management-role){
    color:var(--muted);
}

.connect-management-list{
    margin-top:42px;
    padding-top:30px;
    border-top:1px solid var(--border);
}

.connect-management-list h3{
    margin:0 0 22px;
    font-size:11px;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.connect-management-list ul{
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px 30px;
    list-style:none;
}

.connect-management-list li{
    position:relative;
    padding-left:19px;
    color:var(--muted);
    font-size:14px;
}

.connect-management-list li:before{
    position:absolute;
    left:0;
    content:"—";
    color:var(--gold);
}

.connect-management-actions{
    display:flex;
    flex-wrap:wrap;
    gap:15px 28px;
    margin-top:35px;
}

.connect-management-actions a{
    color:var(--gold-light);
    text-decoration:none;
}

.connect-resources{
    background:#f1ede8;
    color:#151116;
}

.connect-resources .connect-eyebrow{
    color:#81663f;
}

.connect-resource-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
}

.connect-resource-card{
    min-height:390px;
    padding:34px 30px;
    display:flex;
    flex-direction:column;
    border:1px solid rgba(0,0,0,.18);
    border-left:0;
    color:inherit;
    text-decoration:none;
}

.connect-resource-card:first-child{
    border-left:1px solid rgba(0,0,0,.18);
}

.connect-resource-card>span{
    color:#8c744c;
    font-size:11px;
}

.connect-resource-card h3{
    margin:48px 0 18px;
    font-family:var(--serif);
    font-size:34px;
    font-weight:500;
    line-height:1;
}

.connect-resource-card p{
    color:#5e565f;
    font-size:14px;
}

.connect-resource-card strong{
    margin-top:auto;
    color:#6c5031;
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.connect-available{
    background:#0a080b;
}

.connect-available-list{
    border-top:1px solid var(--border);
}

.connect-available-list>div{
    min-height:88px;
    display:grid;
    grid-template-columns:70px 1fr;
    align-items:center;
    border-bottom:1px solid var(--border);
}

.connect-available-list span{
    color:var(--gold);
    font-size:10px;
}

.connect-available-list p{
    margin:0;
    font-family:var(--serif);
    font-size:clamp(23px,3vw,38px);
}

.connect-form-section{
    background:#100d12;
}

.connect-form-layout{
    display:grid;
    grid-template-columns:.75fr 1.25fr;
    gap:90px;
}

.connect-form-intro>p:not(.connect-eyebrow){
    color:var(--muted);
}

.connect-form-direct{
    margin-top:35px;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.connect-form-direct a{
    color:var(--gold-light);
    text-decoration:none;
}

.connect-form-panel{
    padding:50px;
    border:1px solid var(--border);
    background:rgba(255,255,255,.025);
}

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

.connect-form-panel label:not(.connect-checkbox){
    display:block;
    margin-bottom:21px;
}

.connect-form-panel label>span{
    display:block;
    margin-bottom:8px;
    color:rgba(255,255,255,.66);
    font-size:10px;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.connect-form-panel input,
.connect-form-panel select,
.connect-form-panel textarea{
    width:100%;
    border:0;
    border-bottom:1px solid rgba(255,255,255,.26);
    border-radius:0;
    outline:none;
    background:transparent;
    color:#fff;
    font:inherit;
}

.connect-form-panel input,
.connect-form-panel select{
    height:49px;
}

.connect-form-panel textarea{
    padding:14px 0;
}

.connect-form-panel option{
    background:#141016;
}

.connect-checkbox{
    margin:4px 0 26px;
    display:grid;
    grid-template-columns:18px 1fr;
    gap:12px;
}

.connect-checkbox input{
    width:16px;
    height:16px;
}

.connect-checkbox span{
    margin:0!important;
    color:var(--muted)!important;
    font-size:11px!important;
    letter-spacing:0!important;
    text-transform:none!important;
}

.connect-submit{
    width:100%;
    min-height:60px;
    padding:16px 22px;
    border:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:var(--gold);
    color:#100d0b;
    cursor:pointer;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.connect-honeypot{
    position:absolute!important;
    left:-9999px!important;
}

.connect-official{
    background:#08070a;
}

.connect-official-grid{
    display:grid;
    grid-template-columns:1.3fr repeat(3,1fr);
    border-top:1px solid var(--border);
    border-left:1px solid var(--border);
}

.connect-official-grid>div{
    min-height:190px;
    padding:28px;
    border-right:1px solid var(--border);
    border-bottom:1px solid var(--border);
}

.connect-official-grid span{
    color:var(--gold);
    font-size:9px;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.connect-official-grid p{
    margin:24px 0 0;
    color:var(--muted);
}

.connect-footer{
    padding:70px 5vw 90px;
    border-top:1px solid var(--border);
    background:#050406;
    text-align:center;
}

.connect-footer-brand{
    display:flex;
    flex-direction:column;
}

.connect-footer-brand strong{
    font-family:var(--serif);
    font-size:40px;
    font-weight:400;
    letter-spacing:.08em;
}

.connect-footer-brand span{
    margin-top:9px;
    color:var(--gold);
    font-size:10px;
    letter-spacing:.5em;
}

.connect-footer>p{
    color:var(--muted);
    font-family:var(--serif);
    font-size:19px;
}

.connect-footer-links{
    display:flex;
    justify-content:center;
    gap:25px;
}

.connect-footer-links a{
    color:var(--muted);
    font-size:11px;
    text-decoration:none;
    text-transform:uppercase;
}

.connect-footer small{
    display:block;
    margin-top:38px;
    color:rgba(255,255,255,.35);
}

.connect-mobile-booking{
    display:none;
}

.connect-reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .7s ease,transform .7s ease;
}

.connect-reveal.is-visible{
    opacity:1;
    transform:none;
}

@media(max-width:1000px){
    .connect-resource-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

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

@media(max-width:760px){
    .connect-container{
        width:calc(100% - 30px);
    }

    .connect-topbar{
        min-height:74px;
        padding:17px 16px;
    }

    .connect-brand-name{
        font-size:16px;
        letter-spacing:.07em;
    }

    .connect-brand-signature{
        font-size:7px;
    }

    .connect-hero-photo img{
        object-position:63% 20%;
    }

    .connect-hero-photo-overlay{
        background:
            linear-gradient(0deg,rgba(5,4,7,.98) 0%,rgba(5,4,7,.74) 52%,rgba(5,4,7,.18) 85%);
    }

    .connect-hero-content{
        width:calc(100% - 30px);
        margin:0 auto;
        padding:130px 0 75px;
    }

    .connect-hero h1 span{
        font-size:clamp(60px,20vw,88px);
    }

    .connect-hero h1 strong{
        font-size:clamp(39px,13vw,58px);
    }

    .connect-primary-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .connect-button{
        width:100%;
    }

    .connect-scroll{
        display:none;
    }

    .connect-section{
        padding:82px 0;
    }

    .connect-contact-grid,
    .connect-management-layout,
    .connect-form-layout{
        grid-template-columns:1fr;
    }

    .connect-contact-card{
        min-height:290px;
        padding:32px 25px;
    }

    .connect-management-layout{
        gap:40px;
    }

    .connect-management-list ul{
        grid-template-columns:1fr;
    }

    .connect-resource-grid{
        grid-template-columns:1fr;
    }

    .connect-resource-card{
        min-height:300px;
        border-left:1px solid rgba(0,0,0,.18);
    }

    .connect-form-row{
        grid-template-columns:1fr;
        gap:0;
    }

    .connect-form-panel{
        padding:28px 19px;
    }

    .connect-official-grid{
        grid-template-columns:1fr;
    }

    .connect-mobile-booking{
        position:fixed;
        z-index:50;
        right:14px;
        bottom:14px;
        left:14px;
        min-height:54px;
        display:flex;
        align-items:center;
        justify-content:center;
        background:var(--gold);
        color:#090706!important;
        font-size:10px;
        font-weight:600;
        letter-spacing:.13em;
        text-decoration:none;
        text-transform:uppercase;
    }

    .connect-footer{
        padding-bottom:105px;
    }
}

/* =========================================================
   CONNECT — INSTAGRAM + LINKEDIN — MOBILE
   ========================================================= */

.connect-socials,
.connect-social-links,
.social-links,
.footer-socials,
.footer-social-links {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
}

.connect-socials a,
.connect-social-links a,
.social-links a,
.footer-socials a,
.footer-social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 48px;
    padding: 12px 18px;
    border: 1px solid rgba(199, 160, 74, 0.65);
    border-radius: 999px;
    background: rgba(10, 10, 10, 0.88);
    color: #d6b467;
    text-decoration: none;
    line-height: 1;
    white-space: nowrap;
}

.connect-socials a svg,
.connect-socials a img,
.connect-social-links a svg,
.connect-social-links a img,
.social-links a svg,
.social-links a img,
.footer-socials a svg,
.footer-socials a img,
.footer-social-links a svg,
.footer-social-links a img {
    width: 21px;
    height: 21px;
    flex: 0 0 21px;
    object-fit: contain;
}

@media (max-width: 640px) {

    .connect-socials,
    .connect-social-links,
    .social-links,
    .footer-socials,
    .footer-social-links {
        width: 100%;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px !important;
        margin-left: auto;
        margin-right: auto;
    }

    .connect-socials a,
    .connect-social-links a,
    .social-links a,
    .footer-socials a,
    .footer-social-links a {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 50px;
        padding: 12px 10px !important;
        margin: 0 !important;
        justify-content: center;
        text-align: center;
        font-size: 13px;
    }
}

@media (max-width: 380px) {

    .connect-socials,
    .connect-social-links,
    .social-links,
    .footer-socials,
    .footer-social-links {
        grid-template-columns: 1fr;
    }

    .connect-socials a,
    .connect-social-links a,
    .social-links a,
    .footer-socials a,
    .footer-social-links a {
        max-width: 280px;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}


/* CONNECT INSTANT DISPLAY */
.connect-reveal,
.connect-reveal.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
}
