:root{--ink:#2e2925;--muted:#6e6259;--paper:#fbf6ef;--cream:#f0e3d5;--clay:#a85f45;--clay-dark:#793f2c;--sage:#78806d;--white:#fff;--shadow:0 18px 50px rgba(74,45,31,.12);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}*{box-sizing:border-box}body{margin:0}a{color:var(--clay-dark)}.site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;max-width:1180px;margin:auto;padding:1.4rem 2rem}.brand{font-family:Georgia,serif;font-size:1.35rem;text-decoration:none;color:var(--ink)}nav{display:flex;align-items:center;gap:1.35rem}nav a{text-decoration:none;color:var(--ink)}main{max-width:1180px;margin:auto;padding:2rem}.hero{min-height:68vh;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:4rem;padding:4rem 2rem 6rem}.hero h1,.page-intro h1{font:clamp(2.5rem,6vw,5.5rem)/1.05 Georgia,serif;margin:.2em 0;overflow-wrap:break-word;word-break:normal;text-wrap:balance}.hero--subpage{min-height:auto;padding:3.5rem 2rem 2rem;grid-template-columns:1fr;gap:1.5rem}.hero--subpage h1{font:clamp(1.9rem,4vw,3.2rem)/1.18 var(--aleksi-heading, Georgia,serif);margin:.2em 0 .4em;max-width:24ch;word-break:normal;overflow-wrap:break-word;text-wrap:balance}.hero--subpage .lead{font-size:1.15rem;line-height:1.6;max-width:48rem}.hero .lead{font-size:1.25rem;color:var(--muted);max-width:48rem}.hero img{width:100%;max-height:650px;object-fit:cover;border-radius:50% 50% 7rem 7rem;box-shadow:var(--shadow)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--clay);font-weight:700;font-size:.8rem}.button{display:inline-block;border:0;border-radius:999px;padding:.8rem 1.2rem;background:var(--clay);color:#fff;text-decoration:none;font-weight:700;cursor:pointer}.button:hover{background:var(--clay-dark)}.button.secondary{background:var(--sage)}.button.small{padding:.5rem .9rem}.content-card,.cards article,.price-list{background:var(--white);padding:clamp(1.25rem,4vw,2.5rem);border-radius:1.4rem;box-shadow:var(--shadow);margin:1.5rem 0}.content-card h2,.cards h2,.price-list h2{font-family:Georgia,serif}.page-intro{padding:4rem 0 2rem}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem}.cards article{margin:0}.price-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--cream)}.price-list small{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:1.5rem}label{display:grid;gap:.35rem;margin:.9rem 0;font-weight:650}input,textarea,select{width:100%;border:1px solid #cbbcad;border-radius:.65rem;padding:.75rem;background:#fff;font:inherit;color:inherit}textarea{resize:vertical}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.demo-banner,.notice{padding:.75rem 1.25rem;text-align:center;background:#2e2925;color:#fff}.notice.error{background:#8a2f2f}.admin{max-width:980px}.admin-top,.actions{display:flex;justify-content:space-between;align-items:center;gap:1rem}.actions{justify-content:flex-start;flex-wrap:wrap;margin:1.5rem 0}.actions form{margin:0}.row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem;border:0;padding:0}.auth-card{max-width:460px;margin:8vh auto;background:#fff;border-radius:1.4rem;box-shadow:var(--shadow);padding:2rem}.check{display:flex;grid-template-columns:auto 1fr;align-items:center}.check input{width:auto}footer{margin-top:5rem;background:var(--ink);color:#fff;padding:2rem;text-align:center}footer a{color:#fff}@media(max-width:760px){.site-header{align-items:flex-start;flex-direction:column;padding:1rem}nav{width:100%;overflow:auto;gap:1rem}.hero{grid-template-columns:1fr;gap:2rem;min-height:auto;padding:3rem 1rem}.hero img{order:-1;max-height:420px}.contact-grid{grid-template-columns:1fr}main{padding:1rem}.row{grid-template-columns:1fr}.admin-top{align-items:flex-start;flex-direction:column}.actions{align-items:stretch;flex-direction:column}.actions .button,.actions form{width:100%;text-align:center}}
.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:2.5rem;background:var(--white);padding:clamp(1.5rem,3.5vw,2.5rem);border-radius:1.8rem;box-shadow:0 20px 50px rgba(74,45,31,0.08);border:1px solid rgba(168,95,69,0.12);margin:2rem auto}
.contact-grid .content-card{background:transparent;box-shadow:none;margin:0;padding:0;border-radius:0}
.contact-card--form{padding-left:2.5rem;border-left:1px solid var(--cream)}
.contact-card--info{display:flex;flex-direction:column}
.contact-card__lead{color:var(--muted);font-size:1rem;margin:0.35rem 0 1.25rem}
.contact-methods{display:flex;flex-direction:column;gap:0.75rem}
.contact-method-item{display:flex;align-items:center;gap:1rem;padding:0.85rem 1.15rem;border-radius:1rem;background:var(--paper);border:1px solid rgba(168,95,69,0.15);text-decoration:none;color:var(--ink);transition:all 0.2s cubic-bezier(0.16,1,0.3,1)}
.contact-method-item:hover{background:#fff;border-color:var(--clay);transform:translateY(-2px);box-shadow:0 8px 24px rgba(74,45,31,0.1);color:var(--clay-dark)}
.contact-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--cream);color:var(--clay-dark);flex-shrink:0;transition:background-color 0.2s ease,color 0.2s ease}
.contact-method-item:hover .contact-icon{background:var(--clay);color:#fff}
.contact-icon svg{width:22px;height:22px}
.contact-method-text{display:flex;flex-direction:column;flex-grow:1;min-width:0}
.contact-label{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);font-weight:700}
.contact-value{font-size:1.02rem;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contact-arrow{color:var(--clay);font-size:1.15rem;font-weight:700;transition:transform 0.2s ease;margin-left:auto}
.contact-method-item:hover .contact-arrow{transform:translate(3px,-3px);color:var(--clay-dark)}
.contact-card__cta{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--cream)}
.contact-card__cta .button{display:block;width:100%;text-align:center}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr;gap:2rem;padding:1.5rem}.contact-card--form{padding-left:0;border-left:0;padding-top:2rem;border-top:1px solid var(--cream)}}

