/* Original Duru Creative visual language, rebuilt without theme/plugin bundles. */




:root {
    --ink:#000;
    --text:#4c4c4c;
    --muted:#707070;
    --line:#e1e1e1;
    --content:1300px
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    background:#fff;
    color:var(--text);
    font:400 15px/1.6 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
    -webkit-font-smoothing:antialiased
}

a {
    color:inherit;
    text-decoration:none
}

a:hover {
    color:#000
}

img {
    max-width:100%;
    height:auto;
    vertical-align:middle
}

button,input,select,textarea {
    font:inherit
}

button {
    cursor:pointer
}

h1,h2,h3 {
    color:#000;
    font-weight:700;
    text-transform:uppercase;
    line-height:1.2
}

h1 {
    font-size:50px
}

h2 {
    font-size:35px
}

h3 {
    font-size:22px
}

p {
    margin:0 0 20px
}

button,.button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:16px 30px;
    border:1px solid #000;
    background:#fff;
    color:#000;
    text-transform:uppercase;
    font-size:13px;
    font-weight:700;
    letter-spacing:.02em;
    line-height:1.4;
    transition:background-color .2s,color .2s
}

.button:hover,button:hover {
    background:#000;
    color:#fff
}

:focus-visible {
    outline:3px solid #126acf;
    outline-offset:5px
}

[hidden] {
    display:none!important
}

.sr-only,.skip {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip-path:inset(50%);
    white-space:nowrap;
    border:0
}

.skip:focus {
    position:fixed;
    top:10px;
    left:10px;
    width:auto;
    height:auto;
    padding:12px;
    background:#fff;
    color:#000;
    clip-path:none;
    z-index:100
}

/* 100px white header, original black wordmark and nine-square opener. */
.site-header {
    height:100px;
    padding:0 50px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    background:#fff;
    position:relative;
    z-index:20
}

.brand {
    display:flex;
    align-items:center;
    flex:none
}

.brand img {
    width:200px;
    height:32px;
    object-fit:contain
}

.desktop-nav {
    flex:1;
    max-width:1050px;
    margin-left:20px
}

.desktop-nav>ul {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    list-style:none;
    margin:0;
    padding:0
}

.desktop-nav li {
    position:relative
}

.desktop-nav>ul>li>a {
    display:block;
    padding:36px 0;
    font-size:13px;
    font-weight:700;
    text-transform:uppercase;
    color:#000;
    white-space:nowrap;
    position:relative
}

.desktop-nav>ul>li>a::before {
    content:'+';
    position:absolute;
    left:-12px;
    opacity:0;
    transform:rotate(-90deg);
    transition:.2s
}

.desktop-nav>ul>li>a:hover::before,.desktop-nav>ul>li>a:focus-visible::before {
    opacity:1;
    transform:rotate(0)
}

.submenu {
    position:absolute;
    top:100%;
    left:-20px;
    min-width:270px;
    margin:0;
    padding:24px 20px;
    background:#fff;
    border:1px solid #eee;
    box-shadow:0 6px 12px #0001;
    list-style:none;
    display:none
}

.submenu a {
    display:block;
    padding:7px 0;
    font-size:13px
}

.has-submenu:hover .submenu,.has-submenu:focus-within .submenu {
    display:block
}

.menu-toggle {
    flex:none;
    padding:0;
    width:32px;
    height:32px;
    border:0;
    background:transparent;
    color:#000
}

.menu-toggle:hover {
    background:transparent;
    color:#000
}

.menu-toggle svg {
    fill:currentColor
}

.menu-drawer {
    position:fixed;
    inset:0 0 0 auto;
    width:460px;
    max-width:100%;
    height:100dvh;
    max-height:100dvh;
    margin:0;
    padding:70px 48px;
    border:0;
    background:#fff;
    color:#000;
    overflow:auto
}

.menu-drawer::backdrop {
    background:#0006
}

.menu-close {
    position:absolute;
    right:24px;
    top:20px;
    border:0;
    background:transparent;
    font-size:36px;
    font-weight:300;
    padding:0 8px
}

