:root{
    color-scheme:dark;
    --call-bg:#0e0f0e;
    --call-panel:rgba(23,23,22,.92);
    --call-text:#f5f2eb;
    --call-muted:rgba(255,255,255,.72);
    --call-line:rgba(255,255,255,.72);
}

*{
    box-sizing:border-box;
}

html{
    background:var(--call-bg);
}

body{
    margin:0;
    overflow-x:hidden;
    background:var(--call-bg);
    color:var(--call-text);
    font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
}

a{
    color:inherit;
}

.call-skip-link{
    position:fixed;
    top:10px;
    left:10px;
    z-index:10;
    padding:10px 14px;
    background:#fff;
    color:#111;
    transform:translateY(-150%);
}

.call-skip-link:focus{
    transform:none;
}

.call-header{
    display:flex;
    min-height:60px;
    align-items:center;
    justify-content:space-between;
    padding:6px clamp(28px,4vw,74px);
    border-bottom:1px solid rgba(255,255,255,.08);
    background:#171717;
}

.call-header img{
    display:block;
    width:82px;
    height:58px;
    object-fit:contain;
}

.call-header p{
    margin:0;
    color:var(--call-muted);
    font-size:14px;
}

.call-header p a{
    text-decoration:none;
}

.call-header p span,
.call-header .call-membership-link{
    color:#ffffff;
    text-decoration:underline;
    text-underline-offset:3px;
}

.call-layout{
    display:grid;
    grid-template-columns:minmax(0,60%) minmax(0,40%);
    min-height:calc(100vh - 82px);
}
.call-main,
.call-aside{
    min-width: 0;
}

.call-main{
    padding:clamp(48px,5vw,84px) clamp(34px,5vw,88px) clamp(50px,5vw,78px);
    background:
        linear-gradient(rgba(6,7,6,.96),rgba(8,9,8,.97)),
        url("Images/About Us Hero.jpeg") center/cover;
}

.call-intro{
    max-width:980px;
}

.call-intro h1{
    max-width:900px;
    margin:0;
    font-family:"adobe-caslon-pro",serif;
    font-size:clamp(38px,3.2vw,52px);
    font-weight:400;
    line-height:1.04;
    letter-spacing:-.02em;
}

.call-intro h1 em{
    font-family:inherit;
    font-style:italic;
    font-weight:400;
}

.call-intro p{
    max-width:1050px;
    margin:20px 0 0;
    color:var(--call-muted);
    font-size:clamp(13px,.94vw,15px);
    line-height:1.58;
}

.call-form{
    display:grid;
    grid-template-columns:.55fr 1.15fr 1.15fr;
    gap:25px 20px;
    width:min(1000px,100%);
    max-width:100%;
    margin-top:34px;
}

.call-field{
    position:relative;
    display:grid;
    min-width:0;
    gap:1px;
    color:rgba(255,255,255,.68);
    font-size:16px;
    font-weight:600;
}
.call-field > span{
    position:absolute;
    z-index:2;
    left:0;
    top:50%;
    margin:0;
    line-height:1;
    pointer-events:none;
    transform:translateY(-50%);
    transform-origin:left center;
    opacity:1;
    transition:
        transform 200ms ease,
        opacity 200ms ease,
        font-size 200ms ease;
}

.call-field.is-focused > span{
    font-size:12px;
    transform:translateY(calc(-50% - 17px));
}

.call-field.is-filled > span{
    opacity:0;
    visibility:hidden;
}

.call-field-message > span{
    top:10px;
    transform:none;
}

.call-field-message.is-focused > span{
    transform:translateY(-18px);
}

.call-field-full{
    grid-column:1 / -1;
}

.call-field input,
.call-field select,
.call-field textarea{
    width:100%;
    min-width:0;
    padding:3px 34px 5px 0;
    border:0;
    border-bottom:1px solid var(--call-line);
    border-radius:0;
    outline:0;
    background:transparent;
    color:#fff;
    font:500 16px/1.35 "Helvetica Neue",Helvetica,Arial,sans-serif;
}

.call-field select{
    appearance:none;
    background-image:
        linear-gradient(45deg,transparent 50%,rgba(255,255,255,.8) 50%),
        linear-gradient(135deg,rgba(255,255,255,.8) 50%,transparent 50%);
    background-position:
        calc(100% - 8px) calc(50% - 1px),
        calc(100% - 3px) calc(50% - 1px);
    background-size:5px 5px,5px 5px;
    background-repeat:no-repeat;
}

.call-field textarea{
    min-height:104px;
    resize:vertical;
}

.call-field input:focus,
.call-field select:focus,
.call-field textarea:focus{
    border-bottom-color:#fff;
    box-shadow:0 1px 0 #fff;
}

.call-phone-group{
    display:grid;
    grid-template-columns:1fr 1.25fr;
    gap:20px;
}

