/* ciitalia public experience. Shared tokens and components, no framework required. */
:root {
    --bk-ink:#202c29;
    --bk-muted:#65716b;
    --bk-accent:#245c46;
    --bk-tint:#eaf2ed;
    --bk-line:#dfe5df;
    --bk-canvas:#f6f7f4;
    --bk-white:#fff;
    --bk-radius:20px;
    --bk-shadow:0 8px 28px #21382b06
}

* {
    box-sizing:border-box
}

.bk-public {
    margin:0;
    background:var(--bk-canvas);
    color:var(--bk-ink);
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:15px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased
}

.bk-public a {
    color:inherit
}

.bk-public button,.bk-public input,.bk-public textarea {
    font:inherit
}

.bk-public button,.bk-public summary {
    cursor:pointer
}

.bk-public [hidden] {
    display:none!important
}

.bk-public :focus-visible {
    outline:3px solid #538e71;
    outline-offset:4px
}

.bk-nav,.bk-main,.bk-footer {
    max-width:1160px;
    margin:auto;
    padding-left:32px;
    padding-right:32px
}

.bk-nav {
    height:96px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid var(--bk-line);
    gap:20px
}

.bk-brand {
    display:flex;
    align-items:center;
    font-size:27px;
    font-weight:750;
    letter-spacing:-1.3px;
    text-decoration:none
}

.bk-mark {
    display:inline-grid;
    place-items:center;
    margin-right:10px;
    width:33px;
    height:33px;
    border-radius:10px;
    background:var(--bk-accent);
    color:white;
    font-size:25px;
    letter-spacing:-2px;
    padding-right:3px
}

.bk-brand-dot {
    color:var(--bk-accent)
}

.bk-nav-link {
    font-size:13px;
    text-decoration:none;
    color:var(--bk-muted)!important
}

.bk-nav-link:hover {
    color:var(--bk-accent)!important
}

.bk-nav-link span {
    margin-left:12px
}

.bk-main {
    padding-top:32px;
    padding-bottom:80px
}

.bk-back {
    font-size:13px;
    text-decoration:none;
    color:var(--bk-muted)!important;
    display:inline-flex;
    gap:10px;
    align-items:center
}

.bk-back:hover {
    text-decoration:underline
}

.bk-page-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    margin:36px 0 42px
}

.bk-eyebrow {
    font-size:10px;
    letter-spacing:1.8px;
    font-weight:750;
    color:var(--bk-accent);
    margin:0 0 16px
}

.bk-page-heading h1 {
    font-size:clamp(32px,4vw,48px);
    font-weight:600;
    letter-spacing:-1.8px;
    line-height:1.17;
    margin:0
}

.bk-page-heading h1 span {
    color:var(--bk-muted);
    font-weight:400
}

.bk-business {
    display:flex;
    gap:14px;
    max-width:290px;
    align-items:center
}

.bk-business-icon {
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    flex-shrink:0;
    border:1px solid var(--bk-line);
    border-radius:14px;
    font-size:22px;
    font-weight:600;
    background:white
}

.bk-business h2 {
    font-size:15px;
    margin:0 0 4px;
    overflow-wrap:anywhere
}

.bk-business p {
    font-size:12px;
    color:var(--bk-muted);
    margin:0
}

.bk-booking-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) 325px;
    gap:28px;
    align-items:start
}

.bk-form-column {
    min-width:0;
    display:grid;
    gap:20px
}

.bk-panel,.bk-summary-card {
    border:1px solid var(--bk-line);
    border-radius:var(--bk-radius);
    background:white;
    padding:30px;
    box-shadow:var(--bk-shadow)
}

.bk-section-heading {
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin-bottom:24px
}

.bk-step {
    width:30px;
    height:30px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:var(--bk-tint);
    color:var(--bk-accent);
    font-size:11px;
    font-weight:700;
    flex-shrink:0
}