/* Animated Action Buttons & Links */
.section-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1.5rem;
}

.button--outline {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.4rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none !important;
    background: rgba(255, 255, 255, 0.9) !important;
    color: var(--clay, #4a6755) !important;
    border: 2px solid var(--clay, #4a6755) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 2px 10px rgba(74, 103, 85, 0.08);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: pointer;
}

.button--outline,
.button--outline span,
.button--outline * {
    color: var(--clay, #4a6755) !important;
}

.button--outline:hover {
    background: var(--clay, #4a6755) !important;
    color: #fff !important;
    border-color: var(--clay, #4a6755) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(74, 103, 85, 0.25);
}

.button--outline:hover,
.button--outline:hover span,
.button--outline:hover * {
    color: #fff !important;
}

/* Cover hero with dark photo background */
.hero--cover:has(.cover-image) .button--outline {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.75) !important;
}

.hero--cover:has(.cover-image) .button--outline,
.hero--cover:has(.cover-image) .button--outline span,
.hero--cover:has(.cover-image) .button--outline * {
    color: #fff !important;
}

.button--outline:active {
    transform: translateY(0);
}

/* Frontpage Glass Pill Button with Dark Contrast Text */
.hero .button--glass,
.button--glass {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.4rem;
    border-radius: 999px;
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none !important;
    background: rgba(255, 255, 255, 0.92);
    color: #24312c !important;
    border: 1.5px solid rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: pointer;
}

.hero .button--glass *,
.button--glass * {
    color: #24312c !important;
}

.hero .button--glass:hover,
.button--glass:hover {
    background: #ffffff;
    color: #111827 !important;
    border-color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25);
}

.hero .button--glass:hover *,
.button--glass:hover * {
    color: #111827 !important;
}

.button--glass:active {
    transform: translateY(0);
}

.btn-arrow {
    display: inline-block;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.button--outline:hover .btn-arrow,
.button--glass:hover .btn-arrow {
    transform: translate(3px, -3px);
}

.btn-arrow--down {
    display: inline-block;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.button:hover .btn-arrow--down,
.button--outline:hover .btn-arrow--down {
    transform: translateY(3px);
}

/* Service Details Cards Button */
.service-details .cards article {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.service-details .card-copy {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.service-card__action {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1.5rem;
    padding: 0.6rem 1.25rem;
    border-radius: 999px;
    background: var(--cream, #f0e3d5);
    color: var(--clay-dark, #793f2c) !important;
    border: 1px solid rgba(168, 95, 69, 0.22);
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
    width: fit-content;
    box-shadow: 0 2px 8px rgba(74, 45, 31, 0.06);
}

.service-card__action:hover {
    background: var(--clay, #a85f45);
    color: #fff !important;
    border-color: var(--clay, #a85f45);
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(121, 63, 44, 0.22);
}

.service-card__action .btn-arrow {
    display: inline-block;
    transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.service-card__action:hover .btn-arrow {
    transform: translateY(-3px);
}

/* Frontpage service overview action pill */
.service-link__action {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-top: 1rem;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--clay-dark, #793f2c);
    padding: 0.45rem 1rem;
    border-radius: 999px;
    background: rgba(168, 95, 69, 0.08);
    border: 1px solid rgba(168, 95, 69, 0.18);
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
    width: fit-content;
}

.service-link:hover .service-link__action {
    background: var(--clay, #a85f45);
    color: #fff !important;
    border-color: var(--clay, #a85f45);
    transform: translateX(4px);
    box-shadow: 0 4px 12px rgba(121, 63, 44, 0.18);
}

.service-link__action span:last-child {
    display: inline-block;
    transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.service-link:hover .service-link__action span:last-child {
    transform: translate(2px, -2px);
}

/* Headings text-wrapping and compound word protection */
h1, h2, h3, .section-title, .page-intro h1, .hero h1 {
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-wrap: balance;
    hyphens: manual;
}

/* Portfolio Hero with Portrait beside Name */
.hero--portfolio {
    min-height: 70vh;
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    align-items: center;
    gap: 3.5rem;
    padding: 4rem 2rem 5rem;
}

.hero--portfolio .hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.hero--portfolio .hero__media {
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero-portrait {
    width: 100%;
    max-width: 440px;
    height: auto;
    max-height: 520px;
    object-fit: cover;
    border-radius: 2rem;
    box-shadow: 0 20px 50px rgba(30, 40, 34, 0.16), 0 4px 16px rgba(30, 40, 34, 0.08);
    border: 3px solid rgba(255, 255, 255, 0.85);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
}

.hero-portrait:hover {
    transform: translateY(-4px);
    box-shadow: 0 28px 65px rgba(30, 40, 34, 0.22);
}

@media (max-width: 920px) {
    .hero--portfolio {
        grid-template-columns: 1fr;
        gap: 2.5rem;
        min-height: auto;
        padding: 3rem 1.25rem 3.5rem;
        text-align: center;
    }
    .hero--portfolio .hero__content {
        align-items: center;
    }
    .hero--portfolio .hero__media {
        order: -1;
    }
    .hero-portrait {
        max-width: 280px;
        max-height: 340px;
        margin: 0 auto;
    }
    .hero--portfolio .section-actions {
        justify-content: center;
    }
}

/* Modern Experience Cards */
.experience-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.75rem;
    margin-top: 1.5rem;
}

.service-card,
.service-overview-card {
    background: var(--white);
    border-radius: 1.5rem;
    border: 1px solid rgba(74, 103, 85, 0.12);
    box-shadow: 0 12px 36px rgba(30, 40, 34, 0.06);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    margin: 0 !important;
    height: 100%;
}

.service-card:hover,
.service-overview-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 48px rgba(30, 40, 34, 0.12);
    border-color: var(--clay, #4a6755);
}

.service-card .service-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 2rem 1.75rem;
    text-decoration: none !important;
    color: var(--ink);
}

.service-card__icon,
.service-card-top svg {
    display: flex;
    align-items: center;
    justify-content: center;
}

.service-card__icon {
    width: 58px;
    height: 58px;
    border-radius: 1rem;
    background: var(--paper, #f2f5f3);
    color: var(--clay, #4a6755);
    margin-bottom: 1.25rem;
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.service-card-top {
    margin-bottom: 1rem;
}

.service-card-top svg {
    width: 44px !important;
    height: 44px !important;
    stroke: var(--clay, #4a6755);
    margin-bottom: 0.75rem;
}

.service-card__icon svg {
    width: 32px;
    height: 32px;
}

.service-card:hover .service-card__icon {
    background: var(--clay, #4a6755);
    color: #fff;
    transform: scale(1.05);
}

.service-card h3,
.service-card-top h3 {
    font-size: 1.22rem;
    line-height: 1.35;
    margin: 0 0 0.75rem 0;
    font-family: inherit;
    font-weight: 700;
    color: var(--ink);
    text-decoration: none !important;
}

.service-card__content,
.service-card-body {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.6;
}

.service-card__lead {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--clay, #4a6755);
    margin: 0 0 0.85rem 0;
    line-height: 1.45;
    padding-bottom: 0.5rem;
    border-bottom: 1px dashed rgba(74, 103, 85, 0.2);
}

.service-card__list {
    margin: 0;
    padding-left: 1.2rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    color: var(--ink);
}

.service-card__list li {
    line-height: 1.5;
    font-size: 0.9rem;
    color: var(--muted);
}

.service-card__footer,
.service-card-footer {
    margin-top: auto !important;
    padding-top: 1.5rem;
    border-top: none;
}

.service-link__action {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--clay, #4a6755) !important;
    padding: 0.45rem 1rem;
    border-radius: 999px;
    background: rgba(74, 103, 85, 0.08);
    border: 1px solid rgba(74, 103, 85, 0.2);
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
    width: fit-content;
    text-decoration: none !important;
}

.service-card:hover .service-link__action {
    background: var(--clay, #4a6755);
    color: #fff !important;
    border-color: var(--clay, #4a6755);
    transform: translateX(4px);
    box-shadow: 0 4px 12px rgba(74, 103, 85, 0.25);
}

/* Contact Profile Avatar Header */
.contact-profile-header {
    display: flex;
    align-items: center;
    gap: 1.15rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid rgba(74, 103, 85, 0.12);
}

.contact-avatar {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    object-fit: cover;
    border: 2.5px solid var(--clay, #4a6755);
    box-shadow: 0 4px 14px rgba(30, 40, 34, 0.12);
    flex-shrink: 0;
}

.contact-profile-header h2 {
    margin: 0;
    font-size: 1.5rem;
    line-height: 1.2;
    color: var(--ink);
}

.contact-subtitle {
    margin: 0.25rem 0 0 0;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--clay, #4a6755);
}

/* Header Navigation & Contact Actions */
.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    max-width: 1180px;
    margin: auto;
    padding: 1.25rem 2rem;
}

.site-header__nav-wrap {
    display: flex;
    align-items: center;
    gap: 1.75rem;
}

.site-header__nav {
    display: flex;
    align-items: center;
    gap: 1.35rem;
}

.site-header__nav a {
    text-decoration: none;
    color: var(--ink);
    font-weight: 500;
    font-size: 0.95rem;
    transition: color 0.15s ease;
}

.site-header__nav a:hover,
.site-header__nav a[aria-current="page"] {
    color: var(--clay, #4a6755);
}

.site-header__actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.header-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    background: rgba(74, 103, 85, 0.08);
    border: 1px solid rgba(74, 103, 85, 0.2);
    color: var(--ink) !important;
    text-decoration: none !important;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.header-pill svg,
.header-pill .line-icon {
    width: 15px !important;
    height: 15px !important;
    stroke: currentColor;
    stroke-width: 2;
    flex-shrink: 0;
}

.header-pill:hover {
    background: var(--clay, #4a6755);
    color: #ffffff !important;
    border-color: var(--clay, #4a6755);
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(74, 103, 85, 0.2);
}

.header-pill:hover svg {
    stroke: #ffffff;
}

@media (max-width: 860px) {
    .site-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.85rem;
        padding: 1rem;
    }
    .site-header__nav-wrap {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.85rem;
    }
    .site-header__nav {
        width: 100%;
        overflow-x: auto;
        padding-bottom: 0.25rem;
        gap: 1.15rem;
    }
    .site-header__actions {
        width: 100%;
        flex-wrap: wrap;
        gap: 0.5rem;
    }
}

/* Header Social Links */
.social-links {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.social-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(74, 103, 85, 0.08);
    color: var(--ink);
    text-decoration: none;
    transition: all 0.2s ease;
}

.social-links a:hover {
    background: var(--clay, #4a6755);
    color: #fff !important;
    transform: translateY(-1px);
}

.social-links svg,
.social-links .line-icon {
    width: 17px !important;
    height: 17px !important;
}

/* Compact Modern Portfolio Footer */
footer.site-footer {
    margin-top: 3.5rem;
    background: var(--ink, #1e2822);
    color: rgba(255, 255, 255, 0.85);
    padding: 1.75rem 2rem 1.25rem;
    text-align: left;
}

.site-footer__inner {
    max-width: 1180px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1.15rem;
}

.site-footer__main {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.25rem;
}

.site-footer__brand-block {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.site-footer__brand {
    font-family: var(--aleksi-heading, Georgia, serif);
    font-size: 1.2rem;
    font-weight: 700;
    color: #ffffff !important;
    text-decoration: none;
    letter-spacing: -0.01em;
}

.site-footer__brand:hover {
    color: #9ac2a8 !important;
}

.site-footer__meta {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.65);
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.site-footer__meta-dot {
    opacity: 0.45;
}

.site-footer__nav {
    display: flex;
    align-items: center;
    gap: 1.35rem;
    flex-wrap: wrap;
}

.site-footer__nav a {
    color: rgba(255, 255, 255, 0.82) !important;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    transition: color 0.15s ease;
}

.site-footer__nav a:hover {
    color: #ffffff !important;
    text-decoration: underline;
}

.site-footer__linkedin {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #9ac2a8 !important;
}

.site-footer__linkedin svg {
    width: 14px;
    height: 14px;
}

.site-footer__sub {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.5);
    flex-wrap: wrap;
    gap: 1rem;
}

.site-footer__copyright {
    margin: 0;
    color: rgba(255, 255, 255, 0.5);
}

.site-footer__contacts {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
}

.site-footer__contact-item {
    color: rgba(255, 255, 255, 0.65) !important;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.8rem;
    transition: color 0.15s ease;
}

.site-footer__contact-item:hover {
    color: #ffffff !important;
}

.site-footer__contact-item svg {
    width: 13px;
    height: 13px;
    opacity: 0.8;
}

.site-footer__top-btn {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.8rem;
    cursor: pointer;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    transition: color 0.15s ease;
    font-family: inherit;
}

.site-footer__top-btn:hover {
    color: #ffffff;
}

@media (max-width: 768px) {
    footer.site-footer {
        padding: 1.5rem 1.25rem 1.25rem;
        margin-top: 2.5rem;
    }
    .site-footer__main {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
    .site-footer__nav {
        gap: 0.85rem;
    }
    .site-footer__sub {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
}

/* Heading Word Wrap & Hyphenation Prevention */
.hero h1,
.hero--subpage h1,
.page-intro h1 {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: manual !important;
    text-wrap: balance;
}

.hero--subpage h1 {
    font-size: clamp(1.8rem, 5vw, 3rem) !important;
    line-height: 1.15 !important;
    max-width: 100% !important;
}