.menu-drawer>nav:not(.language) {
    display:flex;
    flex-direction:column;
    gap:16px;
    margin:48px 0;
    font-size:18px;
    font-weight:700;
    text-transform:uppercase
}

.menu-drawer>.button {
    margin-bottom:24px
}

.language {
    display:flex;
    gap:16px;
    font-size:12px;
    margin-top:24px
}

/* Original full-width portfolio slider with the white information panel. */
.portfolio-slider {
    margin:0 50px;
    position:relative;
    height:calc(100svh - 100px);
    min-height:530px;
    padding:0;
    overflow:hidden;
    background:#eee
}

.slider-stage,.slider-image,.slider-image>a {
    height:100%;
    width:100%
}

.slider-image {
    position:absolute;
    inset:0;
    margin:0
}

.slider-image img {
    height:100%;
    width:100%;
    object-fit:cover
}

.slider-image.is-active {
    animation:slide-reveal .65s cubic-bezier(.46,.03,.52,.96)
}

.slider-tabs {
    position:absolute;
    bottom:0;
    right:0;
    width:50%;
    display:flex;
    gap:20px;
    background:#fff;
    padding:41px 24px 30px 100px;
    z-index:2
}

.slide-select {
    display:block;
    flex:1;
    min-width:0;
    text-align:left;
    padding:0;
    border:0;
    background:transparent;
    color:#aaa;
    text-transform:none;
    letter-spacing:0
}

.slide-select:hover {
    background:transparent;
    color:#000
}

.slide-select.is-active {
    color:#000
}

.slide-number {
    display:block;
    font-size:15px;
    font-weight:700;
    line-height:25px
}

.slide-title {
    display:block;
    font-size:17px;
    line-height:1.3;
    font-weight:700;
    text-transform:uppercase;
    margin:12px 0 6px
}

.slide-subtitle {
    display:block;
    font-size:13px;
    font-weight:300;
    font-style:italic;
    line-height:1.6;
    color:#aaa
}

.slide-select.is-active .slide-subtitle {
    color:#707070
}

.slider-arrows {
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    display:flex;
    flex-direction:column;
    z-index:3
}

.slider-arrows button {
    border:0;
    padding:10px 18px;
    font-size:23px;
    font-weight:300;
    background:#fff;
    color:#000
}

.slider-arrows button:hover {
    background:#eee
}

@keyframes slide-reveal {
    from {
        clip-path:inset(0 0 100% 0)
    }

    to {
        clip-path:inset(0)
    }

}

/* Outlined moving text; one semantic-free DOM node, repeats are CSS generated. */
.marquee {
    font-family:system-ui,sans-serif;
    overflow:hidden;
    padding:70px 0;
    user-select:none
}

.marquee-track {
    display:flex;
    width:max-content;
    animation:marquee 50s linear infinite
}

.marquee span {
    font-weight:700;
    font-size:100px;
    line-height:1;
    white-space:nowrap;
    -webkit-text-stroke:2px #222;
    color:transparent
}

.marquee span::after {
    content:attr(data-repeat)
}

.marquee:hover .marquee-track {
    animation-play-state:paused
}

.marquee-services {
    padding:0 0 90px;
    margin-top:-25px
}

@keyframes marquee {
    to {
        transform:translateX(-50%)
    }

}

/* Two-column portfolio, native image proportions and the original stagger. */
.home-projects,.home-seo,.page-title,.site-public main>section:not(.portfolio-slider):not(.service-showcase),.prose {
    width:min(var(--content),calc(100% - 100px));
    margin-left:auto;
    margin-right:auto
}

.home-projects {
    padding:0 0 116px
}

.cards {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:70px 80px;
    margin:0
}

.card {
    min-width:0
}

.card-image {
    display:block;
    overflow:hidden
}

.card-image img {
    display:block;
    width:100%;
    height:auto;
    transition:transform .7s cubic-bezier(.215,.61,.355,1)
}

.card-image:hover img {
    transform:scale(1.035)
}

.card-text {
    margin-top:24px
}

.card h3 {
    margin:0 0 5px;
    font-size:17px;
    line-height:25px
}

.card p {
    color:#707070;
    font-size:13px
}

.cards-portfolio .card:nth-child(even) {
    margin-top:85px
}