.bk-section-heading h2 {
    font-size:19px;
    letter-spacing:-.45px;
    margin:0 0 3px;
    font-weight:600
}

.bk-section-heading p {
    font-size:12px;
    color:var(--bk-muted);
    margin:0
}

.bk-options,.bk-staff-options {
    border:0;
    padding:0;
    margin:0;
    min-width:0
}

.bk-options {
    display:grid;
    gap:10px
}

.bk-choice {
    position:relative;
    display:block;
    cursor:pointer
}

.bk-choice input {
    position:absolute;
    opacity:0;
    width:1px;
    height:1px
}

.bk-choice-content {
    display:flex;
    gap:12px;
    align-items:center;
    border:1px solid var(--bk-line);
    border-radius:12px;
    padding:16px;
    transition:background .15s,border-color .15s
}

.bk-choice-content>span:first-child {
    flex:1;
    min-width:0
}

.bk-choice-content strong {
    display:block;
    font-weight:550;
    font-size:14px;
    overflow-wrap:anywhere
}

.bk-choice-content small {
    display:block;
    color:var(--bk-muted);
    font-size:11px;
    margin-top:4px
}

.bk-price {
    font-size:14px;
    font-weight:600;
    white-space:nowrap
}

.bk-radio-dot {
    width:17px;
    height:17px;
    border:1px solid #adb8b0;
    border-radius:50%;
    flex-shrink:0
}

.bk-choice:hover .bk-choice-content,.bk-choice:hover .bk-staff-chip {
    border-color:#8aab99
}

.bk-choice input:checked+.bk-choice-content {
    background:var(--bk-tint);
    border-color:var(--bk-accent)
}

.bk-choice input:checked+.bk-choice-content .bk-radio-dot {
    border:5px solid var(--bk-accent);
    background:white
}

.bk-choice input:focus-visible+span {
    outline:3px solid #538e71;
    outline-offset:3px
}

.bk-staff-options {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:26px
}

.bk-staff-options legend {
    font-size:12px;
    font-weight:600;
    margin-bottom:12px;
    width:100%
}

.bk-staff-options legend span,.bk-notes summary span {
    color:var(--bk-muted);
    font-weight:400;
    margin-left:6px;
    font-size:11px
}

.bk-staff-chip {
    display:flex;
    align-items:center;
    gap:8px;
    min-height:44px;
    border:1px solid var(--bk-line);
    border-radius:30px;
    padding:9px 14px;
    font-size:12px;
    transition:background .15s,border-color .15s
}

.bk-staff-chip img {
    height:24px;
    width:24px;
    object-fit:cover;
    border-radius:50%
}

.bk-choice input:checked+.bk-staff-chip {
    background:var(--bk-accent);
    border-color:var(--bk-accent);
    color:white
}

.bk-label {
    display:block;
    font-size:12px;
    font-weight:600;
    margin-bottom:8px
}

.bk-public .form-control,.bk-public input[type=date],.bk-public input[type=time],.bk-public textarea {
    display:block;
    min-width:0;
    width:100%;
    min-height:46px;
    border:1px solid var(--bk-line);
    border-radius:10px;
    padding:11px 13px;
    background:#fff;
    color:var(--bk-ink);
    font-size:14px;
    box-shadow:none
}

.bk-public input::placeholder,.bk-public textarea::placeholder {
    color:#8a948e
}

.bk-public input[type=date] {
    max-width:260px;
    min-height:48px
}

.bk-time-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:24px
}

.bk-time-heading h3 {
    font-size:12px;
    margin:0;
    font-weight:600
}

.bk-hint {
    font-size:12px;
    color:var(--bk-muted);
    margin:8px 0 16px
}

.bk-slots {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(76px,1fr));
    gap:8px
}

.bk-slot {
    border:1px solid var(--bk-line);
    border-radius:9px;
    background:white;
    color:var(--bk-ink);
    padding:11px 8px;
    min-height:44px;
    font-size:13px!important;
    font-weight:550;
    transition:background .15s,border-color .15s
}