.call-consents{
    display:grid;
    gap:16px;
    margin-top:-2px;
}

.call-consents label{
    display:flex;
    align-items:flex-start;
    gap:12px;
    color:rgba(255,255,255,.78);
    font-size:14px;
    line-height:1.5;
}

.call-consents input{
    width:20px;
    height:20px;
    flex:0 0 auto;
    margin:0;
    accent-color:#fff;
}

.call-consents small{
    color:rgba(255,255,255,.45);
}

.call-actions{
    display:flex;
    align-items:center;
    gap:20px;
}

.call-actions button{
    min-width:130px;
    padding:13px 22px;
    border:1px solid #fff;
    border-radius:999px;
    background:#fff;
    color:#111;
    font:600 13px/1 "Helvetica Neue",Helvetica,Arial,sans-serif;
    cursor:pointer;
    transition:background .2s ease,color .2s ease;
}

.call-actions button:hover,
.call-actions button:focus-visible{
    background:transparent;
    color:#fff;
}

.call-actions p{
    margin:0;
    color:var(--call-muted);
    font-size:13px;
}

.call-aside{
    display:flex;
    align-items:center;
    padding:clamp(42px,5vw,80px) clamp(20px,2.3vw,42px);
    background:
        linear-gradient(rgba(10,12,9,.22),rgba(10,12,9,.22)),
        url("Images/private-membership-benefits.png") center/cover;
}

.call-aside-panel{
    width:100%;
    padding:clamp(26px,2.15vw,37px);
    background:var(--call-panel);
    box-shadow:0 24px 70px rgba(0,0,0,.2);
    transform:translateY(-12%);
}

.call-aside h2{
    margin:0;
    font:400 clamp(24px,1.8vw,31px)/1.1 "big-caslon-fb",serif;
}

.call-next > h2{
    opacity:.75;
}

.call-next ol{
    display:grid;
    margin:23px 0 0;
    padding:0;
    list-style:none;
}

.call-next li{
    position:relative;
    display:grid;
    grid-template-columns:52px 1fr;
    gap:18px;
    min-height:83px;
}

.call-next li:not(:last-child)::after{
    position:absolute;
    top:46px;
    bottom:0;
    left:23px;
    width:1px;
    background:rgba(255,255,255,.3);
    content:"";
}

.call-next li > span{
    position:relative;
    z-index:1;
    display:grid;
    width:44px;
    height:44px;
    place-items:center;
    border-radius:50%;
    background:#5d5d5d;
    font-size:13px;
    font-weight:600;
}

.call-next h3{
    margin:3px 0 0;
    font-size:13px;
}

.call-next p{
    margin:8px 0 0;
    color:var(--call-muted);
    font-size:11px;
    line-height:1.55;
}

.call-testimonial{
    margin-top:12px;
    padding-top:21px;
    border-top:1px solid rgba(255,255,255,.22);
    background:transparent;
}

.call-testimonial > h2{
    color:var(--call-text);
    -webkit-text-fill-color:var(--call-text);
    font-size:clamp(20.4px,1.53vw,26.35px);
    opacity:.75;
}

.call-testimonial-slides{
    position:relative;
    min-height:138px;
    margin-top:16px;
}

.call-testimonial blockquote{
    position:absolute;
    inset:0;
    max-width:310px;
    margin:0;
    font:500 clamp(18px,1.45vw,24px)/1.32 "Helvetica Neue",Helvetica,Arial,sans-serif;
    opacity:0;
    transform:translateY(8px);
    transition:opacity .55s ease,transform .55s ease;
    pointer-events:none;
}

.call-testimonial blockquote.is-active{
    opacity:1;
    transform:none;
    pointer-events:auto;
}

.call-dots{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:23px;
}

.call-dots span{
    width:16px;
    height:16px;
    border-radius:50%;
    background:rgba(255,255,255,.45);
}

.call-dots .is-active{
    background:#fff;
}

.call-footer{
    display:flex;
    min-height:74px;
    align-items:center;
    justify-content:space-between;
    padding:0 clamp(28px,4vw,74px);
    background:#171717;
}

.call-footer span{
    font-size:12px;
    font-weight:600;
    letter-spacing:.34em;
}

.call-footer small{
    color:var(--call-muted);
}

@media (max-width:800px){
    .call-layout{
        grid-template-columns:1fr;
    }

    .call-aside{
        min-height:700px;
    }

    .call-aside-panel{
        max-width:560px;
        margin-left:auto;
    }
}