.project-type {
    font-size:14px;
    font-style:italic;
    font-weight:300;
    text-transform:capitalize;
    color:#707070
}

.cards-blog {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0
}

.cards-blog .card { padding:55px 35px; }
.cards-blog .card:nth-child(3n+2) { background:#ebebeb; }
.cards-blog h3 { font-size:21px; line-height:1.4; }

.cards-reference {
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:50px
}

.cards-reference img {
    height:150px;
    object-fit:contain
}

.cards-reference h3 {
    font-size:14px
}

.cards-service .card:nth-child(odd) {
    background:#ebebeb
}

.cards-service .card {
    padding:30px
}

.cards-service .card-image {
    display:none
}

.cards-service h3 {
    font-size:17px
}

.cards-service p {
    font-size:15px
}

.cards-project .card:nth-child(even) {
    margin-top:85px
}

/* Interactive service list and image showcase without a slider dependency. */
.service-showcase {
    display:grid;
    grid-template-columns:44.5% 55.5%;
    align-items:center;
    min-height:760px;
    padding:50px 0 100px;
    width:100%;
    gap:0
}

.showcase-list {
    padding:0 60px 0 max(50px,calc((100vw - 1300px)/2));
}

.service-row {
    position:relative;
    padding:13px 0;
    border-bottom:1px solid #e1e1e1
}

.service-row:first-child {
    border-top:1px solid #e1e1e1
}

.service-row p {
    font-size:13px;
    font-style:italic;
    font-weight:300;
    color:#707070;
    margin:0
}

.service-row h3 {
    font-size:35px;
    margin:3px 0 17px;
    line-height:1.2
}

.service-row a {
    position:relative;
    isolation:isolate
}

.service-row a::before {
    content:'';
    position:absolute;
    inset:0 60% 0 0;
    background:#f1f1f1;
    z-index:-1;
    transition:inset .2s
}

.service-row.is-active a::before,.service-row a:hover::before,.service-row a:focus-visible::before {
    inset:0
}

.showcase-images {
    height:620px;
    position:relative;
    overflow:hidden
}

.showcase-image {
    position:absolute;
    inset:0;
    display:block;
    height:100%
}

.showcase-image img {
    width:100%;
    height:100%;
    object-fit:cover
}

.showcase-image.is-active {
    animation:showcase-reveal .7s cubic-bezier(.46,.03,.52,.96)
}

@keyframes showcase-reveal {
    from {
        clip-path:inset(0 100% 0 0)
    }

    to {
        clip-path:inset(0)
    }

}

.home-seo {
    padding:0 0 80px
}

.home-seo>p {
    max-width:760px
}

.home-posts {
    margin-top:80px
}

.home-posts h2 {
    font-size:28px;
    margin-bottom:35px
}

/* Original centered page headings and airy inner-page content. */
.page-title {
    text-align:center;
    padding:100px 0 80px
}

.page-title h1 {
    margin:0
}

.site-public main>section:not(.portfolio-slider):not(.service-showcase):not(.page-title):not(.home-projects):not(.home-seo) {
    padding-bottom:80px
}

.site-public main>section>h2 {
    font-size:25px;
    margin-bottom:35px
}

.site-public main>section>nav {
    margin-top:50px;
    display:flex;
    gap:24px
}

.prose {
    max-width:1000px;
    padding:0 0 90px
}

.prose>img {
    display:block;
    width:100%;
    margin-bottom:40px
}

.prose a {
    text-decoration:underline;
    text-underline-offset:3px
}

.prose h2 {
    font-size:28px;
    margin:40px 0 20px
}

.prose h3 {
    font-size:21px;
    margin:30px 0 16px
}

.prose table {
    width:100%;
    border-collapse:collapse
}

.prose th,.prose td {
    border:1px solid #ddd;
    padding:14px;
    text-align:left
}

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

.contact h2 {
    font-size:35px
}

.contact a {
    text-decoration:underline
}

form {
    max-width:700px
}

label {
    display:block;
    margin:18px 0 6px
}

input,select,textarea {
    display:block;
    width:100%;
    padding:14px 18px;
    border:1px solid #ccc;
    background:#fff;
    border-radius:0;
    color:#000
}

input[type=checkbox] {
    display:inline;
    width:auto
}

.check {
    display:flex;
    gap:10px;
    align-items:baseline;
    font-size:13px
}

form button {
    margin-top:24px
}

.honeypot {
    position:absolute;
    left:-10000px
}

.error,[role=alert] {
    padding:15px;
    border:1px solid #a12b2b;
    margin-bottom:20px
}

.success {
    padding:15px;
    border:1px solid #346c20
}

.admin-table {
    width:100%;
    border-collapse:collapse
}

.admin-table td,.admin-table th {
    padding:10px;
    border-bottom:1px solid #ccc;
    text-align:left
}

.admin-nav {
    display:flex;
    gap:12px;
    flex-wrap:wrap
}

/* Four-column dark footer and the small black copyright strip. */
.site-footer {
    background:#080808;
    color:#ccc
}

.footer-columns {
    width:min(var(--content),calc(100% - 100px));
    margin:auto;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:40px;
    padding:76px 0 53px
}

.footer-columns>div>h2 {
    font-size:17px;
    color:#fff;
    margin:12px 0 20px
}

.footer-columns img {
    width:150px;
    height:32px;
    object-fit:contain;
    margin-bottom:24px
}

.footer-columns p {
    font-size:13px;
    line-height:1.8;
    margin-bottom:16px
}

.footer-columns nav {
    display:flex;
    flex-direction:column;
    gap:7px
}

.footer-columns a {
    font-size:13px
}

.footer-columns a:hover {
    color:#fff
}

.footer-columns .social-links {
    flex-direction:row;
    gap:15px;
    flex-wrap:wrap;
    margin-top:20px
}

.social-links a {
    font-size:11px
}

.text-button {
    padding:0;
    display:block;
    text-align:left;
    font-size:12px;
    font-weight:400;
    text-transform:none;
    letter-spacing:0;
    border:0;
    background:transparent;
    color:#ccc;
    justify-content:flex-start
}

.text-button:hover {
    background:transparent;
    color:#fff
}

.footer-bottom {
    background:#000;
    padding:24px;
    text-align:center;
    font-size:12px;
    color:#ccc
}

.footer-bottom a:hover {
    color:#fff
}

.quick {
    position:fixed;
    bottom:20px;
    right:20px;
    z-index:9;
    display:flex;
    gap:8px
}

.quick a {
    padding:10px 15px;
    background:#000;
    color:#fff;
    border:1px solid #fff3;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase
}

.consent {
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    background:#fff;
    color:#333;
    border-top:1px solid #ddd;
    box-shadow:0 -3px 20px #0001;
    padding:20px 50px;
    z-index:50;
    font-size:13px
}

.consent p {
    max-width:1100px;
    margin-bottom:12px
}

.consent a {
    text-decoration:underline
}

.consent button {
    padding:11px 20px;
    margin-right:12px;
    font-size:11px
}

@media(max-width:1440px) {
    :root {
        --content:1100px
    }

    .site-header {
        gap:24px
    }

    .brand img {
        width:200px
    }

    .desktop-nav {
        margin-left:0
    }

    .desktop-nav>ul {
        gap:18px
    }

    .slider-tabs {
        padding-left:77px
    }

    .slide-title {
        font-size:17px
    }

    .service-row h3 {
        font-size:30px
    }

}

@media(max-width:1200px) {
    :root {
        --content:960px
    }

    .site-header {
        gap:20px
    }

    .desktop-nav>ul {
        gap:13px
    }

    .desktop-nav>ul>li>a {
        font-size:11px
    }

    .brand img {
        width:136px
    }

    .slider-tabs {
        padding:25px 20px
    }

    .marquee span {
        font-size:85px
    }

    .showcase-list {
        padding-left:50px;
        padding-right:40px
    }

    .service-row h3 {
        font-size:26px
    }

    .cards {
        gap:60px
    }

    .footer-columns {
        gap:25px
    }

}

@media(max-width:1024px) {
    :root {
        --content:768px
    }

    .site-header {
        height:70px;
        padding:0 7%
    }

    .desktop-nav {
        display:none
    }

    .brand img {
        width:136px;
        height:32px
    }

    .portfolio-slider {
        margin:0 7%;
        height:calc(100svh - 70px);
        min-height:500px
    }

    .slider-tabs {
        width:65%;
        gap:18px
    }

    .slide-title {
        font-size:13px
    }

    .slide-subtitle {
        font-size:11px
    }

    .marquee span {
        font-size:70px
    }

    .cards {
        gap:55px 45px
    }

    .service-row h3 {
        font-size:22px
    }

    .showcase-list {
        padding-left:7%;
        padding-right:30px
    }

    .showcase-images {
        height:500px
    }

    .service-showcase {
        min-height:650px
    }

    .footer-columns {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:40px
    }

    .page-title {
        padding:80px 0 60px
    }

    .page-title h1 {
        font-size:39px
    }

    .contact {
        gap:40px
    }

    .contact h2 {
        font-size:28px
    }

}

@media(max-width:768px) {
    :root {
        --content:600px
    }

    .home-projects,.home-seo,.page-title,.site-public main>section:not(.portfolio-slider):not(.service-showcase),.prose,.footer-columns {
        width:86%
    }

    .cards-blog {
        grid-template-columns:1fr
    }

    .cards-reference {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .cards-portfolio,.cards-project {
        gap:40px 25px
    }

    .card h3 {
        font-size:15px
    }

    .cards-portfolio .card:nth-child(even),.cards-project .card:nth-child(even) {
        margin-top:50px
    }

    .service-showcase {
        display:block;
        min-height:0;
        padding:0 7% 70px
    }

    .showcase-list {
        padding:0
    }

    .showcase-images {
        display:none
    }

    .service-row h3 {
        font-size:30px
    }

    .home-projects {
        padding-bottom:80px
    }

    .marquee {
        padding:55px 0
    }

    .marquee span {
        font-size:60px
    }

    .marquee-services {
        margin-top:0;
        padding:0 0 60px
    }

    .slider-tabs {
        width:100%;
        padding:20px
    }

    .slider-arrows {
        top:45%
    }

    .contact {
        grid-template-columns:1fr;
        gap:30px
    }

    .page-title h1 {
        font-size:32px
    }

    .home-seo>h2 {
        font-size:28px
    }

    .consent {
        padding:20px 7%
    }

    .consent button {
        margin-top:5px
    }

    .footer-columns {
        padding:60px 0 45px
    }

    .prose h2 {
        font-size:24px
    }

}

@media(max-width:540px) {
    .portfolio-slider {
        min-height:430px;
        max-height:720px
    }

    .slider-stage {
        height:100%
    }

    .slider-tabs {
        gap:12px;
        padding:22px 16px
    }

    .slide-title {
        font-size:11px
    }

    .slide-number {
        font-size:12px
    }

    .slide-subtitle {
        font-size:10px
    }

    .slider-arrows button {
        padding:7px 12px;
        font-size:20px
    }

    .cards {
        grid-template-columns:1fr;
        gap:45px
    }

    .cards-portfolio .card:nth-child(even),.cards-project .card:nth-child(even) {
        margin-top:0
    }

    .cards-reference {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

    .footer-columns {
        grid-template-columns:1fr;
        gap:30px
    }

    .menu-drawer {
        padding:65px 30px
    }

    .menu-drawer>nav:not(.language) {
        font-size:16px;
        margin:35px 0
    }

    .quick {
        bottom:12px;
        right:12px
    }

    .page-title h1 {
        font-size:28px
    }

    .prose {
        overflow-wrap:anywhere
    }

    .prose table {
        display:block;
        overflow:auto
    }

    .marquee span {
        font-size:52px
    }

}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }

    *,*::before,*::after {
        animation:none!important;
        transition:none!important
    }

}

/* Delivery revision: legibility, keyboard focus, mobile CTA, consent and service copy. */
:root{--muted:#595959} [hidden]{display:none!important} :focus-visible{outline:3px solid #0759bd;outline-offset:4px}
body{overflow-wrap:break-word} .site-header{position:sticky;top:0;background:#fff;z-index:50;gap:20px}
.header-cta{white-space:nowrap;padding:12px 16px;margin-left:auto;font-size:12px;background:#111;color:#fff}.header-cta:hover{color:#fff;background:#333}
.hero-intro{max-width:1300px;margin:0 auto;padding:58px 32px 38px}.hero-intro h1{max-width:900px;font-size:clamp(30px,4vw,58px);margin:12px 0 22px;text-transform:none;letter-spacing:-.04em}.hero-intro>p{max-width:680px;font-size:18px}.eyebrow{font-size:12px!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#595959}
.service-summary{max-width:580px;font-size:14px!important;line-height:1.6!important;text-transform:none!important;opacity:1!important;color:#4c4c4c!important}.service-row{padding-top:18px;padding-bottom:18px}.service-row h3{font-size:clamp(20px,2.2vw,32px)}
.drawer-brand,.footer-brand{font-size:26px;font-weight:800;letter-spacing:-.04em}.drawer-brand{margin:22px 0}
.prose a:not(.button){text-decoration:underline;text-underline-offset:3px}.prose h2{font-size:27px;text-transform:none}.prose h3{font-size:21px;text-transform:none}.prose p{line-height:1.85}.prose>img{max-height:650px;object-fit:contain;width:100%}
.package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.package-card{border:1px solid #d8d8d8;padding:24px!important;margin:0!important}.package-price{font-weight:700;color:#111}.package-card .button{padding:12px 16px}.content-cta{padding:28px;margin-top:40px;background:#f4f4f4}.content-cta .button{margin-bottom:18px}
.proof-section{max-width:1300px;margin:auto;padding:36px 32px}.cards-reference{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.card-reference .card-image{background:#fff;min-height:80px}.card-reference img{object-fit:contain;max-height:110px;width:100%}.testimonial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.testimonial-grid blockquote{margin:0;border:1px solid #ddd;padding:24px}
.pagination{display:flex;justify-content:center;align-items:center;gap:24px;margin:32px 0}.pagination a{text-decoration:underline}.map-panel{border:1px solid #ddd;padding:20px;margin-top:22px;min-height:180px}.map-panel iframe{display:block;width:100%;height:320px;border:0}.map-panel button{padding:12px;font-size:12px}.map-directions{text-decoration:underline}.form-error{background:#fff3f0;color:#8d1c08;padding:18px}.form-note{margin-top:16px;font-size:12px}.check input{flex:0 0 auto}.contact input,.contact textarea,.contact select{min-width:0;max-width:100%}.article-byline{font-size:13px;color:#555}
.consent{position:fixed;bottom:18px;left:18px;right:auto;z-index:1000;width:min(640px,calc(100vw - 36px));max-height:85dvh;overflow:auto;padding:22px;background:#fff;color:#222;border:1px solid #b7b7b7;box-shadow:0 8px 40px #0002}.consent p{font-size:14px;line-height:1.65;margin-bottom:14px}.consent a{text-decoration:underline}.consent-choices{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:16px}.consent-choices label{display:flex;align-items:center;gap:8px}.consent-choices input{width:18px;height:18px}.consent-actions{display:flex;flex-wrap:wrap;gap:8px}.consent-actions button{font-size:11px;padding:10px 12px}.quick{z-index:60}.quick a{background:#111;color:#fff;border:1px solid #fff}
.marquee-track span:before{content:attr(data-repeat) ' / ' attr(data-repeat) ' / '}.marquee-track span:after{content:' / ' attr(data-repeat) ' / ' attr(data-repeat)}
@media(max-width:1100px){.desktop-nav{display:none}.header-cta{display:inline-flex}.site-header{padding:16px 22px}.menu-toggle{display:inline-flex}.package-grid{grid-template-columns:1fr}.cards-reference{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.site-header{gap:10px;padding:14px 16px}.brand{max-width:140px;flex-shrink:1}.brand img{width:140px;height:auto}.header-cta{font-size:10px;padding:10px;white-space:normal;text-align:center;max-width:115px}.menu-toggle{min-width:35px;padding:6px}.hero-intro{padding:32px 22px}.hero-intro>p{font-size:16px}.page-title h1{font-size:30px}.page-title{padding-left:22px;padding-right:22px}.prose{padding-left:22px;padding-right:22px}.cards-reference{grid-template-columns:repeat(2,minmax(0,1fr))}.testimonial-grid{grid-template-columns:1fr}.quick{right:10px;bottom:10px}.quick a{padding:9px 12px;font-size:12px}.proof-section{padding:30px 22px}.footer-bottom{padding-bottom:80px}.consent{bottom:10px;left:10px;width:calc(100vw - 20px);padding:16px}.consent-actions button{flex:1}.contact{display:block}.contact>div{margin-bottom:34px}.contact form{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Rich content saved by CKEditor; no remote fonts or editor JavaScript on public pages. */
.rich-content{overflow-wrap:anywhere}.rich-content:after{content:"";display:block;clear:both}.rich-content img{max-width:100%;height:auto}.rich-content figure{max-width:100%;margin:1.5em auto}.rich-content figure.image img{display:block;width:100%;height:auto}.rich-content figure.image{display:table;clear:both;max-width:100%}.rich-content figure.image.image_resized{display:block}.rich-content figcaption{font-size:.875em;line-height:1.6;text-align:center;color:#555;padding:.6em}.rich-content .image-style-side,.rich-content .image-style-align-right,.rich-content .image-style-block-align-right{float:right;max-width:50%;margin-left:1.5em}.rich-content .image-style-align-left,.rich-content .image-style-block-align-left{float:left;max-width:50%;margin-right:1.5em}.rich-content .image-style-align-center{margin-left:auto;margin-right:auto}.rich-content table{border-collapse:collapse;max-width:100%;width:100%;margin:1.25em 0}.rich-content figure.table{display:block;overflow-x:auto}.rich-content th,.rich-content td{border:1px solid #c9cdd3;padding:.65em;min-width:2em;text-align:inherit}.rich-content th{background:#f1f3f6;font-weight:700}.rich-content pre{white-space:pre-wrap;overflow-x:auto;background:#f3f4f7;border-radius:8px;padding:1em}.rich-content code{font-family:ui-monospace,Consolas,monospace;font-size:.9em}.rich-content blockquote{border-left:3px solid #ff4e25;margin:1.5em 0;padding:.25em 1.3em;font-style:italic}.rich-content h4,.rich-content h5,.rich-content h6{line-height:1.4;margin:1.6em 0 .6em}.rich-content ul,.rich-content ol{padding-left:1.75em}.rich-content .marker-yellow{background:#fdf08a}.rich-content .marker-green{background:#bfe8b5}.rich-content .marker-pink{background:#f5b5cc}.rich-content .marker-blue{background:#adddf8}.rich-content .pen-red{color:#b52522;background:none}.rich-content .pen-green{color:#246b38;background:none}.rich-content .text-tiny{font-size:.7em}.rich-content .text-small{font-size:.85em}.rich-content .text-big{font-size:1.4em}.rich-content .text-huge{font-size:1.8em}.content-media{border:1px solid #d9dde5;background:#f5f6f8;padding:20px;text-align:center;border-radius:10px}.content-media iframe{display:block;border:0;width:100%;height:auto;aspect-ratio:16/9}.content-media button{margin:8px;padding:12px 18px}.content-media a{display:inline-block;margin:8px}.slide-caption{position:absolute;bottom:24px;left:24px;right:24px;background:rgba(255,255,255,.96);padding:16px 20px;text-align:left;border-radius:10px;max-height:40%;overflow:auto}.slide-caption p{color:#242936;font-size:16px;line-height:1.5;margin:0 0 12px}.contact .social-links{margin:20px 0;display:flex;flex-wrap:wrap;gap:14px}.quote-status-error{color:#a32121;font-weight:600}@media(max-width:700px){.rich-content .image-style-side,.rich-content .image-style-align-right,.rich-content .image-style-align-left{float:none;max-width:100%;margin-left:auto;margin-right:auto}.slide-caption{position:relative;bottom:auto;left:auto;right:auto;border-radius:0;padding:12px;max-height:none}.slider-image:has(.slide-caption) img{object-fit:contain}.rich-content th,.rich-content td{padding:.45em}}