.bk-slot:hover {
    border-color:var(--bk-accent)
}

.bk-slot[aria-pressed=true] {
    background:var(--bk-accent);
    color:white;
    border-color:var(--bk-accent)
}

.bk-slots[aria-busy=true] {
    opacity:.55
}

.bk-text-button {
    border:0;
    background:none;
    color:var(--bk-accent);
    padding:8px;
    font-size:12px!important;
    text-decoration:underline
}

.bk-contact-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px
}

.bk-wide {
    grid-column:1/-1
}

.bk-notes {
    margin-top:20px
}

.bk-notes summary {
    font-size:12px;
    padding:8px 0
}

.bk-notes textarea {
    margin-top:10px;
    resize:vertical
}

.bk-summary {
    position:sticky;
    top:24px
}

.bk-summary-card {
    padding:26px
}

.bk-summary h2 {
    font-size:23px;
    letter-spacing:-.7px;
    font-weight:500;
    margin:0 0 28px
}

.bk-summary-service {
    display:grid;
    gap:4px;
    padding-bottom:22px;
    border-bottom:1px solid var(--bk-line)
}

.bk-summary-service strong {
    font-size:15px;
    font-weight:600;
    overflow-wrap:anywhere
}

.bk-summary-service span {
    font-size:12px;
    color:var(--bk-muted)
}

.bk-summary-list {
    display:grid;
    gap:16px;
    margin:24px 0
}

.bk-summary-list>div {
    display:flex;
    justify-content:space-between;
    gap:20px;
    font-size:12px
}

.bk-summary-list dt {
    color:var(--bk-muted)
}

.bk-summary-list dd {
    margin:0;
    text-align:right;
    overflow-wrap:anywhere
}