@media (max-width:700px){
    .call-header{
        min-height:74px;
        padding:8px 20px;
    }

    .call-header img{
        width:72px;
        height:52px;
    }

    .call-header p{
        font-size:11px;
    }

    .call-main{
        padding:42px 22px 56px;
    }

    .call-intro h1{
        font-size:38px;
    }

    .call-form{
        grid-template-columns:1fr;
        gap:26px;
        width:calc(100% - 16px);
        margin-right:auto;
        margin-left:auto;
        margin-top:38px;
    }

    .call-field,
    .call-field-full{
        grid-column:1;
    }

    .call-phone-group{
        grid-template-columns:1fr 1.25fr;
    }

    .call-aside{
        min-height:620px;
        padding:36px 20px;
    }

    .call-aside-panel{
        padding:32px 24px;
        transform:none;
    }

    .call-footer{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
        padding-top:24px;
        padding-bottom:24px;
    }
}
/* REQUEST A CALL — REMOVE CHROME AUTOFILL BLUE */

html body input:-webkit-autofill,
html body input:-webkit-autofill:hover,
html body input:-webkit-autofill:focus,
html body input:-webkit-autofill:active,
html body textarea:-webkit-autofill,
html body textarea:-webkit-autofill:hover,
html body textarea:-webkit-autofill:focus,
html body select:-webkit-autofill,
html body select:-webkit-autofill:hover,
html body select:-webkit-autofill:focus {
    -webkit-text-fill-color: #ffffff !important;
    caret-color: #ffffff !important;

    /* Removes Chrome’s blue autofill paint */
    -webkit-background-clip: text !important;
    background-clip: text !important;

    -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
    box-shadow: 0 0 0 1000px transparent inset !important;

    background-color: transparent !important;
    background-image: none !important;
    border-radius: 0 !important;

    transition:
        background-color 999999s ease-in-out 0s,
        color 999999s ease-in-out 0s !important;
}

/* Keep the underline design */
html body input:-webkit-autofill,
html body textarea:-webkit-autofill,
html body select:-webkit-autofill {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.7) !important;
}

/* COUNTRY CODE — KEEP + SIGN VISIBLE */

.call-dial-input {
    display: flex;
    align-items: center;
    width: 100%;
    border-bottom: 1px solid var(--call-line);
}

.call-dial-input > span {
    flex: 0 0 auto;
    padding-bottom: 6px;
    color: #fff;
    font: 500 12px/1.35 "Inter", sans-serif;
}

.call-dial-input input {
    flex: 1;
    width: 100%;
    padding: 0 0 6px 2px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.call-dial-input:focus-within {
    border-bottom-color: #fff;
    box-shadow: 0 1px 0 #fff;
}
/* REQUEST A CALL — MAKE ALL ENTERED VALUES MATCH LABEL OPACITY */

.call-page .call-field input,
.call-page .call-field select,
.call-page .call-field textarea,
.call-page #callDialCode,
.call-page #callPhone {
    color: rgba(255, 255, 255, 0.68) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.68) !important;
    opacity: 1 !important;
}

/* Keep placeholder text at the same opacity */
.call-page .call-field input::placeholder,
.call-page .call-field textarea::placeholder {
    color: rgba(255, 255, 255, 0.68) !important;
    opacity: 1 !important;
}

/* Country-code plus sign, if still present */
.call-page .call-dial-input > span {
    color: rgba(255, 255, 255, 0.68) !important;
}

/* Chrome autofill must also match */
.call-page input:-webkit-autofill,
.call-page input:-webkit-autofill:hover,
.call-page input:-webkit-autofill:focus,
.call-page textarea:-webkit-autofill,
.call-page select:-webkit-autofill {
    -webkit-text-fill-color: rgba(255, 255, 255, 0.68) !important;
}
/* COUNTRY CODE — MATCH OTHER FORM PLACEHOLDERS */

#callDialCode,
#membershipDialCode {
    color: rgba(255, 255, 255, 0.68) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.68) !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: 0 !important;
    opacity: 1 !important;
}

/* Keep the opened dropdown readable */
#callDialCode option,
#membershipDialCode option {
    background: #ffffff !important;
    color: #171717 !important;
    -webkit-text-fill-color: #171717 !important;
    font-weight: 400 !important;
}

/* Autofilled values replace their labels rather than sitting beneath them. */
.call-field:has(input:-webkit-autofill) > span,
.call-field:has(textarea:-webkit-autofill) > span,
.call-field:has(select:-webkit-autofill) > span {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: none !important;
}

/* Match Chrome autofill to the existing dark Request a Call form surface. */
.call-page input:-webkit-autofill,
.call-page input:-webkit-autofill:hover,
.call-page input:-webkit-autofill:focus,
.call-page input:-webkit-autofill:active,
.call-page textarea:-webkit-autofill,
.call-page textarea:-webkit-autofill:hover,
.call-page textarea:-webkit-autofill:focus,
.call-page select:-webkit-autofill,
.call-page select:-webkit-autofill:hover,
.call-page select:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
    box-shadow: 0 0 0 1000px transparent inset !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    transition: background-color 99999s ease-out 0s !important;
}