.bk-total {
    padding-top:22px;
    border-top:1px solid var(--bk-line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px
}

.bk-total span {
    font-size:12px
}

.bk-total strong {
    font-size:19px;
    letter-spacing:-.7px
}

.bk-button {
    background:var(--bk-accent);
    color:white!important;
    border:1px solid var(--bk-accent);
    border-radius:11px;
    padding:14px 18px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    width:100%;
    min-height:50px;
    font-weight:550;
    font-size:13px!important;
    text-decoration:none;
    transition:background .15s,box-shadow .15s
}

.bk-button:hover {
    background:#194732;
    box-shadow:0 4px 12px #245c461a
}

.bk-button:disabled {
    background:#e1e6e1;
    border-color:#e1e6e1;
    color:#65716b!important;
    cursor:not-allowed;
    box-shadow:none
}

.bk-submit-hint {
    font-size:11px;
    color:var(--bk-muted);
    text-align:center;
    line-height:1.65;
    margin:14px 0 0
}

.bk-help {
    text-align:center;
    padding:24px;
    font-size:12px;
    color:var(--bk-muted)
}

.bk-help h3 {
    font-size:12px;
    font-weight:550;
    color:var(--bk-ink);
    margin:0 0 6px
}

.bk-help p {
    margin:0
}

.bk-help a {
    text-underline-offset:3px
}

.bk-footer {
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding-top:24px;
    padding-bottom:30px;
    border-top:1px solid var(--bk-line);
    font-size:11px;
    color:var(--bk-muted)
}

.bk-errors,.bk-notice {
    border:1px solid #cedcd2;
    background:var(--bk-tint);
    border-radius:12px;
    padding:18px;
    font-size:13px;
    margin-bottom:16px
}

.bk-errors {
    border-color:#dcbdb4;
    background:#fff4f0;
    color:#8e3620;
    margin:0
}

.bk-errors h2 {
    font-size:16px;
    margin:0
}

.bk-errors ul {
    padding-left:20px
}

.bk-errors p {
    margin:0
}

.bk-empty {
    color:var(--bk-muted);
    font-size:13px
}

.bk-sr-only,.bk-skip:not(:focus) {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0
}

.bk-skip:focus {
    display:block;
    padding:12px
}

.bk-confirmation {
    max-width:650px;
    margin:40px auto
}

.bk-confirmation h1 {
    font-size:38px;
    letter-spacing:-1.3px;
    line-height:1.2;
    margin:10px 0 16px
}

.bk-confirmation>p {
    color:var(--bk-muted)
}

.bk-confirmation .bk-panel {
    margin-top:28px
}

.bk-confirmation .bk-summary-list>div {
    font-size:14px
}

.bk-confirmation .bk-summary-list {
    gap:20px
}

.bk-status {
    display:inline-block;
    background:var(--bk-tint);
    color:var(--bk-accent);
    border-radius:30px;
    padding:7px 13px;
    font-size:12px
}

.bk-confirmation h2 {
    font-size:20px;
    font-weight:600
}

.bk-confirmation .bk-button {
    margin-top:26px
}

.bk-confirmation-note {
    font-size:13px;
    color:var(--bk-muted);
    overflow-wrap:anywhere
}

.bk-confirmation-actions {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    margin-top:22px;
    font-size:13px
}

.bk-confirmation-actions button {
    border:0;
    background:none;
    color:var(--bk-accent);
    padding:10px
}

@media(max-width:900px) {
    .bk-booking-layout {
        grid-template-columns:minmax(0,1fr) 285px;
        gap:18px
    }
    .bk-panel {
        padding:23px
    }
    .bk-summary-card {
        padding:22px
    }
    .bk-page-heading {
        gap:24px
    }
    .bk-business {
        max-width:235px
    }
}

@media(max-width:700px) {
    .bk-nav,.bk-main,.bk-footer {
        padding-left:20px;
        padding-right:20px
    }
    .bk-nav {
        height:76px
    }
    .bk-brand {
        font-size:24px
    }
    .bk-nav-link {
        font-size:11px
    }
    .bk-nav-link span {
        margin-left:2px
    }
    .bk-main {
        padding-top:24px;
        padding-bottom:44px
    }
    .bk-page-heading {
        display:block;
        margin:26px 0
    }
    .bk-page-heading h1 {
        font-size:36px
    }
    .bk-business {
        margin-top:24px;
        max-width:100%
    }
    .bk-business-icon {
        height:38px;
        width:38px;
        font-size:18px;
        border-radius:11px
    }
    .bk-business p {
        font-size:11px
    }
    .bk-booking-layout {
        grid-template-columns:minmax(0,1fr);
        gap:20px
    }
    .bk-panel {
        padding:22px 18px;
        border-radius:16px
    }
    .bk-section-heading {
        margin-bottom:22px;
        gap:10px
    }
    .bk-section-heading h2 {
        font-size:18px
    }
    .bk-choice-content {
        padding:14px 12px;
        gap:9px
    }
    .bk-choice-content strong {
        font-size:13px
    }
    .bk-price {
        font-size:13px
    }
    .bk-contact-grid {
        grid-template-columns:1fr;
        gap:16px
    }
    .bk-public .form-control,.bk-public input[type=date],.bk-public input[type=time],.bk-public textarea {
        font-size:16px
    }
    .bk-public input[type=date] {
        max-width:100%
    }
    .bk-summary {
        position:static
    }
    .bk-summary-card {
        padding:24px
    }
    .bk-help {
        padding:22px 0 0
    }
    .bk-footer {
        flex-direction:column;
        gap:6px;
        font-size:10px
    }
    .bk-confirmation {
        margin:24px auto
    }
    .bk-confirmation h1 {
        font-size:32px
    }
}

@media(prefers-reduced-motion:reduce) {
    .bk-public * {
        transition:none!important;
        animation:none!important;
        scroll-behavior:auto!important
    }
}

@media print {
    .bk-nav,.bk-footer,.bk-confirmation-actions,.bk-button,.bk-back {
        display:none
    }
    .bk-public {
        background:white
    }
    .bk-panel {
        box-shadow:none
    }
    .bk-main {
        padding:0
    }
}

/* Booking navigation and nearby dates */
.bk-progress {
    display: flex;
    gap: 26px;
    margin: -12px 0 28px;
}
.bk-progress a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    text-decoration: none;
    color: var(--bk-muted);
}
.bk-progress span {
    display: grid;
    place-items: center;
    width: 23px;
    height: 23px;
    border: 1px solid var(--bk-line);
    border-radius: 50%;
    font-size: 10px;
}
.bk-progress [aria-current=step] {
    color: var(--bk-accent);
    font-weight: 650;
}
.bk-progress [aria-current=step] span {
    color: white;
    background: var(--bk-accent);
    border-color: var(--bk-accent);
}
.bk-quick-dates {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}
.bk-date-chip {
    border: 1px solid var(--bk-line);
    background: white;
    color: var(--bk-ink);
    padding: 10px 12px;
    min-height: 44px;
    border-radius: 10px;
    font-size: 12px !important;
}
.bk-date-chip:hover {
    border-color: var(--bk-accent);
}
.bk-date-chip[aria-pressed=true] {
    border-color: var(--bk-accent);
    background: var(--bk-tint);
    color: var(--bk-accent);
}
.bk-empty-action {
    border: 1px solid var(--bk-line);
    background: var(--bk-tint);
    color: var(--bk-accent);
    border-radius: 10px;
    padding: 12px 16px;
    margin: 0 0 16px;
}
.bk-mobile-summary { display: none; }
.bk-public h2, #bookingSummary { scroll-margin-top: 24px; }
@media (max-width: 700px) {
    .bk-progress { gap: 14px; margin-top: 0; }
    .bk-progress a { gap: 5px; font-size: 11px; }
    .bk-mobile-summary {
        display: flex;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 20;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        padding: 13px 20px calc(13px + env(safe-area-inset-bottom));
        border-top: 1px solid var(--bk-line);
        background: var(--bk-white);
        box-shadow: 0 -4px 20px #21382b08;
    }
    .bk-mobile-summary > div { min-width: 0; }
    .bk-mobile-summary strong {
        display: block;
        font-size: 12px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .bk-mobile-summary div span { display: block; font-size: 11px; color: var(--bk-muted); }
    .bk-mobile-summary a { flex-shrink: 0; font-size: 12px; padding: 10px 0; text-underline-offset: 4px; }
    .bk-public:has(.bk-mobile-summary:not([hidden])) { padding-bottom: 90px; }
    .bk-public { scroll-padding-bottom: 100px; }
}
@media print { .bk-progress, .bk-mobile-summary { display: none; } }

.bk-mobile-summary.is-at-summary { display: none; }
/* Public business page: the same visual language as the booking flow. */
.bk-business-page {padding-block:36px 48px}
.bk-business-cover {width:100%;height:280px;object-fit:cover;border-radius:20px;margin-bottom:32px}
.bk-business-heading {display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:24px}
.bk-business-heading h1 {font-size:clamp(32px,5vw,54px);line-height:1.1;letter-spacing:-1.8px;margin:12px 0}
.bk-business-heading p,.bk-business-description {color:var(--bk-muted)}
.bk-business-description {max-width:720px;line-height:1.7;margin-bottom:32px;white-space:pre-line}
.bk-business-grid {display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px}
.bk-business-page .bk-panel {padding:28px;margin-bottom:24px}
.bk-business-page h2 {font-size:23px;font-weight:600;letter-spacing:-.6px;margin:12px 0 20px}
.bk-business-services>a {display:flex;gap:16px;align-items:center;justify-content:space-between;padding:20px 0;border-top:1px solid var(--bk-line);text-decoration:none}
.bk-business-services>a:hover {color:var(--bk-accent)}
.bk-business-page small {display:block;color:var(--bk-muted);font-size:12px;margin-top:5px}
.bk-business-price {text-align:right;flex-shrink:0}
.bk-business-info {align-self:start;position:sticky;top:24px}
.bk-business-info dt {font-size:11px;color:var(--bk-muted);margin-top:20px}
.bk-business-info dd {margin:6px 0;overflow-wrap:anywhere}
.bk-business-info>p:not(.bk-eyebrow) {font-size:13px;color:var(--bk-muted)}
.bk-business-team {display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px}
.bk-business-team img,.bk-business-avatar {width:64px;height:64px;border-radius:50%;object-fit:cover;background:var(--bk-tint);color:var(--bk-accent);display:grid;place-items:center;font-size:24px;margin-bottom:12px}
.bk-business-team strong {display:block}.bk-business-team p,.bk-business-team a {font-size:13px}
.bk-business-gallery {display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.bk-business-gallery img {width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}
@media(max-width:767px){.bk-business-grid{grid-template-columns:1fr}.bk-business-page .bk-panel{padding:20px}.bk-business-heading .bk-button{width:100%}.bk-business-cover{height:190px}.bk-business-info{position:static}.bk-business-services>a{gap:10px}.bk-business-team{grid-template-columns:1fr 1fr}}

.bk-business-heading>.bk-button {width:auto}
.bk-business-grid>div {min-width:0}
@media(max-width:767px){.bk-business-heading>.bk-button{width:100%}.bk-business-services>a{flex-wrap:wrap}.bk-business-services>a>span:first-child{flex:1;min-width:120px}}
.ct-public-profile {max-width:840px;margin:auto}
.ct-public-profile>.bk-panel {margin-top:24px}
.ct-profile-heading {display:flex;align-items:center;gap:24px}
.ct-profile-heading h1 {font-size:clamp(28px,5vw,42px);letter-spacing:-1px;line-height:1.15;overflow-wrap:anywhere;margin:12px 0}
.ct-profile-avatar {width:96px;height:96px;object-fit:cover;border-radius:24px;display:grid;place-items:center;background:var(--bk-tint);color:var(--bk-accent);font-size:40px;flex-shrink:0}
.ct-profile-about {font-size:17px;white-space:pre-line;line-height:1.7;margin-block:24px}
.ct-profile-contact {display:flex;flex-wrap:wrap;gap:16px;margin:24px 0;font-size:16px;overflow-wrap:anywhere}
.ct-profile-contact a {min-height:44px;display:inline-flex;align-items:center}
.ct-profile-gallery {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ct-profile-gallery figure {margin:0}.ct-profile-gallery img {width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}
.ct-profile-gallery figcaption,.ct-profile-hint {font-size:15px;color:var(--bk-muted);margin-top:12px}
@media(max-width:600px){.ct-profile-heading{align-items:flex-start;flex-direction:column;gap:16px}.ct-profile-gallery{grid-template-columns:1fr 1fr}.ct-public-profile .bk-panel{padding:22px}}

/* Public profile: recognizable contact actions rather than bare links. */
.ct-profile-contact a{padding:10px 16px;border:1px solid var(--bk-line);border-radius:14px;background:#f8faf7;color:var(--bk-accent);text-decoration:none;gap:8px;max-width:100%;transition:background .18s,border-color .18s}
.ct-profile-contact a:hover{background:var(--bk-tint);border-color:#8dac99}.ct-profile-contact a:focus-visible{outline:3px solid #608c72;outline-offset:3px}.ct-profile-heading a{text-underline-offset:4px}.ct-profile-gallery a{display:block;border-radius:12px;overflow:hidden}.ct-profile-gallery img{transition:transform .2s}.ct-profile-gallery a:hover img{transform:scale(1.025)}
@media(prefers-reduced-motion:reduce){.ct-profile-contact a,.ct-profile-gallery img{transition:none}.ct-profile-gallery a:hover img{transform:none}}
