/* tokens.css */
@font-face {
    font-family: "Manrope";
    src: url("../fonts/Manrope-Variable.woff2") format("woff2");
    font-style: normal;
    font-weight: 200 800;
    font-display: swap;
}

:root{
    --brand-blue:#0D3D68;
    --deep-navy:#081A2C;
    --night-black:rgba(0,0,0,.58);
    --warm-paper:#F4F2ED;
    --soft-stone:#E9E5DE;
    --graphite:#1D2733;
    --white:#fff;
    --accent:#FF9737;
    --font-heading:"Manrope",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --font-body: "Manrope", ui-sans-serif, system-ui, sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    --font-base:var(--font-heading);
    --container:1280px;
    --container-narrow:860px;
    --container-content:1200px;
    --s-1:.5rem;
    --s-2:1rem;
    --s-3:1.5rem;
    --s-4:2rem;
    --s-5:3rem;
    --s-6:4rem;
    --s-7:6rem;
    --s-8:8rem;
    --s-9:10rem;
    --radius-sm:8px;
    --radius-md:12px;
    --radius-lg:18px;
    --radius-pill:999px;
    --easing:cubic-bezier(.2,.8,.2,1);
    --header-top:24px;
    --header-x:40px
}

/* base.css */
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--deep-navy);color:var(--white);font-family:var(--font-heading);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body.nav-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}p{font-family:var(--font-body);font-weight:400;line-height:1.72;font-size: clamp(.95rem, .92rem + .15vw, 1.0625rem);;opacity:1}h1,h2,h3{font-family:var(--font-heading);margin:0;font-weight:760;line-height:.95;letter-spacing:-.06em}h1{font-size:clamp(3.5rem,8.2vw,8.6rem);max-width:1100px}h2{font-size:clamp(2.3rem, 4.4vw, 4.8rem);max-width:1000px}h3{font-size:clamp(1.5rem,2.2vw,2.4rem);letter-spacing:-.045em}.headline-accent{color:var(--accent)}.eyebrow{margin:0 0 var(--s-3);font-size:.72rem;line-height:1;letter-spacing:.18em;text-transform:uppercase;font-weight:760;opacity:.72}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link:focus{position:fixed;z-index:9999;top:1rem;left:1rem;width:auto;height:auto;clip:auto;padding:.75rem 1rem;background:#fff;color:var(--brand-blue);border-radius:var(--radius-sm)}address{font-style:normal}.entry-content>*+*{margin-top:1.4em}.entry-content h2,.entry-content h3{color:var(--brand-blue);margin-top:1.6em}.entry-content a{text-decoration:underline;text-underline-offset:.2em}.entry-content img{border-radius:var(--radius-lg)}

/* v2.1.1 — content lists consistent with Atelion typography */
.entry-content ul:not(.menu):not(.sub-menu):not(.pricing-grid):not(.wp-block-navigation__container):not(.wp-block-navigation__submenu-container) {
    margin: 1.25rem 0;
    padding-left: 1.35rem;
    font-family: var(--font-body);
    font-size: clamp(1rem, .96rem + .18vw, 1.125rem);
    font-weight: 400;
    line-height: 1.65;
    opacity: .82;
}

.entry-content ul:not(.menu):not(.sub-menu):not(.pricing-grid):not(.wp-block-navigation__container):not(.wp-block-navigation__submenu-container) > li {
    padding-left: .35rem;
}

.entry-content ul:not(.menu):not(.sub-menu):not(.pricing-grid):not(.wp-block-navigation__container):not(.wp-block-navigation__submenu-container) > li + li {
    margin-top: .55rem;
}

.entry-content ul:not(.menu):not(.sub-menu):not(.pricing-grid):not(.wp-block-navigation__container):not(.wp-block-navigation__submenu-container) > li::marker {
    color: var(--accent);
    font-size: .9em;
}

.entry-content ul ul {
    margin-top: .55rem;
    margin-bottom: .55rem;
}

/* layout.css */
.container{width:min(100% - 2rem,var(--container));margin-inline:auto}.container--narrow{width:min(100% - 2rem,var(--container-narrow))}.container--content{width:min(100% - 2rem,var(--container-content));margin-inline:auto}.scene{position:relative;overflow:clip;padding-block:clamp(5rem,10vw,var(--s-9))}.scene--center{min-height:100svh;display:grid;place-items:center;text-align:center}.scene--brand{background:var(--brand-blue);color:var(--white)}.scene--blue{background:var(--deep-navy);color:var(--white)}.scene--navy{background:#050E18;color:var(--white)}.scene--paper{background:var(--warm-paper);color:var(--brand-blue)}.scene--light{background:var(--soft-stone);color:var(--graphite)}.section-heading{margin-bottom:var(--s-7)}.section-heading__lead{max-width:650px;margin-top:var(--s-4)}.hero-scene{min-height:100svh;display:flex;align-items:center;padding-top:150px;padding-bottom:80px}.hero-scene__inner{position:relative;z-index:2}.hero-copy{width:min(100%,1100px)}.hero-lead{max-width:720px;margin-top:var(--s-4)}.hero-actions,.showcase-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:var(--s-5)}.hero-wordmark{position:absolute;left:50%;bottom:-1.5vw;width:100vw;transform:translateX(-50%);opacity:.8;pointer-events:none}.about-scene__grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(380px,.78fr);gap:var(--s-7);align-items:center}.showcase{display:grid;grid-template-columns:minmax(0,.78fr) minmax(380px,1fr);gap:var(--s-7);align-items:center}.process-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:var(--s-7);align-items:start}.sticky-column{position:sticky;top:120px}.testimonials-layout,.contact-layout{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:var(--s-7);align-items:start}.newsletter-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-7);align-items:center}@media(max-width:1100px){:root{--header-x:24px}.about-scene__grid,.showcase,.process-layout,.testimonials-layout,.contact-layout,.newsletter-layout{grid-template-columns:1fr}.sticky-column{position:relative;top:auto}}@media(max-width:820px){:root{--header-top:16px;--header-x:16px;--s-9:6.5rem}.hero-scene{padding-top:130px}h1{font-size:clamp(3.1rem,13vw,6rem)}}

/* components.css */
/*
AUDIT v4:
- .btn typography is now defined in the main rule (Manrope 650).
- Desktop, submenu and mobile menu typography is defined at source.
- No font-variation-settings are used for weight.
- Historical visual refinements remain intact to avoid changing approved layout.
*/
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.15rem;border:1px solid transparent;border-radius:var(--radius-lg);font-family:var(--font-body);font-size:.80rem;font-weight:650;line-height:1;text-transform:uppercase;letter-spacing:.075em;transition:transform .3s var(--easing),background .3s var(--easing),color .3s var(--easing),border-color .3s var(--easing)}.btn:hover{transform:translateY(-2px)}.btn--light{background:#fff;color:var(--brand-blue);border-color:#fff}.btn--primary{background:var(--brand-blue);color:#fff;border-color:var(--brand-blue)}.btn--secondary,.btn--secondary-light{background:transparent;border-color:currentColor;color:currentColor}.btn--header{min-height:48px;background:#fff;color:var(--graphite);transition:min-height .38s var(--easing),padding .38s var(--easing),font-size .38s var(--easing),transform .3s var(--easing),background .3s var(--easing),color .3s var(--easing)}.text-link{display:inline-flex;font-weight:760;color:var(--brand-blue)}.text-link--light{color:#fff}.site-header{position:fixed;z-index:1000;top:var(--header-top);left:50%;right:auto;width:min(calc(100% - 2rem),var(--container));transform:translateX(-50%);pointer-events:none;transition:top .38s var(--easing),width .38s var(--easing)}.site-header__layout{display:grid;grid-template-columns:220px minmax(0,1fr) auto;align-items:center;gap:10px;padding:.35rem;background:rgb(5 14 24 / 50%);border:none;backdrop-filter:blur(22px) saturate(118%);-webkit-backdrop-filter:blur(22px) saturate(118%);box-shadow:0 14px 45px rgba(0,0,0,.13);border-radius:var(--radius-lg);pointer-events:auto;transition:padding .38s var(--easing),border-radius .38s var(--easing)}.header-panel{pointer-events:auto;background:transparent;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;border-radius:calc(var(--radius-lg) - 4px);transition:min-height .38s var(--easing),padding .38s var(--easing),transform .38s var(--easing)}.header-panel--logo{min-height:64px;padding:.55rem 1.15rem;display:flex;align-items:center}.site-logo img{width:auto;height:42px;transition:height .38s var(--easing)}.header-panel--nav{justify-self:center;min-height:64px;padding:.5rem 1.35rem;display:flex;align-items:center}.menu{list-style:none;margin:0;padding:0}.menu--primary{display:flex;gap:2.6rem;align-items:center;font-family:var(--font-body);font-size:.86rem;font-weight:700;text-transform:uppercase;letter-spacing:-.005em;transition:gap .38s var(--easing),font-size .38s var(--easing)}.menu--primary a{color:rgba(255,255,255,.84);transition:color .25s var(--easing)}.menu--primary a:hover{color:rgba(255,255,255,.96)}.header-panel--actions{min-height:64px;padding:.5rem;display:flex;align-items:center;gap:.45rem}.icon-button{display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:var(--radius-md);background:rgba(255,255,255,.08);color:#fff;cursor:pointer;transition:width .38s var(--easing),height .38s var(--easing),transform .3s var(--easing),background .3s var(--easing)}.language-switcher{display:flex;gap:.2rem}.language-switcher a{display:grid;place-items:center;min-width:34px;height:34px;border-radius:var(--radius-sm);font-size:.76rem;font-weight:760;transition:min-width .38s var(--easing),height .38s var(--easing),font-size .38s var(--easing),background .3s var(--easing)}.language-switcher a[aria-current=true]{background:rgba(255,255,255,.12)}.nav-toggle{display:none}.nav-toggle span{display:block;width:18px;height:2px;background:currentColor;margin:2px}.site-header.is-scrolled{top:10px}.site-header.is-scrolled .site-header__layout{padding:.22rem}.site-header.is-scrolled .header-panel{min-height:48px}.site-header.is-scrolled .header-panel--logo{padding-block:.3rem}.site-header.is-scrolled .site-logo img{height:27px}.site-header.is-scrolled .header-panel--nav{padding-block:.25rem}.site-header.is-scrolled .menu--primary{font-size:.84rem;gap:1.55rem}.site-header.is-scrolled .header-panel--actions{padding-block:.25rem;gap:.3rem}.site-header.is-scrolled .icon-button{width:40px;height:40px}.site-header.is-scrolled .btn--header{min-height:40px;padding-inline:1rem;font-size:.84rem}.mobile-menu,.search-overlay{position:fixed;z-index:1100;background:rgba(5,14,24,.92);backdrop-filter:blur(24px);color:#fff}.mobile-menu{top:86px;left:1rem;right:1rem;padding:1.5rem;border-radius:var(--radius-lg)}.menu--mobile{display:grid;gap:1rem;font-family:var(--font-body);font-size:clamp(1.5rem,7vw,2.5rem);font-weight:500;text-transform:none;letter-spacing:-.015em}.search-overlay{inset:0;display:grid;place-items:center;padding:2rem}.search-overlay__close{position:absolute;top:1.5rem;right:1.5rem}.search-form{width:min(100%,760px);display:flex;gap:.75rem}.search-form label{flex:1}.search-form input{width:100%;min-height:58px;padding:0 1.2rem;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:#fff}.site-footer__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-6)}.site-footer__contact{display:grid;align-content:start;gap:var(--s-3)}.site-footer__bottom{display:flex;justify-content:space-between;gap:1rem;padding-top:var(--s-5);margin-top:var(--s-6);border-top:1px solid rgba(255,255,255,.12)}.menu--legal{display:flex;gap:1rem;flex-wrap:wrap}.back-to-top{position:fixed;right:24px;bottom:24px;z-index:900;width:50px;height:50px;border:none;border-radius:var(--radius-lg);color:#fff;background:rgba(0,0,0,.5);backdrop-filter:blur(20px);opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s var(--easing)}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:none}.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:var(--s-5)}.filter-chip{border:1px solid currentColor;background:transparent;color:inherit;border-radius:var(--radius-pill);padding:.65rem 1rem;cursor:pointer}.filter-chip.is-active{background:var(--brand-blue);color:#fff}.faq-list{display:grid;gap:.85rem}.faq-item{border:1px solid rgba(13,61,104,.12);border-radius:var(--radius-lg);background:rgba(255,255,255,.44);overflow:hidden}.faq-item h3{font-size:1rem;letter-spacing:0}.faq-item button{width:100%;display:flex;justify-content:space-between;padding:1.3rem 1.5rem;border:0;background:transparent;color:var(--brand-blue);font-weight:760;line-height:1.25;text-align:left;cursor:pointer}.faq-answer{padding:0 1.5rem 1.3rem}.screen-reader-text+input{}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .75s var(--easing),transform .75s var(--easing)}[data-reveal].is-visible{opacity:1;transform:none}@media(max-width:960px){.site-header{width:min(calc(100% - 2rem),var(--container))}.header-panel--nav,.header-panel--actions>.language-switcher,.header-panel--actions>.btn{display:none}.site-header__layout{grid-template-columns:minmax(0,1fr) auto}.nav-toggle{display:grid}.header-panel--actions{display:flex}.site-logo img{height:34px}}@media(max-width:560px){.btn{width:100%}.search-form{flex-direction:column}.site-footer__grid,.site-footer__bottom{display:grid;grid-template-columns:1fr}}
/* Native hidden state must win over component display declarations. */
[hidden],
.search-overlay[hidden],
.mobile-menu[hidden] {
    display: none !important;
}

body.search-open,
body.nav-open {
    overflow: hidden;
}


/* v1.0.13 — Desktop and mobile submenu support */
.menu--primary .menu-item-has-children,
.menu--mobile .menu-item-has-children {
    position: relative;
}

.menu--primary .sub-menu,
.menu--mobile .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.menu--primary .menu-item-has-children > a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}

.menu--primary .menu-item-has-children > a::after {
    content: "";
    width: .42rem;
    height: .42rem;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg) translateY(-.08rem);
    opacity: .72;
    transition: transform .28s var(--easing), opacity .28s var(--easing);
}

.menu--primary .menu-item-has-children:hover > a::after,
.menu--primary .menu-item-has-children:focus-within > a::after {
    transform: rotate(225deg) translate(-.05rem, -.05rem);
    opacity: 1;
}

.menu--primary .sub-menu {
    position: absolute;
    z-index: 30;
    top: calc(100% + 14px);
    left: 50%;
    min-width: max-content;
    width: max-content;
    max-width: min(360px, calc(100vw - 2rem));
    padding: .55rem;
    border: 0;
    border-radius: var(--radius-lg);
    background: rgb(5 14 24 / 79%);
    backdrop-filter: blur(22px) saturate(115%);
    -webkit-backdrop-filter: blur(22px) saturate(115%);
    box-shadow: 0 18px 48px rgba(0,0,0,.22);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, -8px) scale(.985);
    transform-origin: top center;
    transition:
        opacity .25s var(--easing),
        transform .25s var(--easing),
        visibility 0s linear .25s;
}

/* Invisible bridge between the main item and submenu. */
.menu--primary .sub-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -16px;
    height: 16px;
}

.menu--primary .menu-item-has-children:hover > .sub-menu,
.menu--primary .menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0) scale(1);
    transition-delay: 0s;
}

.menu--primary .sub-menu li {
    width: 100%;
}

.menu--primary .sub-menu a {
    display: block;
    width: 100%;
    padding: .82rem 1rem;
    border-radius: var(--radius-md);
    color: rgba(255,255,255,.82);
    white-space: nowrap;
    font-family: var(--font-body);
    font-size: .84rem;
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.35;
    transition:
        color .22s var(--easing),
        background .22s var(--easing),
        transform .22s var(--easing);
}

.menu--primary .sub-menu a:hover,
.menu--primary .sub-menu a:focus-visible {
    color: var(--white);
    background: rgba(255,255,255,.08);
    transform: translateX(3px);
}

/* Nested desktop submenu */
.menu--primary .sub-menu .menu-item-has-children > .sub-menu {
    top: -.55rem;
    left: calc(100% + 14px);
    transform: translate(-8px, 0) scale(.985);
    transform-origin: left top;
}

.menu--primary .sub-menu .menu-item-has-children:hover > .sub-menu,
.menu--primary .sub-menu .menu-item-has-children:focus-within > .sub-menu {
    transform: translate(0, 0) scale(1);
}

.menu--primary .sub-menu .sub-menu::before {
    top: 0;
    bottom: 0;
    left: -16px;
    right: auto;
    width: 16px;
    height: auto;
}

/* Mobile accordion submenu */
.menu--mobile .menu-item-has-children {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
}

.menu--mobile .submenu-toggle {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.07);
    color: var(--white);
    cursor: pointer;
    transition: background .25s var(--easing), transform .25s var(--easing);
}

.menu--mobile .submenu-toggle::before {
    content: "";
    width: .52rem;
    height: .52rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translate(-.08rem, -.08rem);
    transition: transform .28s var(--easing);
}

.menu--mobile .menu-item-has-children.is-submenu-open > .submenu-toggle::before {
    transform: rotate(225deg) translate(-.02rem, -.02rem);
}

.menu--mobile .submenu-toggle:hover,
.menu--mobile .submenu-toggle:focus-visible {
    background: rgba(255,255,255,.12);
}

.menu--mobile .sub-menu {
    grid-column: 1 / -1;
    display: grid;
    gap: .35rem;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    padding-left: 1rem;
    transition:
        max-height .42s var(--easing),
        opacity .28s var(--easing),
        margin-top .42s var(--easing);
}

.menu--mobile .menu-item-has-children.is-submenu-open > .sub-menu {
    max-height: 800px;
    opacity: 1;
    margin-top: .65rem;
}

.menu--mobile .sub-menu a {
    display: block;
    padding: .65rem .8rem;
    border-left: 1px solid rgba(255,255,255,.14);
    color: rgba(255,255,255,.76);
    font-family: var(--font-body);
    font-size: .9rem;
    font-weight: 400;
    line-height: 1.4;
    text-transform: none;
    letter-spacing: 0;
}

@media (min-width: 821px) {
    .menu--mobile .submenu-toggle {
        display: none;
    }
}

@media (max-width: 820px) {
    .menu--primary .sub-menu {
        display: none;
    }
}


/* v1.0.14 — homepage visual refinements */
.search-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.header-panel--actions>.icon-button{background:transparent}.header-panel--actions>.icon-button:hover{background:rgba(255,255,255,.06)}
.site-header.is-scrolled .menu--primary{font-size:.80rem;gap:1.45rem}.site-header.is-scrolled .language-switcher a{min-width:29px;height:29px;font-size:.64rem}.site-header.is-scrolled .btn--header{min-height:36px;padding-inline:.85rem;font-size:.68rem}.site-header.is-scrolled .icon-button{width:36px;height:36px}.site-header.is-scrolled .search-icon{width:17px;height:17px}
.nav-toggle{position:relative;background:transparent!important}.nav-toggle span{position:absolute;left:50%;width:22px;height:1.5px;margin:0;background:currentColor;border-radius:999px;transform:translateX(-50%);transition:top .3s var(--easing),transform .3s var(--easing),opacity .2s var(--easing)}.nav-toggle span:nth-child(1){top:16px}.nav-toggle span:nth-child(2){top:22px}.nav-toggle span:nth-child(3){top:28px}.nav-toggle[aria-expanded=true] span:nth-child(1){top:22px;transform:translateX(-50%) rotate(45deg)}.nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded=true] span:nth-child(3){top:22px;transform:translateX(-50%) rotate(-45deg)}
.site-header.is-scrolled .nav-toggle span:nth-child(1){top:12px}.site-header.is-scrolled .nav-toggle span:nth-child(2){top:18px}.site-header.is-scrolled .nav-toggle span:nth-child(3){top:24px}.site-header.is-scrolled .nav-toggle[aria-expanded=true] span:nth-child(1),.site-header.is-scrolled .nav-toggle[aria-expanded=true] span:nth-child(3){top:18px}
.mobile-menu{top:auto;max-height:calc(100svh - var(--mobile-menu-top,90px) - 1rem);overflow:auto;transition:top .32s var(--easing),opacity .25s var(--easing),transform .25s var(--easing)}
.menu--primary{--submenu-offset:30px}.site-header.is-scrolled .menu--primary{--submenu-offset:22px}.menu--primary .sub-menu{top:calc(100% + var(--submenu-offset))}.menu--primary .sub-menu::before{top:calc(-1 * var(--submenu-offset));height:var(--submenu-offset)}
.social-links{display:grid;justify-items:start;gap:.9rem}.site-footer.scene{padding-top:clamp(4.5rem,7vw,7rem);padding-bottom:1.5rem}.site-footer__bottom{padding-top:var(--s-3);margin-top:var(--s-4)}
.faq-answer{max-height:0;overflow:hidden;opacity:0;padding:0 1.5rem;transition:max-height .48s var(--easing),opacity .3s var(--easing),padding .48s var(--easing)}.faq-answer.is-open{opacity:1;padding-bottom:1.3rem}.faq-answer__inner{overflow:hidden}.faq-item button span{transition:transform .3s var(--easing)}.faq-item button[aria-expanded=true] span{transform:rotate(45deg)}
@media(min-width:1101px){.home-faq-section .faq-container{width:min(100% - 2rem,900px)}}
@media(max-width:960px){.site-header.is-scrolled .site-logo img{height:25px}.site-header.is-scrolled .header-panel--actions{min-height:44px}.site-header.is-scrolled .nav-toggle,.site-header.is-scrolled .header-panel--actions>[data-search-open]{width:36px;height:36px}}


/* v1.0.15 — homepage detail refinements */
@media (min-width: 1101px) {
    .site-header {
        width: min(calc(100% - 2rem), calc(var(--container) + 120px));
    }
}

.site-header.is-scrolled .menu--primary {
    gap: 1.9rem;
}

.menu--primary .sub-menu {
    background: rgb(5 14 24 / 72%);
    border: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(24px) saturate(125%);
    -webkit-backdrop-filter: blur(24px) saturate(125%);
}

/* Smaller taxonomy labels in About and project imagery. */
.taxonomy-badge {
    font-size: .56rem;
    padding: .42rem .64rem;
    letter-spacing: .065em;
}

/* Portfolio copy determines the controls position instead of a fixed slide height. */
.showcase__slides {
    display: grid;
    min-height: 0;
}

.showcase-slide {
    position: relative;
    inset: auto;
    grid-area: 1 / 1;
    visibility: hidden;
}

.showcase-slide.is-active {
    visibility: visible;
}

.showcase-controls {
    position: relative;
    z-index: 2;
}

/* Knowledge follows Portfolio's visual language and full right-column width. */
.knowledge-section,
.knowledge-section .showcase--blog,
.knowledge-section .section-heading,
.knowledge-section .section-heading__lead {
    color: var(--white);
}

.knowledge-section .blog-slider {
    width: 100%;
    min-width: 0;
}

.knowledge-section .blog-visual {
    flex: 0 0 100%;
    min-width: 100%;
    min-height: 600px;
}

/* Testimonial body matches regular benefit-copy scale. */
.testimonial-card--large p {
    font-size: clamp(1rem, .96rem + .18vw, 1.125rem);
    line-height: 1.65;
    letter-spacing: 0;
}

/* FAQ answer is visually subordinate to the question. */
.faq-answer p {
    font-size: .92rem;
    line-height: 1.7;
}

@media (max-width: 960px) {
    .taxonomy-badge {
        font-size: .5rem;
        padding: .38rem .56rem;
    }

    .knowledge-section .blog-visual {
        min-height: 430px;
    }
}

@media (max-width: 620px) {
    .taxonomy-badge {
        font-size: .46rem;
        padding: .34rem .5rem;
        letter-spacing: .055em;
    }

    .knowledge-section .blog-visual {
        min-height: 340px;
    }
}


/* v1.0.17 visual refinements */
/* 1. Glass submenu without border */
.site-nav .sub-menu,
.menu--primary .sub-menu {
    background: rgb(5 14 24 / 79%);
    border: none !important;
    backdrop-filter: blur(22px) saturate(115%);
    -webkit-backdrop-filter: blur(22px) saturate(115%);
}

/* 2. Smaller taxonomy labels in About image sliders */
.about-scene .tape-card span,
.about-scene .portfolio-taxonomy,
.about-scene .project-taxonomy,
.image-tapes .tape-card span {
    font-size: 0.66rem;
    line-height: 1;
    letter-spacing: 0.08em;
}

/* 3. White text in Knowledge, preserve accent span */
.knowledge-section .eyebrow,
.knowledge-section h2,
.knowledge-section .lead,
.knowledge-section p,
.showcase--blog .eyebrow,
.showcase--blog h2,
.showcase--blog .lead,
.showcase--blog p {
    color: var(--white) !important;
}

.knowledge-section h2 span,
.showcase--blog h2 span,
.knowledge-section .headline-accent,
.showcase--blog .headline-accent {
    color: var(--headline-accent, var(--accent)) !important;
}

/* 4. Testimonial copy reduced to lead-text scale */
.testimonial-card--large p,
.testimonial-slide p,
.testimonials-section blockquote p {
    font-size: clamp(1.05rem, 1rem + 0.35vw, 1.25rem);
    line-height: 1.65;
    letter-spacing: 0;
}

/* 5. Footer bottom typography and vertical alignment */
.site-footer__bottom {
    align-items: center;
}

.site-footer__bottom p,
.site-footer__bottom nav,
.site-footer__bottom nav a {
    font-size: 0.78rem;
    line-height: 1.2;
}

.site-footer__bottom p {
    display: flex;
    align-items: center;
}

.site-footer__bottom nav {
    display: flex;
    align-items: center;
}


/* v6.1.81 — Unified adaptive premium cursor + CookieYes handoff */
.atelion-cursor {
    --cursor-size: 9px;
    --cursor-x: -80px;
    --cursor-y: -80px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
    width: var(--cursor-size);
    height: var(--cursor-size);
    border-radius: 999px;
    border: 1px solid transparent;
    background: #fff;
    color: #fff;
    display: grid;
    place-items: center;
    pointer-events: none;
    opacity: 0;
    mix-blend-mode: difference;
    transform: translate3d(var(--cursor-x), var(--cursor-y), 0) translate(-50%, -50%);
    transition:
        width .22s var(--easing, ease),
        height .22s var(--easing, ease),
        opacity .16s ease,
        background .22s var(--easing, ease),
        border-color .22s var(--easing, ease),
        box-shadow .22s var(--easing, ease),
        backdrop-filter .22s var(--easing, ease);
    will-change: transform, width, height, opacity;
    contain: layout style paint;
}

.atelion-cursor.is-visible { opacity: 1; }

/* Every actionable element gets exactly the same hover treatment. */
.atelion-cursor.is-action {
    width: 52px;
    height: 52px;
    background: rgba(255,255,255,.72);
    border-color: rgba(255,255,255,.72);
    box-shadow: 0 10px 30px rgba(0,0,0,.12), inset 0 0 0 1px rgba(255,255,255,.18);
    -webkit-backdrop-filter: blur(8px) saturate(130%);
    backdrop-filter: blur(8px) saturate(130%);
}

.atelion-cursor__label {
    font-family: var(--font-body, sans-serif);
    font-size: 0;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0;
    opacity: 0;
    transform: scale(.8) rotate(-2deg);
    transition: opacity .16s ease, transform .2s var(--easing, ease), font-size .2s var(--easing, ease);
}

.atelion-cursor.is-action .atelion-cursor__label {
    font-size: 22px;
    opacity: 1;
    transform: scale(1) rotate(0);
}

.atelion-cursor.is-over-input,
.atelion-cursor.is-cookieyes { opacity: 0 !important; }

@media (hover: hover) and (pointer: fine) {
    html.has-custom-cursor,
    html.has-custom-cursor body,
    html.has-custom-cursor a,
    html.has-custom-cursor button,
    html.has-custom-cursor [role="button"],
    html.has-custom-cursor input[type="submit"],
    html.has-custom-cursor input[type="button"] {
        cursor: none !important;
    }

    html.has-custom-cursor input:not([type="submit"]):not([type="button"]),
    html.has-custom-cursor textarea,
    html.has-custom-cursor select,
    html.has-custom-cursor [contenteditable="true"] {
        cursor: text !important;
    }
    html.has-custom-cursor select { cursor: pointer !important; }
}



/* CookieYes lives in its own high-z-index UI layer. Inside the consent UI we
   deliberately hand control back to the native cursor so buttons/links can
   never end up with an invisible pointer. */
@media (hover: hover) and (pointer: fine) {
    html.has-custom-cursor .cky-consent-container,
    html.has-custom-cursor .cky-modal,
    html.has-custom-cursor .cky-preference-center,
    html.has-custom-cursor .cky-btn-revisit-wrapper,
    html.has-custom-cursor [class*="cky-"] {
        cursor: auto !important;
    }

    html.has-custom-cursor .cky-consent-container a,
    html.has-custom-cursor .cky-consent-container button,
    html.has-custom-cursor .cky-modal a,
    html.has-custom-cursor .cky-modal button,
    html.has-custom-cursor .cky-preference-center a,
    html.has-custom-cursor .cky-preference-center button,
    html.has-custom-cursor .cky-btn-revisit-wrapper,
    html.has-custom-cursor [class*="cky-"] a,
    html.has-custom-cursor [class*="cky-"] button,
    html.has-custom-cursor [class*="cky-"] [role="button"] {
        cursor: pointer !important;
    }

    html.has-custom-cursor .cky-consent-container input,
    html.has-custom-cursor .cky-consent-container textarea,
    html.has-custom-cursor .cky-consent-container select,
    html.has-custom-cursor .cky-modal input,
    html.has-custom-cursor .cky-modal textarea,
    html.has-custom-cursor .cky-modal select {
        cursor: auto !important;
    }
}

@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
    .atelion-cursor { display: none !important; }
}

/* v1.0.26 — Footer 50/25/25 layout */
.site-footer__top {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(170px, 1fr) minmax(220px, 1fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: start;
}

.site-footer__intro .section-heading {
    max-width: 760px;
}

.site-footer__intro .section-heading h2 {
    font-size: clamp(2.3rem, 4.4vw, 4.8rem);
    line-height: .98;
}

.site-footer__menu-column,
.site-footer__contact {
    padding-top: .25rem;
}

.menu--footer {
    display: grid;
    gap: .72rem;
}

.menu--footer a,
.site-footer__contact > a,
.site-footer__contact address {
    color: rgba(255,255,255,.78);
    font-size: clamp(.82rem, .79rem + .12vw, .92rem);
    line-height: 1.5;
    font-style: normal;
    transition: color .25s var(--easing), transform .25s var(--easing);
}

.menu--footer a:hover,
.site-footer__contact > a:hover {
    color: var(--white);
}

.site-footer__contact {
    display: grid;
    justify-items: start;
    align-content: start;
    gap: .65rem;
}

.social-links--icons {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: .8rem;
}

.social-icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.07);
    color: var(--white);
    transition: transform .25s var(--easing), background .25s var(--easing);
}

.social-icon:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,.14);
}

.social-icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.social-icon svg .is-filled {
    fill: currentColor;
    stroke: none;
}

@media (max-width: 900px) {
    .site-footer__top {
        grid-template-columns: minmax(0, 1.5fr) minmax(150px, .75fr) minmax(190px, .9fr);
        gap: 2rem;
    }
}

@media (max-width: 700px) {
    .site-footer__top {
        grid-template-columns: 1fr 1fr;
    }

    .site-footer__intro {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    .site-footer__top {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .site-footer__intro {
        grid-column: auto;
    }
}


/* v1.0.36 - footer heading override */
.site-footer__headline,
.site-footer .footer-headline,
.site-footer h2{
    font-size: clamp(1.8rem, 2.8vw, 3rem);
}


/* v1.0.37 - much smaller footer headline */
.site-footer__headline,
.site-footer .footer-headline,
.site-footer h2,
.site-footer .section-headline,
.site-footer .headline{
    font-size: clamp(1.35rem, 1.8vw, 2rem) !important;
    line-height: 1.05;
    letter-spacing: -0.03em;
}

/* v2.0.4 — Buttons must never inherit link underlines from content styles. */
.btn,
.btn:hover,
.btn:focus,
.btn:focus-visible,
.btn:active,
.btn:visited,
.entry-content a.btn,
.entry-content a.btn:hover,
.entry-content a.btn:focus,
.entry-content a.btn:focus-visible,
.entry-content a.btn:active,
.entry-content a.btn:visited,
.atelion-button-block a,
.atelion-button-block a:hover,
.atelion-button-block a:focus,
.atelion-button-block a:focus-visible,
.atelion-button-block a:active,
.atelion-button-block a:visited {
    text-decoration: none !important;
}


/* v3.0.17 — Footer refinements */
.site-footer .section-heading h2,
.site-footer__headline,
.site-footer .footer-headline,
.site-footer h2,
.site-footer .section-headline,
.site-footer .headline {
    font-size: clamp(1.48rem, 1.95vw, 2.15rem) !important;
}

.site-footer__contact {
    gap: 1rem;
}

.site-footer__contact-item {
    display: grid;
    justify-items: start;
    gap: .22rem;
    max-width: 100%;
}

.site-footer__contact-label {
    color: rgba(255,255,255,.48);
    font-size: .68rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.site-footer__contact-item > a,
.site-footer__contact-item address,
.site-footer__contact-text {
    color: rgba(255,255,255,.82);
    font-size: clamp(.82rem, .79rem + .12vw, .92rem);
    line-height: 1.5;
    font-style: normal;
    overflow-wrap: anywhere;
}

.site-footer__contact-item > a {
    transition: color .25s var(--easing), transform .25s var(--easing);
}

.site-footer__contact-item > a:hover {
    color: var(--white);
    transform: translateY(-1px);
}

@media (max-width: 560px) {
    .site-footer__bottom nav {
        order: 1;
    }

    .site-footer__bottom p {
        order: 2;
    }
}


/* v3.0.18 — Larger footer headline and menu heading */
.site-footer .section-heading h2,
.site-footer__headline,
.site-footer .footer-headline,
.site-footer h2,
.site-footer .section-headline,
.site-footer .headline {
    font-size: clamp(3.4rem, 4.2vw, 4rem) !important;
    line-height: 1.02;
    letter-spacing: -0.045em;
}

.site-footer__column-title {
    margin: 0 0 1rem;
    color: rgba(255,255,255,.48);
    font-size: .68rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: .09em;
    text-transform: uppercase;
}

@media (max-width: 960px) {
    .site-footer .section-heading h2,
    .site-footer__headline,
    .site-footer .footer-headline,
    .site-footer h2,
    .site-footer .section-headline,
    .site-footer .headline {
        font-size: clamp(2.8rem, 7vw, 3.5rem) !important;
    }
}

@media (max-width: 560px) {
    .site-footer .section-heading h2,
    .site-footer__headline,
    .site-footer .footer-headline,
    .site-footer h2,
    .site-footer .section-headline,
    .site-footer .headline {
        font-size: clamp(2.35rem, 11vw, 3rem) !important;
        line-height: 1.04;
    }
}

/* v4.1.1 — Latest post in the footer shortcut column */
.site-footer__blog {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(255,255,255,.10);
}

.site-footer__blog-title {
    margin-bottom: .75rem;
}

.site-footer__latest-post {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    color: rgba(255,255,255,.82);
    font-family: var(--font-body);
    font-size: clamp(.82rem, .79rem + .12vw, .92rem);
    font-weight: 450;
    line-height: 1.5;
    text-decoration: none;
    transition: color .25s var(--easing), transform .25s var(--easing);
}

.site-footer__latest-post:hover,
.site-footer__latest-post:focus-visible {
    color: var(--white);
    transform: translateY(-1px);
}

/* ==========================================================================
   v4.1.2 — Header and mobile navigation refinements
   ========================================================================== */

/* The compact header keeps the same navigation rhythm as the full header. */
.site-header.is-scrolled .menu--primary {
    gap: 2.6rem;
}

/* A calmer, more compact mobile navigation scale. */
.menu--mobile {
    font-size: clamp(1.15rem, 5.4vw, 1.65rem);
    line-height: 1.12;
}

.mobile-menu__footer {
    display: grid;
    gap: 1rem;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255,255,255,.12);
}

.mobile-menu__footer .language-switcher {
    justify-content: flex-start;
}

.mobile-menu__cta,
.mobile-menu__cta .btn {
    width: 100%;
}

.mobile-menu__cta .btn--header {
    min-height: 48px;
    color: var(--brand-blue);
}

/* blocks.css */
.image-tapes{height:720px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;overflow:hidden;mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}.image-tape{overflow:hidden}.image-tape__track{display:grid;gap:14px;animation:tapeMove 36s linear infinite}.image-tape--up .image-tape__track{animation-direction:reverse}.tape-card{min-height:240px;border-radius:var(--radius-lg);background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:1rem;position:relative;overflow:hidden}.tape-card::before{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.55))}.tape-card span{position:relative;z-index:1;font-size:.82rem}@keyframes tapeMove{to{transform:translateY(-50%)}}.service-grid,.portfolio-grid,.blog-grid,.team-grid,.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-card,.price-card{position:relative;min-height:380px;padding:var(--s-4);border-radius:var(--radius-lg);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:rgba(255,255,255,.48);border:1px solid rgba(13,61,104,.12);transition:transform .4s var(--easing)}.service-card:hover{transform:translateY(-7px)}.service-card>span{position:absolute;top:1.3rem;right:1.3rem;width:42px;height:42px;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--brand-blue);color:#fff}.portfolio-card__link,.blog-card>a,.team-card{display:block;border-radius:var(--radius-lg);overflow:hidden;background:rgba(255,255,255,.45);border:1px solid rgba(13,61,104,.1)}.portfolio-card img,.blog-card img,.team-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.portfolio-card__body,.blog-card__body,.team-card>div{padding:1.5rem}.showcase__slides{position:relative;min-height:350px}.showcase-slide{position:absolute;inset:0;opacity:0;transform:translateY(18px);transition:.55s var(--easing);pointer-events:none}.showcase-slide.is-active{opacity:1;transform:none;pointer-events:auto}.project-visuals{position:relative;min-height:600px}.project-visual{position:absolute;inset:0;border-radius:var(--radius-lg);background-size:cover;background-position:center;opacity:0;transform:scale(.985);transition:.6s var(--easing)}.project-visual.is-active{opacity:1;transform:none}.showcase-controls{display:flex;align-items:center;gap:.85rem;margin-top:var(--s-4)}.showcase-controls button{width:46px;height:42px;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-md);background:rgba(255,255,255,.06);color:inherit}.showcase-progress{width:180px;height:2px;background:rgba(255,255,255,.18)}.showcase-progress i{display:block;width:0;height:100%;background:currentColor}.benefits-list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4)}.sticky-stack{display:grid;gap:var(--s-4)}.process-card{position:sticky;top:120px;z-index:calc(var(--i) + 1);min-height:340px;padding:var(--s-5);border-radius:var(--radius-lg);background:var(--brand-blue);color:#fff;transform:none}.blog-slider{display:flex;overflow:auto;scroll-snap-type:x mandatory;gap:14px}.blog-visual{flex:0 0 min(82%,620px);min-height:540px;border-radius:var(--radius-lg);background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:2rem;scroll-snap-align:start;position:relative;overflow:hidden}.blog-visual::before{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.7))}.blog-visual h3{position:relative;color:#fff}.testimonial-wall{display:grid;gap:14px}.testimonial-card{margin:0;padding:var(--s-4);border-radius:var(--radius-lg);background:rgba(255,255,255,.46);border:1px solid rgba(29,39,51,.08)}.testimonial-card--large p{font-size:clamp(1.5rem,3vw,3rem);line-height:1.05;letter-spacing:-.05em;opacity:1}.avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.price-card{justify-content:flex-start;min-height:unset}.price-card.is-featured{outline:3px solid var(--accent)}.price{font-size:3.5rem;font-weight:760;letter-spacing:-.06em}.price span{font-size:1rem}.price-card ul{list-style:none;padding:0;display:grid;gap:.8rem}.status-excluded{opacity:.45}@media(max-width:900px){.service-grid,.portfolio-grid,.blog-grid,.team-grid,.pricing-grid,.benefits-list{grid-template-columns:repeat(2,1fr)}.image-tapes{height:520px}.project-visuals{min-height:430px}}@media(max-width:620px){.service-grid,.portfolio-grid,.blog-grid,.team-grid,.pricing-grid,.benefits-list{grid-template-columns:1fr}.image-tapes{height:430px;gap:10px}.process-card{position:relative;top:auto;transform:none}.project-visuals{min-height:340px}}

/* v1.0.12 — CTA height and alignment refinement */
.final-cta {
    min-height: auto;
}

.final-cta .section-heading__lead {
    margin-inline: auto;
    text-align: center;
}

.final-cta .showcase-actions {
    justify-content: center;
}


/* v1.0.14 — section refinements */
.taxonomy-badge{display:inline-flex;align-items:center;width:max-content;padding:.48rem .72rem;border-radius:var(--radius-lg);background:rgb(5 14 24 / 79%);color:var(--white);font-family:var(--font-heading);font-size:.65rem;font-weight:500;line-height:1;text-transform:uppercase;letter-spacing:.07em;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.tape-card__taxonomy{position:relative;z-index:2}.project-visual__taxonomy{position:absolute;z-index:2;left:1rem;bottom:1rem}.project-visual{overflow:hidden}.service-card>span{display:none}.process-card__number{display:block;margin-bottom:clamp(2rem,4vw,3.5rem)}
.testimonials-section .section-heading,.testimonials-section .section-heading__lead{color:var(--white)}.testimonials-slider{min-width:0}.testimonials-slider__viewport{overflow:hidden}.testimonials-slider__track{display:flex;transition:transform .6s var(--easing);will-change:transform}.testimonial-card{flex:0 0 100%;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:var(--white)}.testimonial-card--large p{font-size:clamp(1.2rem,2vw,2rem);line-height:1.25;letter-spacing:-.025em}.testimonial-card footer{display:flex;align-items:center;gap:1rem;margin-top:var(--s-4)}.testimonial-card cite{display:grid;gap:.2rem;font-style:normal}.testimonial-card cite span{font-size:.85rem;opacity:.62}.testimonials-slider__controls{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:1rem}.testimonials-slider__controls button{width:44px;height:40px;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md);background:rgba(255,255,255,.05);color:var(--white);cursor:pointer}.testimonials-slider__controls span{min-width:4rem;text-align:center;font-size:.72rem;letter-spacing:.08em;opacity:.7}
.showcase--blog,.showcase--blog .section-heading,.showcase--blog .section-heading__lead{color:var(--brand-blue)}

/* v1.0.16 — Portfolio slider natural content flow fix */
.showcase__slides {
    position: relative;
    min-height: 0;
}

.showcase-slide {
    position: relative;
    inset: auto;
    display: none;
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
}

.showcase-slide.is-active {
    display: block;
    opacity: 1;
    transform: none;
    pointer-events: auto;
    animation: atelionPortfolioSlideIn .5s var(--easing) both;
}

.showcase-controls {
    position: relative;
    z-index: 2;
    margin-top: var(--s-4);
}

@keyframes atelionPortfolioSlideIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* v1.0.21 — Portfolio archive cards */
.portfolio-card {
    min-width: 0;
}

.portfolio-card__link {
    position: relative;
    display: block;
    overflow: hidden;
    border: 0;
    border-radius: var(--radius-lg);
    background: transparent;
    isolation: isolate;
}

.portfolio-card__media {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: inherit;
    background: var(--deep-navy);
}

.portfolio-card__media::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background:
        linear-gradient(
            to top,
            rgba(5, 14, 24, .78) 0%,
            rgba(5, 14, 24, .24) 46%,
            rgba(5, 14, 24, 0) 72%
        );
    pointer-events: none;
}

.portfolio-card img,
.portfolio-card__image {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    transition: transform .65s var(--easing);
}

.portfolio-card__overlay {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 0;
    display: grid;
    justify-items: start;
    gap: .75rem;
    padding: clamp(1.25rem, 2.2vw, 2rem);
}

.portfolio-card__title {
    max-width: 90%;
    color: var(--white);
    font-size: clamp(1.45rem, 2vw, 2.2rem);
    line-height: 1;
    letter-spacing: -.045em;
}

.portfolio-card__taxonomy {
    display: inline-flex;
    align-items: center;
    width: max-content;
    max-width: 100%;
    padding: .5rem .75rem;
    border-radius: var(--radius-lg);
    background: rgb(5 14 24 / 79%);
    color: var(--white);
    font-family: var(--font-heading);
    font-size: .64rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
    backdrop-filter: blur(18px) saturate(115%);
    -webkit-backdrop-filter: blur(18px) saturate(115%);
}

.portfolio-card__link:hover .portfolio-card__image,
.portfolio-card__link:focus-visible .portfolio-card__image {
    transform: scale(1.035);
}

@media (max-width: 620px) {
    .portfolio-card__overlay {
        gap: .6rem;
        padding: 1.2rem;
    }

    .portfolio-card__title {
        font-size: clamp(1.35rem, 7vw, 1.8rem);
    }

    .portfolio-card__taxonomy {
        font-size: .58rem;
    }
}


/* v1.0.24 — Atelion Studio completion blocks */
.workers-grid{display:grid;grid-template-columns:repeat(var(--workers-columns,3),minmax(0,1fr));gap:14px}.worker-card__media{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius-lg);background:var(--deep-navy)}.worker-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(5,14,24,.78));z-index:1}.worker-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--easing)}.worker-card__overlay{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:1.5rem;display:grid;justify-items:start;gap:.7rem}.worker-card h3{color:#fff}.worker-card a:hover img{transform:scale(1.035)}
.contact-block-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:var(--s-7)}.contact-block-details{display:grid;gap:1rem}.contact-block-details>a,.contact-block-details>div{padding:1.2rem;border-bottom:1px solid rgba(13,61,104,.16);display:grid;gap:.35rem}.contact-block-details span{font-family:var(--font-heading);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;opacity:.6}.contact-block-social{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1rem}
.logo-marquee{overflow:hidden}.logo-marquee__track{display:flex;width:max-content;animation:atelionLogoMarquee var(--marquee-duration,28s) linear infinite}.logo-marquee[data-direction=right] .logo-marquee__track{animation-direction:reverse}.logo-marquee.is-pausable:hover .logo-marquee__track{animation-play-state:paused}.logo-marquee__item{width:220px;height:130px;margin-right:14px;padding:2rem;display:grid;place-items:center;border-radius:var(--radius-lg);background:rgba(255,255,255,.5)}.logo-marquee__item img{max-width:100%;max-height:70px;object-fit:contain}@keyframes atelionLogoMarquee{to{transform:translateX(-50%)}}
.media-block{padding-block:var(--s-7)}.media-block__full{width:100%}.atelion-image{margin:0}.atelion-image img,.atelion-video{width:100%;border-radius:var(--radius-lg);overflow:hidden}.atelion-image img{display:block;object-fit:cover;object-position:var(--object-position,50% 50%)}.atelion-image--square img{aspect-ratio:1}.atelion-image--landscape img{aspect-ratio:16/9}.atelion-image--portrait img{aspect-ratio:4/5}.atelion-image figcaption{margin-top:.75rem;font-size:.85rem;opacity:.65}.atelion-video{position:relative;background:var(--deep-navy)}.atelion-video--16-9{aspect-ratio:16/9}.atelion-video--4-3{aspect-ratio:4/3}.atelion-video--1-1{aspect-ratio:1}.atelion-video iframe,.atelion-video video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.atelion-newsletter-block .section-heading,.atelion-newsletter-block .section-heading__lead{color:#fff}.newsletter-privacy,.form-note,.form-next-steps{font-size:.9rem;opacity:.68}
.team-single-image{width:100%;border-radius:var(--radius-lg)}
@media(max-width:900px){.workers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-block-layout{grid-template-columns:1fr}}@media(max-width:620px){.workers-grid{grid-template-columns:1fr}.logo-marquee__item{width:160px;height:100px;padding:1.25rem}}
@media(prefers-reduced-motion:reduce){.logo-marquee__track{animation:none;transform:none;flex-wrap:wrap;width:auto}}


/* v1.0.27 — Portfolio, testimonials and FAQ refinements */
.project-visual{pointer-events:none;z-index:0}
.project-visual.is-active{pointer-events:auto;z-index:1}

.testimonials-section .testimonial-card{border:0;background:rgba(255,255,255,.045)}
.testimonials-slider__controls button{border:0;background:transparent}
.testimonials-slider__controls button:hover,
.testimonials-slider__controls button:focus-visible{background:rgba(255,255,255,.08)}

.testimonial-card__footer{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin-top:var(--s-4)}
.testimonial-card__person{display:flex;align-items:center;gap:1rem;min-width:0}
.testimonial-card__avatar,
.testimonial-card__logo{height:56px;flex:0 0 56px;border-radius:var(--radius-md);object-fit:cover}
.testimonial-card__logo{object-fit:contain;padding:.35rem;background:rgba(255,255,255,.08)}
.testimonial-card cite{min-width:0}

.faq-item{transition:border-color .3s var(--easing)}
.faq-item.is-open{border-color:var(--accent)}

@media(max-width:620px){
 .testimonial-card__footer{align-items:flex-end}
 .testimonial-card__avatar,
 .testimonial-card__logo{width:48px;height:48px;flex-basis:48px}
}


/* v1.0.28 — refined ACF blocks */
.portfolio-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:stretch}.portfolio-feature-grid__intro{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:var(--s-4);border-radius:var(--radius-lg);background:rgba(255,255,255,.06)}.portfolio-feature-grid__intro .section-heading{margin-bottom:var(--s-4)}.portfolio-card--feature,.portfolio-card--feature .portfolio-card__link,.portfolio-card--feature .portfolio-card__media{height:100%;min-height:520px}.portfolio-card--feature .portfolio-card__image{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}
.price-card__name-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.price-card__name{font-size:clamp(1.45rem,2vw,2rem);line-height:1.05}.price-card__featured-text{font-size:.76rem;font-weight:650;color:var(--accent);text-align:right}.price-card__price-wrap{display:grid;gap:.15rem;margin-top:1rem}.price-card__price-wrap .price{margin:0}.price-card__price-wrap .price span{display:inline-block;margin-right:.35rem;font-size:1.05rem;font-weight:650;letter-spacing:.02em}.price-card__price-wrap small{margin:0}.price-card__description{margin-top:1rem}.price-card ul{margin-top:1.5rem}.price-card__action{margin-top:auto;padding-top:2rem}
.global-faq-layout,.split-form-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-7);align-items:start}.global-faq-layout .section-heading,.split-form-layout .section-heading{margin:0}.contact-block-details>a,.contact-block-details>div{border-bottom:0}.contact-block-social{gap:.6rem}.contact-block-social .social-icon{display:grid;place-items:center;width:44px;height:44px}.contact-block-social svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.contact-block-social .is-filled{fill:currentColor;stroke:none}
.logo-marquee__track{gap:0}.logo-marquee__group{display:flex;flex-shrink:0;gap:14px;padding-right:14px}.logo-marquee.is-animated .logo-marquee__track{animation:atelionLogoMarquee var(--marquee-duration,28s) linear infinite}.logo-marquee.is-static .logo-marquee__track{width:100%;justify-content:center;flex-wrap:wrap}.logo-marquee.is-static .logo-marquee__group{justify-content:center;flex-wrap:wrap;padding-right:0}.logo-marquee.is-static .logo-marquee__item{margin-right:0}@keyframes atelionLogoMarquee{to{transform:translateX(-50%)}}
.atelion-image{position:relative;overflow:hidden;border-radius:var(--radius-lg)}.atelion-image__caption{position:absolute;left:1.5rem;right:1.5rem;bottom:1.25rem;z-index:2;margin:0!important;color:#fff;font-size:.95rem!important;font-weight:650;opacity:1!important;text-shadow:0 1px 10px rgba(0,0,0,.55)}.atelion-image:has(.atelion-image__caption)::after{content:"";position:absolute;inset:auto 0 0;height:35%;pointer-events:none;background:linear-gradient(transparent,rgba(0,0,0,.62))}
@media(max-width:900px){.portfolio-feature-grid{grid-template-columns:1fr 1fr}.portfolio-feature-grid__intro{grid-column:1/-1;min-height:280px}.global-faq-layout,.split-form-layout{grid-template-columns:1fr;gap:var(--s-5)}}
@media(max-width:620px){.portfolio-feature-grid{grid-template-columns:1fr}.portfolio-feature-grid__intro{grid-column:auto}.portfolio-card--feature,.portfolio-card--feature .portfolio-card__link,.portfolio-card--feature .portfolio-card__media{min-height:420px}}


/* v1.0.29 — Portfolio block: 50/50 layout */
.atelion-portfolio-block .portfolio-feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--s-7);
    align-items: stretch;
}

.atelion-portfolio-block .portfolio-feature-grid__intro {
    min-height: 520px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    justify-content: space-between;
}

.atelion-portfolio-block .portfolio-feature-grid__intro .section-heading {
    margin-bottom: var(--s-5);
}

.atelion-portfolio-block .portfolio-card--feature,
.atelion-portfolio-block .portfolio-card--feature .portfolio-card__link,
.atelion-portfolio-block .portfolio-card--feature .portfolio-card__media {
    min-height: 520px;
    height: 100%;
}

.atelion-portfolio-block .portfolio-card__description {
    max-width: 42rem;
    margin: 0;
    color: rgba(255, 255, 255, .86);
    font-size: clamp(.95rem, 1.25vw, 1.08rem);
    line-height: 1.55;
}

@media (max-width: 900px) {
    .atelion-portfolio-block .portfolio-feature-grid {
        grid-template-columns: 1fr;
        gap: var(--s-5);
    }

    .atelion-portfolio-block .portfolio-feature-grid__intro {
        grid-column: auto;
        min-height: auto;
    }
}

@media (max-width: 620px) {
    .atelion-portfolio-block .portfolio-card--feature,
    .atelion-portfolio-block .portfolio-card--feature .portfolio-card__link,
    .atelion-portfolio-block .portfolio-card--feature .portfolio-card__media {
        min-height: 420px;
    }
}


/* v1.0.30 — Portfolio taxonomy badge below title */
.atelion-portfolio-block .portfolio-card__overlay {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .8rem;
}

.atelion-portfolio-block .portfolio-card__taxonomy {
    display: inline-flex;
    width: max-content;
    margin: 0;
    padding: .5rem .78rem;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: var(--radius-md);
    background: rgba(8, 26, 44, .28);
    color: #fff;
    font-size: .78rem;
    font-weight: 650;
    line-height: 1;
    letter-spacing: .02em;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 8px 28px rgba(0, 0, 0, .12);
}


/* v1.0.31 — Contact Form 7 unified form system */

.wpcf7 {
    width: 100%;
}

.wpcf7 form {
    display: grid;
    gap: 1.15rem;
}

.wpcf7 p {
    margin: 0;
}

.wpcf7 label {
    display: grid;
    gap: .55rem;
    color: var(--color-text, #111);
    font-size: .95rem;
    font-weight: 600;
    line-height: 1.35;
}

.wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

/* Main fields */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="date"],
.wpcf7 input[type="time"],
.wpcf7 input[type="search"],
.wpcf7 input[type="password"],
.wpcf7 select,
.wpcf7 textarea {
    width: 100%;
    min-height: 64px;
    margin: 0;
    padding: 1rem 1.2rem;
    border: 1px solid rgba(8, 26, 44, .14);
    border-radius: var(--radius-md);
    background: #fff;
    color: inherit;
    font: inherit;
    font-size: 1rem;
    line-height: 1.45;
    box-shadow: none;
    outline: none;
    transition:
        border-color .25s var(--easing),
        background-color .25s var(--easing);
}

.wpcf7 textarea {
    min-height: 180px;
    resize: vertical;
}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder {
    color: currentColor;
    opacity: .5;
}

/* FAQ-like focus state */
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 input[type="url"]:focus,
.wpcf7 input[type="number"]:focus,
.wpcf7 input[type="date"]:focus,
.wpcf7 input[type="time"]:focus,
.wpcf7 input[type="search"]:focus,
.wpcf7 input[type="password"]:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus {
    border-color: var(--accent);
    background: #fff;
    box-shadow: none;
}

.wpcf7 input:focus-visible,
.wpcf7 select:focus-visible,
.wpcf7 textarea:focus-visible {
    outline: none;
}

/* Select */
.wpcf7 select {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    padding-right: 3rem;
    background-image:
        linear-gradient(45deg, transparent 50%, currentColor 50%),
        linear-gradient(135deg, currentColor 50%, transparent 50%);
    background-position:
        calc(100% - 21px) 50%,
        calc(100% - 15px) 50%;
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.wpcf7 select option {
    color: #111;
    background: #fff;
}

/* Checkbox and radio groups */
.wpcf7-list-item {
    margin: 0;
}

.wpcf7-checkbox,
.wpcf7-radio {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem 1rem;
}

.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item {
    display: inline-flex;
}

.wpcf7-checkbox label,
.wpcf7-radio label {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    cursor: pointer;
    font-weight: 500;
}

.wpcf7 input[type="checkbox"],
.wpcf7 input[type="radio"] {
    width: 20px;
    height: 20px;
    margin: 0;
    flex: 0 0 20px;
    accent-color: var(--accent);
    cursor: pointer;
}

.wpcf7 input[type="checkbox"] {
    border-radius: .3rem;
}

/* File upload */
.wpcf7 input[type="file"] {
    width: 100%;
    padding: .8rem;
    border: 1px dashed rgba(255, 255, 255, .24);
    border-radius: var(--radius-md);
    background: #fff;
    color: inherit;
    font: inherit;
    transition:
        border-color .25s var(--easing),
        background-color .25s var(--easing);
}

.wpcf7 input[type="file"]:focus {
    border-color: var(--accent);
    background: #fff;
    outline: none;
}

.wpcf7 input[type="file"]::file-selector-button {
    margin-right: .9rem;
    padding: .7rem 1rem;
    border: 0;
    border-radius: var(--radius-md);
    background: var(--accent);
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

/* Submit button — matches the theme primary button */
.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: start;
    width: auto !important;
    max-width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 0 1.15rem;
    border: 1px solid var(--brand-blue);
    border-radius: var(--radius-lg);
    background: var(--brand-blue);
    color: #fff;
    font: inherit;
    font-size: .80rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .06em;
    text-transform: uppercase;
    font-variation-settings: "wght" 500;
    cursor: pointer;
    box-shadow: none;
    transition:
        transform .3s var(--easing),
        background .3s var(--easing),
        color .3s var(--easing),
        border-color .3s var(--easing);
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 button[type="submit"]:hover {
    transform: translateY(-2px);
}

.wpcf7 input[type="submit"]:focus,
.wpcf7 button[type="submit"]:focus,
.wpcf7 input[type="submit"]:focus-visible,
.wpcf7 button[type="submit"]:focus-visible {
    border-color: var(--brand-blue);
    outline: 2px solid var(--brand-blue);
    outline-offset: 3px;
    box-shadow: none;
}

/* Validation and response states */
.wpcf7-not-valid {
    border-color: #d94b4b !important;
}

.wpcf7-not-valid-tip {
    margin-top: .45rem;
    color: #ff8b8b;
    font-size: .82rem;
    line-height: 1.35;
}

.wpcf7 form .wpcf7-response-output {
    margin: .5rem 0 0;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(8, 26, 44, .14);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, .035);
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: var(--accent);
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #d94b4b;
}

/* Spinner */
.wpcf7-spinner {
    margin: 0 0 0 .75rem;
    vertical-align: middle;
}

/* Better mobile proportions */
@media (max-width: 620px) {
    .wpcf7 input[type="text"],
    .wpcf7 input[type="email"],
    .wpcf7 input[type="tel"],
    .wpcf7 input[type="url"],
    .wpcf7 input[type="number"],
    .wpcf7 input[type="date"],
    .wpcf7 input[type="time"],
    .wpcf7 input[type="search"],
    .wpcf7 input[type="password"],
    .wpcf7 select,
    .wpcf7 textarea {
        min-height: 58px;
        padding: .9rem 1rem;
    }

    .wpcf7 textarea {
        min-height: 150px;
    }

    .wpcf7-checkbox,
    .wpcf7-radio {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* v1.0.45 — Portfolio block owns its dark-section color scheme
 *
 * Generic .entry-content rules must not recolor headings or links inside
 * this reusable ACF section when it is inserted into a service page.
 */
.atelion-portfolio-block,
.atelion-portfolio-block .section-heading,
.atelion-portfolio-block .section-heading h2,
.atelion-portfolio-block .section-heading h3,
.atelion-portfolio-block .section-heading__eyebrow,
.atelion-portfolio-block .section-heading__lead {
    color: var(--white);
}

.entry-content .atelion-portfolio-block h2,
.entry-content .atelion-portfolio-block h3 {
    color: var(--white);
}

.entry-content .atelion-portfolio-block a {
    text-decoration: none;
}

.atelion-portfolio-block .btn--light {
    background: #fff !important;
    color: var(--brand-blue);
    opacity: 1 !important;
    -webkit-appearance: none;
    appearance: none;
    border-color: var(--white);
}

.atelion-portfolio-block .btn--light:hover,
.atelion-portfolio-block .btn--light:focus-visible {
    background: transparent;
    color: var(--white);
    border-color: var(--white);
}

/* v1.0.46 — Portfolio heading rhythm and glass taxonomy refinement
 *
 * .entry-content h2 adds margin-top: 1.6em. When Portfolio is inserted
 * into a service page, that generic rule separates the eyebrow from the
 * headline. Reset the heading margins inside this reusable ACF block.
 */
.entry-content .atelion-portfolio-block .section-heading__title,
.atelion-portfolio-block .section-heading__title {
    margin-top: 0;
}

.atelion-portfolio-block .section-heading .eyebrow {
    margin-bottom: var(--s-3);
}

/* Glass blur taxonomy without an outline. */
.atelion-portfolio-block .portfolio-card__taxonomy {
    border: 0;
}

/* ACF Section Heading — canonical component */
.atelion-heading-block {
    width: 100%;
    background: var(--warm-paper);
}

.atelion-heading-block--spacing-compact {
    padding-block: clamp(1.5rem, 3vw, 2.5rem);
}

.atelion-heading-block--spacing-normal {
    padding-block: clamp(3rem, 6vw, 5rem);
}

.atelion-heading-block--spacing-large {
    padding-block: clamp(5rem, 10vw, var(--s-9));
}

.atelion-heading-block__inner {
    width: 100%;
}

.atelion-heading-block--narrow .atelion-heading-block__inner {
    max-width: 620px;
}

.atelion-heading-block--normal .atelion-heading-block__inner {
    max-width: 820px;
}

.atelion-heading-block--wide .atelion-heading-block__inner {
    max-width: 1120px;
}

.atelion-heading-block--left .atelion-heading-block__inner {
    margin-right: auto;
    text-align: left;
}

.atelion-heading-block--center .atelion-heading-block__inner {
    margin-inline: auto;
    text-align: center;
}

.atelion-heading-block--right .atelion-heading-block__inner {
    margin-left: auto;
    text-align: right;
}

.atelion-heading-block--center .section-heading__lead {
    margin-inline: auto;
}

.atelion-heading-block--right .section-heading__lead {
    margin-left: auto;
}

/* Reset generic entry-content heading margins inside this component. */
.entry-content .atelion-heading-block .section-heading,
.atelion-heading-block .section-heading {
    margin-block: 0;
}

.entry-content .atelion-heading-block .section-heading__title,
.atelion-heading-block .section-heading__title {
    margin: 0 !important;
}

.entry-content .atelion-heading-block .eyebrow,
.atelion-heading-block .eyebrow {
    margin: 0 0 var(--s-3);
}

.entry-content .atelion-heading-block .section-heading__lead,
.atelion-heading-block .section-heading__lead {
    margin-top: var(--s-4);
    margin-bottom: 0;
}

.entry-content .atelion-heading-block .section-heading > :first-child {
    margin-top: 0 !important;
}

.entry-content .atelion-heading-block .section-heading > :last-child {
    margin-bottom: 0 !important;
}

/* Atelion v2 — standalone Button component.
   This does not modify the layout of any existing section or block. */
.atelion-button-block {
    display: flex;
}

.atelion-button-block--left {
    justify-content: flex-start;
}

.atelion-button-block--center {
    justify-content: center;
}

.atelion-button-block--right {
    justify-content: flex-end;
}

/* v2.0.3 — Pricing spacing refinements */
.atelion-pricing-block {
    padding-top: 0 !important;
}

/* The card owns its outer padding; the name row should start immediately. */
.price-card {
    padding-top: clamp(1.25rem, 2vw, 1.75rem);
}

.price-card__name-row {
    margin-top: 0;
    padding-top: 0 !important;
}

.price-card__name-row .price-card__name {
    margin-top: 0;
}

/* Separate the status mark from the feature label and keep multiline labels aligned. */
.price-card li {
    display: flex;
    align-items: flex-start;
    gap: .8rem;
}

.price-card li > span[aria-hidden="true"] {
    flex: 0 0 1rem;
    width: 1rem;
    line-height: inherit;
    text-align: center;
}

@media (max-width: 620px) {
    .price-card {
        padding-top: 1.15rem;
    }

    .price-card li {
        gap: .7rem;
    }
}

/* v2.0.4 — Pricing outer spacing and ACF Button alignment */
.atelion-pricing-block {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Keep standalone ACF buttons aligned with adjacent Gutenberg text
   when both are placed directly inside the same column. */
.content-flow .wp-block-column > .atelion-button-block {
    width: 100%;
    margin-inline: 0 !important;
}

.content-flow .wp-block-column > :where(
    p,
    h2,
    h3,
    h4,
    h5,
    h6,
    .atelion-button-block
) {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* v2.4.13 — optional Heading columns in Contact and Contact Form blocks
   When the Heading group is empty, the unused left grid column is not rendered
   and the actual block content expands to the full container width. */
.split-form-layout--full,
.contact-block-layout--full {
    grid-template-columns: minmax(0, 1fr);
}

.split-form-layout--full .split-form-layout__content,
.contact-block-layout--full .contact-block-details {
    width: 100%;
    min-width: 0;
}


/* v2.4.14 — Contact Form 7 visual consistency */
.contact-form .wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="time"], input[type="search"], input[type="password"], select, textarea):focus,
.brief-form .wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="time"], input[type="search"], input[type="password"], select, textarea):focus {
    border-color: var(--accent) !important;
    box-shadow: none !important;
    outline: none;
}

.contact-form .wpcf7 input[type="submit"],
.contact-form .wpcf7 button[type="submit"],
.brief-form .wpcf7 input[type="submit"],
.brief-form .wpcf7 button[type="submit"] {
    width: auto !important;
    justify-self: start;
    box-shadow: none !important;
}


/* v3.0.9 — Newsletter form alignment and button consistency */
.atelion-newsletter-layout {
    align-items: center;
}

.atelion-newsletter-form-column {
    min-width: 0;
    align-self: center;
    transform: translateY(-2.5rem);
}

.atelion-newsletter-form-column .newsletter-form {
    width: min(90%, 680px);
}

.atelion-newsletter-block .newsletter-form .wpcf7-form {
    display: grid;
    gap: 1rem;
}

.atelion-newsletter-block .newsletter-form .wpcf7-form > p {
    margin: 0;
}

.atelion-newsletter-block .newsletter-form :is(
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="url"],
    input[type="search"]
) {
    width: 100%;
    min-height: 58px;
    padding: 0 1.25rem;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, .78);
    color: var(--brand-blue);
    box-shadow: none;
}

.atelion-newsletter-block .newsletter-form :is(
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="url"],
    input[type="search"]
)::placeholder {
    color: rgba(5, 14, 24, .52);
    opacity: 1;
}

/* Match the theme .btn / .btn--light proportions exactly. */
.atelion-newsletter-block .newsletter-form :is(input[type="submit"], button[type="submit"]) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: start;
    width: auto !important;
    max-width: 100%;
    min-width: 0;
    min-height: 48px;
    margin: 0;
    padding: 0 1.15rem;
    border: 1px solid var(--white);
    border-radius: var(--radius-lg);
    background: var(--white);
    color: var(--brand-blue);
    font: inherit;
    font-size: .80rem;
    font-weight: 500;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: .06em;
    font-variation-settings: "wght" 500;
    box-shadow: none !important;
    cursor: pointer;
    transition: transform .3s var(--easing), background .3s var(--easing), color .3s var(--easing), border-color .3s var(--easing);
}

.atelion-newsletter-block .newsletter-form :is(input[type="submit"], button[type="submit"]):hover,
.atelion-newsletter-block .newsletter-form :is(input[type="submit"], button[type="submit"]):focus-visible {
    transform: translateY(-2px);
    border-color: var(--accent);
    background: var(--accent);
    color: var(--white);
}

.atelion-newsletter-block .newsletter-form .wpcf7-spinner {
    margin: 0 0 0 .75rem;
    vertical-align: middle;
}

@media (max-width: 900px) {
    .atelion-newsletter-form-column {
        transform: none;
    }

    .atelion-newsletter-form-column .newsletter-form {
        width: 100%;
    }
}

@media (max-width: 620px) {
    .atelion-newsletter-block .newsletter-form :is(input[type="submit"], button[type="submit"]) {
        width: 100% !important;
    }
}

/* v3.0.10 — Newsletter button and vertical alignment correction */
.atelion-newsletter-form-column {
    transform: none;
}

.atelion-newsletter-block .newsletter-form :is(input[type="submit"], button[type="submit"]) {
    -webkit-appearance: none !important;
    appearance: none !important;
    opacity: 1 !important;
    background-color: #fff !important;
    background-image: none !important;
    border-color: #fff !important;
    color: var(--brand-blue) !important;
    box-shadow: none !important;
    filter: none !important;
    transition: transform .3s var(--easing) !important;
}

.atelion-newsletter-block .newsletter-form :is(input[type="submit"], button[type="submit"]):hover,
.atelion-newsletter-block .newsletter-form :is(input[type="submit"], button[type="submit"]):focus-visible,
.atelion-newsletter-block .newsletter-form :is(input[type="submit"], button[type="submit"]):active {
    transform: translateY(-2px);
    opacity: 1 !important;
    background-color: #fff !important;
    background-image: none !important;
    border-color: #fff !important;
    color: var(--brand-blue) !important;
}

/* v3.0.13 — refined Gutenberg Contact block used on the Contact page */
.atelion-contact-block .contact-block-details--refined {
    display: grid;
    gap: 0;
    min-width: 0;
}

.atelion-contact-block .contact-block-detail {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    padding: 1.25rem 0;
    border-bottom: 1px solid rgba(13, 61, 104, .15);
}

.atelion-contact-block .contact-block-detail:first-child {
    padding-top: 0;
}

.atelion-contact-block .contact-block-detail__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: var(--radius-lg);
    background: var(--brand-blue);
    color: var(--white);
    opacity: 1;
}

.atelion-contact-block .contact-block-detail__icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.atelion-contact-block .contact-block-detail__content {
    display: grid;
    justify-items: start;
    gap: .55rem;
    min-width: 0;
}

.atelion-contact-block .contact-block-detail__label {
    font-family: var(--font-heading);
    font-size: .68rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--brand-blue);
    opacity: 1;
}

.atelion-contact-block .contact-block-detail__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    max-width: 100%;
    padding: 0 1rem;
    border: 1px solid rgba(13, 61, 104, .7);
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--brand-blue);
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: .035em;
    overflow-wrap: anywhere;
    text-decoration: none;
    transition: transform .25s var(--easing), border-color .25s var(--easing);
}

.atelion-contact-block .contact-block-detail__button:hover,
.atelion-contact-block .contact-block-detail__button:focus-visible {
    color: var(--brand-blue);
    background: transparent;
    border-color: var(--brand-blue);
    transform: translateY(-2px);
}

.atelion-contact-block .contact-block-detail__button--whatsapp {
    gap: .6rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.atelion-contact-block .contact-block-detail__button--whatsapp svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
}

.atelion-contact-block .contact-block-detail__text {
    margin: 0;
    color: var(--brand-blue);
    font-style: normal;
    font-size: 1rem;
    line-height: 1.45;
}

.atelion-contact-block .contact-block-social--refined {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 1.25rem;
}

.atelion-contact-block .contact-block-social__link {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid var(--brand-blue);
    border-radius: var(--radius-lg);
    background: var(--brand-blue);
    color: var(--white);
    text-decoration: none;
    transition: transform .25s var(--easing);
}

.atelion-contact-block .contact-block-social__link:hover,
.atelion-contact-block .contact-block-social__link:focus-visible {
    transform: translateY(-2px);
    background: var(--brand-blue);
    color: var(--white);
}

.atelion-contact-block .contact-block-social__link svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.atelion-contact-block .contact-block-social__link svg .is-filled {
    fill: currentColor;
    stroke: none;
}

@media (max-width: 560px) {
    .atelion-contact-block .contact-block-detail {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: .9rem;
        padding: 1.1rem 0;
    }

    .atelion-contact-block .contact-block-detail__icon {
        width: 44px;
        height: 44px;
    }

    .atelion-contact-block .contact-block-detail__button {
        width: 100%;
    }
}

/* v4 — Newsletter final optical alignment
   Keep the section height and form position unchanged; move only the copy
   slightly downward so the heading block sits visually in the vertical centre. */
.atelion-newsletter-block .atelion-newsletter-copy {
    align-self: center;
    transform: translateY(clamp(.75rem, 1.15vw, 1.25rem));
}

@media (max-width: 900px) {
    .atelion-newsletter-block .atelion-newsletter-copy {
        transform: none;
    }
}

/* ==========================================================================
   v4.1.2 — Portfolio interaction refinements
   ========================================================================== */

/* Home Portfolio arrows remain lightweight and borderless. */
.home .showcase-controls button {
    border: 0;
}

/* A light Primary button must remain white with blue copy on interaction. */
.atelion-portfolio-block .btn--light:hover,
.atelion-portfolio-block .btn--light:focus-visible {
    background: var(--white) !important;
    color: var(--brand-blue) !important;
    border-color: var(--white) !important;
}

/* pages.css */
.page-hero,.archive-hero{padding-top:180px;min-height:70svh;display:flex;align-items:flex-end}.portfolio-hero,.post-hero{min-height:100svh;display:flex;align-items:flex-end;padding:180px 0 80px;background-image:linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.72)),var(--hero-image);background-size:cover;background-position:center}.portfolio-hero__content{position:relative}.project-meta{display:flex;flex-wrap:wrap;gap:2rem;margin-top:var(--s-5)}.project-meta dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;opacity:.6}.project-meta dd{margin:.4rem 0 0}.project-case{display:grid;grid-template-columns:minmax(280px,.55fr) minmax(0,1fr);gap:var(--s-7);align-items:start}.project-gallery{display:grid;gap:14px}.project-gallery figure{margin:0}.project-gallery img{width:100%;border-radius:var(--radius-lg)}.contact-details{display:grid;gap:1.2rem}.contact-form input,.contact-form textarea,.brief-form input,.brief-form textarea,.brief-form select{width:100%;padding:1rem;border:1px solid rgba(13,61,104,.18);border-radius:var(--radius-md);background:rgba(255,255,255,.55);color:var(--graphite)}.wpcf7-form{display:grid;gap:1rem}@media(max-width:900px){.project-case{grid-template-columns:1fr}}


/* v1.0.18 — Single portfolio layout and video */
.project-case {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.project-video {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: var(--radius-lg);
    background: var(--deep-navy);
}

.project-video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 900px) {
    .project-case {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Atelion v2.2.2 — single internal-page layout system
   --------------------------------------------------------------------------
   The homepage is intentionally excluded. All internal pages and services
   share one container width and one start distance after the Hero.
   ========================================================================== */

:root {
    --container-content: 1200px;
    --container-narrow: 860px;
    --internal-page-start: clamp(3rem, 6vw, 5rem);
    --internal-flow-gap: clamp(2rem, 3vw, 3rem);
}

/* Shared internal-page backgrounds */
.page-gutenberg-content,
.page-content,
.single-service-content {
    background: var(--warm-paper);
    color: var(--brand-blue);
}

/* Service Hero retains only Hero-specific spacing. */
.single-service-hero {
    padding-bottom: clamp(2rem, 4vw, 4rem);
}

/* --------------------------------------------------------------------------
   1. Main flow
   -------------------------------------------------------------------------- */

body:not(.home) .content-flow {
    width: 100%;
    padding: 0;
    overflow: clip;
}

body:not(.home) .content-flow > * {
    margin-block: 0 !important;
}

body:not(.home) .content-flow > * + * {
    margin-top: var(--internal-flow-gap) !important;
}

/* Exactly one post-Hero distance, regardless of the first block type. */
body:not(.home) .content-flow > :first-child {
    margin-top: 0 !important;
}

body:not(.home) .content-flow > :first-child:not(.scene) {
    padding-top: var(--internal-page-start) !important;
}

body:not(.home) .content-flow > .scene:first-child {
    padding-top: var(--internal-page-start) !important;
}

/* Exactly one bottom distance for ordinary final content. */
body:not(.home) .content-flow > :last-child:not(.scene) {
    padding-bottom: var(--internal-page-start) !important;
}

/* --------------------------------------------------------------------------
   2. One global width for top-level editable content
   -------------------------------------------------------------------------- */

body:not(.home) .content-flow > :not(.scene):not(.alignfull) {
    width: min(calc(100% - 2rem), var(--container));
    max-width: var(--container);
    margin-inline: auto !important;
}

body:not(.home) .content-flow > .alignwide {
    width: min(calc(100% - 2rem), var(--container));
    max-width: var(--container);
}

body:not(.home) .content-flow > .alignfull,
body:not(.home) .content-flow > .scene {
    width: 100%;
    max-width: none;
    margin-inline: 0 !important;
}

/* Full ACF scenes own their vertical rhythm. */
body:not(.home) .content-flow > .scene,
body:not(.home) .content-flow > .scene + *,
body:not(.home) .content-flow > * + .scene {
    margin-top: 0 !important;
}

/* --------------------------------------------------------------------------
   3. Gutenberg Groups and Columns
   -------------------------------------------------------------------------- */

body:not(.home) .content-flow .wp-block-group,
body:not(.home) .content-flow .wp-block-columns {
    margin-block: 0 !important;
}

body:not(.home) .content-flow .wp-block-columns {
    row-gap: clamp(1.25rem, 2vw, 2rem);
}

/* Neutralize WordPress constrained-layout widths and saved inline max-widths. */
body:not(.home) .content-flow > .wp-block-columns,
body:not(.home) .content-flow > .wp-block-group:has(> .wp-block-columns) {
    width: min(calc(100% - 2rem), var(--container)) !important;
    max-width: var(--container) !important;
    margin-inline: auto !important;
}

body:not(.home) .content-flow > .wp-block-group:has(> .wp-block-columns)
    > .wp-block-columns {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
}

/* --------------------------------------------------------------------------
   4. ACF Header — one width and one spacing model
   -------------------------------------------------------------------------- */

/* Saved narrow/normal/wide choices no longer create page-to-page differences
   on internal pages. The homepage remains fully editable. */
body:not(.home) .content-flow > .atelion-heading-block
    .atelion-heading-block__inner {
    width: 100%;
    max-width: none !important;
}

/* A standalone Header is a content component, not another padded section.
   The flow and first-child rules above control all outer spacing. */
body:not(.home) .content-flow > .atelion-heading-block {
    padding-block: 0 !important;
    margin-block: 0 !important;
}

/* The top-level ACF Heading is already constrained by `.content-flow`.
   Its internal `.container` must not subtract the horizontal gutter a second
   time. This is why a standalone Heading looked narrower than the same block
   inside a 50/50 Gutenberg column. */
body:not(.home) .content-flow > .atelion-heading-block > .container {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
}

/* --------------------------------------------------------------------------
   5. ACF blocks nested inside Columns / Groups
   -------------------------------------------------------------------------- */

/* Nested sections are local components and must not carry full-scene padding. */
body:not(.home) .content-flow :is(.wp-block-column, .wp-block-group)
    > .scene {
    width: 100%;
    max-width: none;
    padding-block: 0 !important;
    margin-block: 0 !important;
    overflow: visible;
}

/* Remove the second container level inside nested ACF blocks. */
body:not(.home) .content-flow :is(.wp-block-column, .wp-block-group)
    > :is(.atelion-heading-block, .atelion-text-block, .atelion-button-block, .scene)
    > :is(.container, .container--narrow, .container--content) {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
}

/* Header and Text always fill the complete column. */
body:not(.home) .content-flow :is(.wp-block-column, .wp-block-group)
    .atelion-heading-block__inner,
body:not(.home) .content-flow :is(.wp-block-column, .wp-block-group)
    .atelion-text-block .entry-content {
    width: 100%;
    max-width: none !important;
}

body:not(.home) .content-flow :is(.wp-block-column, .wp-block-group)
    > .atelion-heading-block {
    width: 100%;
    padding-block: 0 !important;
    margin-block: 0 !important;
    background: transparent;
}

/* The first nested Header does not add another post-Hero distance. */
body:not(.home) .content-flow > :first-child:is(.wp-block-group, .wp-block-columns)
    .atelion-heading-block:first-child {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Consistent local gaps between ACF components in one column. */
body:not(.home) .content-flow .wp-block-column
    > :is(.atelion-heading-block, .atelion-text-block, .atelion-button-block)
    + :is(.atelion-heading-block, .atelion-text-block, .atelion-button-block) {
    margin-top: clamp(1.25rem, 2vw, 2rem) !important;
}

/* --------------------------------------------------------------------------
   6. Spacers and automatic ending sections
   -------------------------------------------------------------------------- */

body:not(.home) .content-flow .wp-block-spacer {
    height: auto;
    min-height: 1.5rem;
    margin-block: 0 !important;
}

body:not(.home) :is(.page-portfolio-section, .global-faq-section, .final-cta) {
    margin-block: 0;
}

.single-service-content .content-flow > .atelion-portfolio-block {
    padding-block: clamp(5rem, 10vw, var(--s-9)) !important;
}

/* --------------------------------------------------------------------------
   7. Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {
    body:not(.home) .content-flow > * + * {
        margin-top: 1.5rem !important;
    }

    body:not(.home) .content-flow > :not(.scene):not(.alignfull),
    body:not(.home) .content-flow > .alignwide,
    body:not(.home) .content-flow > .wp-block-columns,
    body:not(.home) .content-flow > .wp-block-group:has(> .wp-block-columns) {
        width: min(calc(100% - 1.5rem), var(--container)) !important;
    }

    body:not(.home) .content-flow .wp-block-columns {
        row-gap: 1.5rem;
    }

    body:not(.home) .content-flow .wp-block-spacer {
        height: auto;
        min-height: 1rem;
    }

    .single-service-hero {
        padding-bottom: 2rem;
    }

    .single-service-content .content-flow > .atelion-portfolio-block {
        padding-block: clamp(4rem, 14vw, 5rem) !important;
    }
}

/* ==========================================================================
   Atelion v2.2.3 — canonical layout for all Service pages
   --------------------------------------------------------------------------
   Some Service entries use standalone ACF scenes (for example Text), while
   others place Header/Text inside Gutenberg Columns. Standalone Text carries
   `.container--narrow`, so two pages could remain 860px wide even though all
   entries use the same `single-service.php`.

   `.service-content-flow` is emitted only by `single-service.php`, therefore
   it is the reliable scope for normalizing every Service entry.
   ========================================================================== */

/* Every direct editable block on a Service page follows one common start. */
.service-content-flow {
    padding: 0;
}

.service-content-flow > :first-child {
    margin-top: 0 !important;
}

/* A non-scene first block receives the shared start as outer component space. */
.service-content-flow > :first-child:not(.scene) {
    padding-top: var(--internal-page-start) !important;
}

/* A full ACF scene receives the same start, replacing its own variable top. */
.service-content-flow > .scene:first-child {
    padding-top: var(--internal-page-start) !important;
}

/* All direct standalone ACF sections use the same inner 1280px container.
   This deliberately overrides Text's `.container--narrow` only on Services. */
.service-content-flow > :is(
    .atelion-heading-block,
    .atelion-text-block,
    .atelion-button-block,
    .atelion-image-block,
    .atelion-video-block,
    .atelion-services-block,
    .atelion-pricing-block,
    .atelion-testimonials-block,
    .atelion-workers-block,
    .atelion-logo-slider-block,
    .atelion-contact-block,
    .atelion-form-block,
    .atelion-brief-form-block,
    .atelion-newsletter-block,
    .scene
) > :is(.container, .container--narrow, .container--content) {
    width: min(calc(100% - 2rem), var(--container)) !important;
    max-width: var(--container) !important;
    margin-inline: auto !important;
}

/* Text content may retain typographic line length only when explicitly placed
   inside an additional editorial wrapper. The block's outer container itself
   must align with every other Service section. */
.service-content-flow > .atelion-text-block
    > :is(.container, .container--narrow, .container--content) {
    width: min(calc(100% - 2rem), var(--container)) !important;
    max-width: var(--container) !important;
}

/* Standalone Service Headers always fill the shared container, regardless of
   saved narrow/normal/wide values from older entries. */
.service-content-flow > .atelion-heading-block
    .atelion-heading-block__inner {
    width: 100%;
    max-width: none !important;
}

/* Top-level Gutenberg Columns/Groups use exactly the same horizontal edges. */
.service-content-flow > .wp-block-columns,
.service-content-flow > .wp-block-group:has(> .wp-block-columns) {
    width: min(calc(100% - 2rem), var(--container)) !important;
    max-width: var(--container) !important;
    margin-inline: auto !important;
}

/* Remove every nested ACF container subtraction inside Service columns.
   Covers both direct and one-extra-wrapper structures saved by Gutenberg. */
.service-content-flow .wp-block-column
    :is(.atelion-heading-block, .atelion-text-block, .atelion-button-block, .scene)
    > :is(.container, .container--narrow, .container--content),
.service-content-flow .wp-block-group
    :is(.atelion-heading-block, .atelion-text-block, .atelion-button-block, .scene)
    > :is(.container, .container--narrow, .container--content) {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
}

/* Gutenberg may save custom dimensions on Group/Columns. The Service template
   must not inherit those legacy width differences. */
.service-content-flow > :is(.wp-block-columns, .wp-block-group)[style] {
    max-width: var(--container) !important;
}

/* Keep mobile gutters consistent with the rest of the theme. */
@media (max-width: 767px) {
    .service-content-flow > :is(
        .atelion-heading-block,
        .atelion-text-block,
        .atelion-button-block,
        .atelion-image-block,
        .atelion-video-block,
        .atelion-services-block,
        .atelion-pricing-block,
        .atelion-testimonials-block,
        .atelion-workers-block,
        .atelion-logo-slider-block,
        .atelion-contact-block,
        .atelion-form-block,
        .atelion-brief-form-block,
        .atelion-newsletter-block,
        .scene
    ) > :is(.container, .container--narrow, .container--content),
    .service-content-flow > .wp-block-columns,
    .service-content-flow > .wp-block-group:has(> .wp-block-columns) {
        width: min(calc(100% - 1.5rem), var(--container)) !important;
    }
}


/* ==========================================================================
   Atelion v2.2.5 — standalone ACF Heading alignment
   --------------------------------------------------------------------------
   The direct ACF Heading block is itself the 1280px layout item. Its child
   `.container` is structural only and must fill the parent.
   ========================================================================== */

.service-content-flow > .atelion-heading-block > .container {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
}

/* The Heading inside Gutenberg Columns already follows the column width.
   Keep the exact same inner-container behavior in both placements. */
.service-content-flow .wp-block-column .atelion-heading-block > .container {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
}


/* ==========================================================================
   Atelion v2.4.15 — Contact Form 7 two-column grid
   --------------------------------------------------------------------------
   Usage in the Contact Form 7 editor:

   <div class="cf7-row">
       <div class="cf7-col">...</div>
       <div class="cf7-col">...</div>
   </div>
   ========================================================================== */

.wpcf7 .cf7-row,
.brief-drawer__form .cf7-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    width: 100%;
}

.wpcf7 .cf7-col,
.brief-drawer__form .cf7-col {
    min-width: 0;
}

.wpcf7 .cf7-col > :first-child,
.brief-drawer__form .cf7-col > :first-child {
    margin-top: 0;
}

.wpcf7 .cf7-col > :last-child,
.brief-drawer__form .cf7-col > :last-child {
    margin-bottom: 0;
}

@media (max-width: 768px) {
    .wpcf7 .cf7-row,
    .brief-drawer__form .cf7-row {
        grid-template-columns: 1fr;
    }
}


/* ==========================================================================
   Atelion v2.4.16 — Premium Contact Form UI
   ========================================================================== */

.wpcf7 textarea,
.brief-drawer__form textarea{
    min-height:180px;
    line-height:1.6;
}

.wpcf7 .cf7-options{
    margin:2rem 0;
    padding:1.5rem;
    border:1px solid rgba(13,61,104,.12);
    border-radius:var(--radius-lg);
    background:rgba(13,61,104,.025);
}

.cf7-options__title{
    margin:0 0 .4rem;
    font-weight:700;
}

.cf7-options__description{
    margin:0 0 1rem;
    opacity:.7;
    font-size:.9rem;
}

.wpcf7 .wpcf7-checkbox{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:.85rem 1.5rem;
}

.wpcf7 .wpcf7-list-item{
    margin:0;
}

.wpcf7 .wpcf7-list-item label{
    display:flex;
    align-items:flex-start;
    gap:.7rem;
    cursor:pointer;
    font-weight:500;
}

.wpcf7 input[type=checkbox]{
    accent-color:var(--accent);
    width:18px;
    height:18px;
    margin-top:.15rem;
}

.wpcf7 .cf7-summary{
    margin:2.5rem 0 1.5rem;
    padding:1.5rem;
    border-left:4px solid var(--accent);
    background:rgba(13,61,104,.03);
    border-radius:var(--radius-md);
}

.wpcf7 .cf7-submit{
    margin-top:2rem;
}

.wpcf7 .cf7-submit .wpcf7-submit{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto!important;
    min-width:200px;
    padding:16px 30px;
    border-radius:999px;
    border:1px solid var(--brand-blue);
    background:var(--brand-blue);
    color:#fff;
    font:inherit;
    font-weight:700;
    box-shadow:none!important;
    transition:.25s ease;
}

.wpcf7 .cf7-submit .wpcf7-submit:hover{
    transform:translateY(-2px);
    background:var(--accent);
    border-color:var(--accent);
}

.wpcf7 .cf7-submit .wpcf7-submit:focus{
    outline:none;
    box-shadow:none!important;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus,
.wpcf7 select:focus{
    box-shadow:none!important;
    border-color:var(--accent)!important;
}

/* v3.0.5 — Portfolio archive heading sourced from the editable Portfolio page */
.portfolio-archive-heading {
    display: grid;
    justify-items: start;
    gap: var(--s-4);
    margin-bottom: var(--s-6);
}

.portfolio-archive-heading .section-heading {
    margin-bottom: 0;
}

/* v3.0.12 — refined contact details */
.contact-layout--refined {
    grid-template-columns: minmax(280px, .58fr) minmax(0, 1fr);
    gap: clamp(3rem, 7vw, 7rem);
    align-items: start;
}

.contact-details--refined {
    gap: 0;
    min-width: 0;
}

.contact-detail-item {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 1.15rem;
    align-items: start;
    padding: 1.35rem 0;
    border-bottom: 1px solid rgba(13, 61, 104, .15);
}

.contact-detail-item:first-child {
    padding-top: 0;
}

.contact-detail-icon {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--brand-blue);
    color: var(--white);
}

.contact-detail-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.contact-detail-content {
    display: grid;
    justify-items: start;
    gap: .55rem;
    min-width: 0;
}

.contact-detail-label {
    font-family: var(--font-heading);
    font-size: .7rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--brand-blue);
}

.contact-detail-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    max-width: 100%;
    padding: 0 1rem;
    border: 1px solid rgba(13, 61, 104, .72);
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--brand-blue);
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: .035em;
    overflow-wrap: anywhere;
    transition: transform .3s var(--easing), border-color .3s var(--easing);
}

.contact-detail-button:hover,
.contact-detail-button:focus-visible {
    color: var(--brand-blue);
    transform: translateY(-2px);
    border-color: var(--brand-blue);
}

.contact-detail-button--whatsapp {
    gap: .65rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.contact-detail-button--whatsapp svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.contact-detail-text {
    margin: 0;
    color: var(--brand-blue);
    font-style: normal;
    font-size: 1rem;
    line-height: 1.45;
}

.contact-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    padding-top: 1.35rem;
}

.contact-social-link {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid var(--brand-blue);
    border-radius: var(--radius-lg);
    background: var(--brand-blue);
    color: var(--white);
    transition: transform .3s var(--easing);
}

.contact-social-link:hover,
.contact-social-link:focus-visible {
    color: var(--white);
    background: var(--brand-blue);
    border-color: var(--brand-blue);
    transform: translateY(-2px);
}

.contact-social-link svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.contact-social-link svg .is-filled {
    fill: currentColor;
    stroke: none;
}

.contact-form--refined {
    min-width: 0;
}

@media (max-width: 1100px) {
    .contact-layout--refined {
        grid-template-columns: 1fr;
        gap: 3.5rem;
    }

    .contact-details--refined {
        width: min(100%, 620px);
    }
}

@media (max-width: 560px) {
    .contact-detail-item {
        grid-template-columns: 42px minmax(0, 1fr);
        gap: .9rem;
        padding: 1.15rem 0;
    }

    .contact-detail-icon {
        width: 40px;
        height: 40px;
    }

    .contact-detail-icon svg {
        width: 18px;
        height: 18px;
    }

    .contact-detail-button {
        width: 100%;
        justify-content: flex-start;
    }
}


/* v3.0.16 — Portfolio archive progressive loading */
.portfolio-load-more {
    display: flex;
    justify-content: center;
    margin-top: clamp(2rem, 4vw, 3.5rem);
}

.portfolio-load-more[hidden] {
    display: none !important;
}

/* ==========================================================================
   Atelion v3.0.25 — canonical internal-page rhythm
   --------------------------------------------------------------------------
   One final spacing layer for manually inserted ACF/Gutenberg content.
   Excludes Home and does not alter the internal padding of automatic Hero,
   Portfolio, FAQ, CTA or Newsletter sections.
   ========================================================================== */

:root {
    --atelion-flow-start: clamp(3.5rem, 5vw, 4.75rem);
    --atelion-flow-gap: clamp(2.5rem, 3.6vw, 3.75rem);
    --atelion-flow-end: clamp(4rem, 5.5vw, 5.5rem);
    --atelion-flow-local-gap: clamp(1.25rem, 1.8vw, 1.75rem);
    --atelion-pricing-after-gap: clamp(3.25rem, 5vw, 5rem);
}

/* Neutral ACF blocks are editorial components, not full padded scenes. */
body:not(.home) :is(.content-flow, .service-content-flow) > :is(
    .atelion-heading-block,
    .atelion-text-block,
    .atelion-button-block,
    .media-block
) {
    padding-block: 0 !important;
    margin-block: 0 !important;
    overflow: visible;
}

/* The first editable component always begins at the same distance from Hero. */
body:not(.home) :is(.content-flow, .service-content-flow) > :first-child:is(
    .atelion-heading-block,
    .atelion-text-block,
    .atelion-button-block,
    .media-block,
    .wp-block-columns,
    .wp-block-group,
    .atelion-pricing-block
) {
    padding-top: var(--atelion-flow-start) !important;
}

/* One external gap between ordinary editable components. */
body:not(.home) :is(.content-flow, .service-content-flow) > :is(
    .atelion-heading-block,
    .atelion-text-block,
    .atelion-button-block,
    .media-block,
    .wp-block-columns,
    .wp-block-group
) + :is(
    .atelion-heading-block,
    .atelion-text-block,
    .atelion-button-block,
    .media-block,
    .wp-block-columns,
    .wp-block-group
) {
    margin-top: var(--atelion-flow-gap) !important;
}

/* Columns stay top-aligned regardless of the final amount of copy. */
body:not(.home) :is(.content-flow, .service-content-flow) .wp-block-columns {
    align-items: flex-start;
    row-gap: var(--atelion-flow-gap);
}

body:not(.home) :is(.content-flow, .service-content-flow)
    :is(.wp-block-column, .wp-block-group)
    > :is(.atelion-heading-block, .atelion-text-block, .atelion-button-block, .media-block) {
    padding-block: 0 !important;
    margin-block: 0 !important;
}

body:not(.home) :is(.content-flow, .service-content-flow) .wp-block-column
    > :is(.atelion-heading-block, .atelion-text-block, .atelion-button-block, .media-block)
    + :is(.atelion-heading-block, .atelion-text-block, .atelion-button-block, .media-block) {
    margin-top: var(--atelion-flow-local-gap) !important;
}

/* Internal containers may not add a second vertical or horizontal gutter. */
body:not(.home) :is(.content-flow, .service-content-flow)
    :is(.atelion-heading-block, .atelion-text-block, .media-block)
    > :is(.container, .container--narrow, .container--content) {
    margin-block: 0 !important;
}

/* The last manual block gets one closing distance before an automatic section. */
body:not(.home) :is(.content-flow, .service-content-flow) > :last-child:is(
    .atelion-heading-block,
    .atelion-text-block,
    .atelion-button-block,
    .media-block,
    .wp-block-columns,
    .wp-block-group,
    .atelion-pricing-block
) {
    padding-bottom: var(--atelion-flow-end) !important;
}

/* WordPress Spacer remains user-controlled. Inline Gutenberg height now wins. */
body:not(.home) :is(.content-flow, .service-content-flow) .wp-block-spacer {
    min-height: 0;
    margin-block: 0 !important;
}

/* Blog and Portfolio archives use the same top rhythm as ordinary pages,
   instead of the larger generic `.scene` padding. */
.blog-archive-section,
.portfolio-archive-section {
    padding-top: var(--atelion-flow-start) !important;
}

/* Archive headings must not receive an additional hidden top offset. */
.blog-archive-heading,
.portfolio-archive-heading {
    margin-top: 0 !important;
}

/* Pricing grids need breathing room, especially before the next heading. */
.atelion-pricing-block {
    padding-block: clamp(1rem, 1.6vw, 1.4rem) !important;
    overflow: visible !important;
}

.atelion-pricing-block .price-card.is-featured {
    outline: 0 !important;
    border: 2px solid var(--accent) !important;
}

body:not(.home) :is(.content-flow, .service-content-flow) > .atelion-pricing-block
    + :is(.atelion-heading-block, .wp-block-columns, .wp-block-group, .atelion-text-block) {
    margin-top: var(--atelion-pricing-after-gap) !important;
}

body:not(.home) :is(.content-flow, .service-content-flow) > .atelion-pricing-block
    + .atelion-pricing-block {
    margin-top: clamp(1.25rem, 2vw, 2rem) !important;
}

/* Newsletter typography on blue: reset generic entry-content heading margins
   and keep Eyebrow close to Headline. */
.entry-content .atelion-newsletter-block .section-heading,
.atelion-newsletter-block .section-heading {
    margin-block: 0 !important;
}

.entry-content .atelion-newsletter-block .section-heading__title,
.atelion-newsletter-block .section-heading__title {
    margin: 0 !important;
    color: var(--white) !important;
}

.atelion-newsletter-block .section-heading__title .headline-accent {
    color: var(--accent) !important;
}

.entry-content .atelion-newsletter-block .eyebrow,
.atelion-newsletter-block .eyebrow {
    margin: 0 0 clamp(.65rem, 1vw, .9rem) !important;
    color: rgba(255,255,255,.76) !important;
}

.atelion-newsletter-block :is(.section-heading__lead, .newsletter-privacy) {
    color: rgba(255,255,255,.76) !important;
}

@media (max-width: 767px) {
    :root {
        --atelion-flow-start: 2.5rem;
        --atelion-flow-gap: 2rem;
        --atelion-flow-end: 3.25rem;
        --atelion-flow-local-gap: 1.25rem;
        --atelion-pricing-after-gap: 3rem;
    }
}

/* Single portfolio: the right gallery is translated by a small resilient
   script only after its bottom reaches the viewport. These declarations keep
   all ancestors compatible with that behavior. */
.single-portfolio .project-case,
.single-portfolio .project-gallery-column,
.single-portfolio .project-gallery {
    overflow: visible !important;
}

.single-portfolio .project-case {
    position: relative;
    align-items: start;
}

.single-portfolio .project-case__intro {
    position: relative !important;
    top: auto !important;
}

.single-portfolio .project-gallery-column {
    min-width: 0;
    align-self: stretch;
}

.single-portfolio .project-gallery {
    transform: translate3d(0, var(--project-gallery-shift, 0px), 0);
    will-change: transform;
}

@media (max-width: 1100px) {
    .single-portfolio .project-gallery {
        transform: none !important;
        will-change: auto;
    }
}

@media (max-width: 767px) {
    :root {
        --atelion-flow-start: 2.5rem;
        --atelion-flow-gap: 2rem;
        --atelion-flow-end: 3.25rem;
        --atelion-flow-local-gap: 1.25rem;
    }
}

/* ==========================================================================
   Atelion v4 — Single Portfolio: remove inherited full-scene spacing
   --------------------------------------------------------------------------
   DOM structure:
   .project-case__intro > .entry-content > .atelion-text-block
   The previous direct-child selector did not match because `.entry-content`
   sits between the intro column and the ACF Text section.
   ========================================================================== */

.single-portfolio .project-case__intro > .entry-content > .atelion-text-block {
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
    margin-block: 0 !important;
    overflow: visible;
}

.single-portfolio .project-case__intro > .entry-content > .atelion-text-block
    > :is(.container, .container--narrow, .container--content) {
    margin-block: 0 !important;
}


/* ==========================================================================
   Atelion v5 — Global sticky ACF Heading in Gutenberg Columns
   --------------------------------------------------------------------------
   On internal pages, an ACF Heading placed in the first Gutenberg column
   remains visible while the content in the adjacent column scrolls.
   The sticky behavior ends with the Columns block and is disabled on mobile.
   ========================================================================== */

@media (min-width: 961px) {
    body:not(.home) :is(.content-flow, .service-content-flow) .wp-block-columns {
        align-items: flex-start;
        overflow: visible;
    }

    body:not(.home) :is(.content-flow, .service-content-flow)
        .wp-block-columns > .wp-block-column:first-child {
        position: relative;
        align-self: stretch;
        overflow: visible;
    }

    body:not(.home) :is(.content-flow, .service-content-flow)
        .wp-block-columns > .wp-block-column:first-child .atelion-heading-block {
        position: sticky;
        top: 110px;
        z-index: 2;
        align-self: flex-start;
        padding-block: 0 !important;
        margin-block: 0 !important;
    }
}

/* ========================================================================== 
   Atelion v5.1.8 — Single Portfolio editorial alignment
   --------------------------------------------------------------------------
   Isolated to single Portfolio entries. Removes the generic scene top space
   and the second horizontal container gutter added by ACF editorial blocks,
   so ACF headings align with native Gutenberg copy in the left column.
   ========================================================================== */

.single-portfolio .portfolio-hero + .scene.scene--paper {
    padding-block-start: clamp(3.5rem, 5vw, 4.75rem);
}

.single-portfolio .project-case__intro > .entry-content > .atelion-heading-block {
    width: 100%;
    padding-block: 0 !important;
    margin-block: 0 !important;
    background: transparent;
    overflow: visible;
}

.single-portfolio .project-case__intro > .entry-content > .atelion-heading-block
    > .container,
.single-portfolio .project-case__intro > .entry-content > .atelion-text-block
    > :is(.container, .container--narrow, .container--content) {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
}

.single-portfolio .project-case__intro > .entry-content
    .atelion-heading-block__inner {
    width: 100%;
    max-width: none !important;
}

/* Keep a controlled editorial gap when an ACF heading follows Gutenberg copy. */
.single-portfolio .project-case__intro > .entry-content
    > * + .atelion-heading-block {
    margin-top: clamp(3rem, 4.5vw, 4.5rem) !important;
}

@media (max-width: 900px) {
    .single-portfolio .portfolio-hero + .scene.scene--paper {
        padding-block-start: 3rem;
    }
}

/* ==========================================================
   GOOGLE ADS LANDING PAGE — isolated from the rest of theme
   ========================================================== */
.ads-landing{background:var(--warm-paper);color:var(--brand-blue)}
.ads-landing .scene{overflow:clip}
.ads-landing__hero{position:relative;min-height:100svh;padding:clamp(9rem,14vw,13rem) 0 clamp(5rem,8vw,8rem);background:var(--deep-navy);color:var(--white);overflow:hidden}
.ads-landing__hero::before{content:"";position:absolute;inset:auto -12vw -35vw auto;width:70vw;aspect-ratio:1;border:1px solid rgba(255,151,55,.22);border-radius:50%;pointer-events:none}
.ads-landing__hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:clamp(3rem,7vw,8rem)}
.ads-landing__hero-copy h1{max-width:780px;margin:.7rem 0 1.6rem;font-size:clamp(2.9rem,4.8vw,5.35rem);line-height:.94;letter-spacing:-.05em;color:#fff}
.ads-landing__hero-lead{max-width:700px;margin:0;color:rgba(255,255,255,.72);font-family:var(--font-body);font-size:clamp(1rem,1.25vw,1.25rem);line-height:1.65}
.ads-landing__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.ads-landing__trust{display:flex;flex-wrap:wrap;gap:.65rem 1.4rem;margin:2.2rem 0 0;padding:1.3rem 0 0;border-top:1px solid rgba(255,255,255,.12);list-style:none;font-family:var(--font-body);font-size:.72rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.ads-landing__trust li:not(:last-child)::after{content:"/";margin-left:1.4rem;color:var(--accent)}
.ads-landing__hero-media{position:relative;min-height:clamp(420px,55vw,760px);display:grid;place-items:center}
.ads-landing__hero-image{width:115%;max-width:none;height:auto;border-radius:var(--radius-lg);box-shadow:0 40px 90px rgba(0,0,0,.35);transform:rotate(-4deg)}
.ads-landing__hero-placeholder{width:100%;aspect-ratio:4/3;padding:clamp(2rem,4vw,4rem);display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#fff,var(--soft-stone));color:var(--brand-blue);border-radius:var(--radius-lg);box-shadow:0 40px 90px rgba(0,0,0,.35);transform:rotate(-4deg)}
.ads-landing__hero-placeholder span{font-family:var(--font-body);font-size:.75rem;font-weight:800;letter-spacing:.18em}.ads-landing__hero-placeholder strong{font-size:clamp(2rem,4vw,4.5rem);line-height:.95;letter-spacing:-.05em}
.ads-landing__split{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(3rem,8vw,9rem);align-items:start}
.ads-landing__sticky{position:sticky;top:130px}.ads-landing__sticky h2,.ads-landing__section-head h2,.ads-landing__qualify h2{margin:.55rem 0 0;font-size:clamp(2.4rem,4.5vw,5rem);line-height:.98;letter-spacing:-.045em}
.ads-landing__statement-content{max-width:850px}.ads-landing__large-copy{margin:0 0 clamp(3rem,5vw,5rem);font-family:var(--font-body);font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.55;color:var(--graphite)}
.ads-landing__pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(13,61,104,.14);border:1px solid rgba(13,61,104,.14)}
.ads-landing__pillars article{padding:clamp(1.5rem,3vw,2.6rem);background:var(--warm-paper)}
.ads-landing__pillars span,.ads-step>span{font-family:var(--font-body);font-size:.72rem;font-weight:800;color:var(--accent);letter-spacing:.1em}.ads-landing__pillars h3{margin:2.4rem 0 .8rem;font-size:1.25rem}.ads-landing__pillars p,.ads-step p{margin:0;font-size:.95rem;color:var(--graphite)}
.ads-landing__section-head{max-width:880px;margin-bottom:clamp(3rem,6vw,6rem)}.ads-landing__section-head>p:last-child{max-width:650px;margin-top:1.2rem;color:inherit;opacity:.72}
.ads-landing__work{color:#fff}.ads-landing__work .eyebrow{color:rgba(255,255,255,.6)}
.ads-landing__projects{display:grid;gap:clamp(3rem,6vw,6rem)}.ads-project__media{display:block;overflow:hidden;border-radius:var(--radius-md);background:var(--deep-navy)}.ads-project__media img{display:block;width:100%;aspect-ratio:16/8.2;object-fit:cover;transition:transform .7s var(--easing)}.ads-project:hover .ads-project__media img{transform:scale(1.018)}
.ads-project__meta{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding-top:1.35rem}.ads-project__meta h3{margin:.3rem 0 0;color:#fff;font-size:clamp(1.8rem,3vw,3rem)}.ads-project__meta .text-link{color:#fff}
.ads-landing__steps{border-top:1px solid rgba(13,61,104,.16)}.ads-step{display:grid;grid-template-columns:70px minmax(180px,.75fr) minmax(0,1fr);gap:2rem;padding:2rem 0;border-bottom:1px solid rgba(13,61,104,.16);align-items:start}.ads-step h3{margin:0;font-size:clamp(1.25rem,2vw,1.75rem)}
.ads-landing__compare{color:#fff}.ads-landing__compare .eyebrow{color:rgba(255,255,255,.55)}.ads-compare{border-top:1px solid rgba(255,255,255,.18)}.ads-compare__row{display:grid;grid-template-columns:.65fr 1fr 1fr;gap:2rem;padding:1.35rem 0;border-bottom:1px solid rgba(255,255,255,.14);font-family:var(--font-body)}.ads-compare__row strong{color:var(--accent)}.ads-compare__row span:last-child{font-weight:700;color:#fff}
.ads-process{counter-reset:process;display:grid;grid-template-columns:repeat(5,1fr);margin:0;padding:0;list-style:none;border-top:1px solid rgba(13,61,104,.16);border-bottom:1px solid rgba(13,61,104,.16)}.ads-process li{position:relative;min-height:180px;padding:4.5rem 1.2rem 1.5rem;border-right:1px solid rgba(13,61,104,.16);font-family:var(--font-body);font-weight:700}.ads-process li:last-child{border-right:0}.ads-process li::before{counter-increment:process;content:"0" counter(process);position:absolute;top:1.2rem;left:1.2rem;color:var(--accent);font-size:.72rem;letter-spacing:.1em}
.ads-landing__qualify{color:#fff}.ads-landing__qualify-inner{max-width:1000px}.ads-landing__qualify .eyebrow{color:rgba(255,255,255,.6)}.ads-landing__qualify-inner>p:not(.eyebrow){max-width:850px;font-size:clamp(1.15rem,1.7vw,1.45rem);color:rgba(255,255,255,.8)}.ads-landing__qualify-note{margin-top:2.5rem!important;padding-top:2rem;border-top:1px solid rgba(255,255,255,.18);font-size:1rem!important;color:rgba(255,255,255,.58)!important}
.ads-landing__contact-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(3rem,8vw,9rem);align-items:start}.ads-landing__sticky>p:last-child{margin-top:1.4rem;color:var(--graphite)}.ads-landing__form{padding:clamp(1.5rem,3vw,3rem);background:#fff;border:1px solid rgba(13,61,104,.1);border-radius:var(--radius-md)}.ads-landing__form-placeholder{padding:2rem;border:1px dashed rgba(13,61,104,.25)}
body.page-template-page-landing .site-footer__top{padding-top:0}
@media(max-width:960px){.ads-landing__hero-grid,.ads-landing__split,.ads-landing__contact-grid{grid-template-columns:1fr}.ads-landing__hero{padding-top:9rem}.ads-landing__hero-media{min-height:auto}.ads-landing__hero-image{width:100%;transform:rotate(-2deg)}.ads-landing__sticky{position:static}.ads-landing__pillars{grid-template-columns:1fr}.ads-process{grid-template-columns:1fr 1fr}.ads-process li{min-height:130px;border-bottom:1px solid rgba(13,61,104,.16)}.ads-project__meta{align-items:start}.ads-step{grid-template-columns:50px 1fr}.ads-step p{grid-column:2}.ads-compare__row{grid-template-columns:.65fr 1fr 1fr;font-size:.9rem}}
@media(max-width:600px){.ads-landing__hero-copy h1{font-size:clamp(2.45rem,11vw,3.75rem)}.ads-landing__trust{display:grid;grid-template-columns:1fr 1fr}.ads-landing__trust li::after{display:none}.ads-project__media img{aspect-ratio:4/3}.ads-project__meta{display:grid;gap:1rem}.ads-process{grid-template-columns:1fr}.ads-process li{border-right:0}.ads-compare__row{grid-template-columns:1fr;gap:.4rem;padding:1.2rem 0}.ads-compare__row strong{margin-bottom:.4rem}.ads-step{grid-template-columns:38px 1fr;gap:1rem}}


/* Google Ads Landing — Hero watermark (reuses Home wordmark) */
body.page-template-page-landing .ads-landing__hero-grid{z-index:2}
body.page-template-page-landing .ads-landing__hero-watermark{position:absolute;z-index:1;left:50%;bottom:-1.25vw;width:100vw;transform:translateX(-50%);pointer-events:none;overflow:hidden;opacity:.72}
body.page-template-page-landing .ads-landing__hero-watermark-image{display:block;width:100%;height:auto;max-width:none}
@media(max-width:960px){body.page-template-page-landing .ads-landing__hero-watermark{bottom:-.5rem;width:125vw;opacity:.5}}
@media(max-width:600px){body.page-template-page-landing .ads-landing__hero-watermark{width:155vw;opacity:.38}}

/* ==========================================================
   GOOGLE ADS LANDING — Safari layout hardening
   Scoped only to page-landing.php. Keep Chrome/Firefox layout unchanged.
   ========================================================== */
body.page-template-page-landing .ads-landing,
body.page-template-page-landing .ads-landing *{min-width:0}

body.page-template-page-landing .ads-landing .container{width:min(100% - 2rem,var(--container));max-width:var(--container);margin-inline:auto}

body.page-template-page-landing .ads-landing__hero{min-height:100vh}
@supports (height:100svh){body.page-template-page-landing .ads-landing__hero{min-height:100svh}}

body.page-template-page-landing .ads-landing__hero-grid{grid-template-columns:minmax(0,9fr) minmax(420px,11fr)}
body.page-template-page-landing .ads-landing__split,
body.page-template-page-landing .ads-landing__contact-grid{grid-template-columns:minmax(260px,36fr) minmax(0,64fr)}
body.page-template-page-landing .ads-landing__pillars{grid-template-columns:repeat(3,minmax(0,1fr))}
body.page-template-page-landing .ads-step{grid-template-columns:70px minmax(180px,3fr) minmax(0,4fr)}
body.page-template-page-landing .ads-compare__row{grid-template-columns:minmax(0,65fr) minmax(0,100fr) minmax(0,100fr)}
body.page-template-page-landing .ads-process{grid-template-columns:repeat(5,minmax(0,1fr))}

body.page-template-page-landing .ads-landing__hero-copy,
body.page-template-page-landing .ads-landing__hero-media,
body.page-template-page-landing .ads-landing__statement-content,
body.page-template-page-landing .ads-landing__steps,
body.page-template-page-landing .ads-landing__form,
body.page-template-page-landing .ads-project,
body.page-template-page-landing .ads-project__meta{min-width:0;max-width:100%}

body.page-template-page-landing .ads-landing__hero-image{display:block}
body.page-template-page-landing .ads-project__media img{height:auto}
body.page-template-page-landing .ads-landing__sticky{position:-webkit-sticky;position:sticky}

@media(max-width:960px){
 body.page-template-page-landing .ads-landing__hero-grid,
 body.page-template-page-landing .ads-landing__split,
 body.page-template-page-landing .ads-landing__contact-grid{grid-template-columns:minmax(0,1fr)}
 body.page-template-page-landing .ads-landing__pillars{grid-template-columns:minmax(0,1fr)}
 body.page-template-page-landing .ads-process{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.page-template-page-landing .ads-step{grid-template-columns:50px minmax(0,1fr)}
 body.page-template-page-landing .ads-compare__row{grid-template-columns:minmax(0,65fr) minmax(0,100fr) minmax(0,100fr)}
}
@media(max-width:600px){
 body.page-template-page-landing .ads-process,
 body.page-template-page-landing .ads-compare__row{grid-template-columns:minmax(0,1fr)}
 body.page-template-page-landing .ads-step{grid-template-columns:38px minmax(0,1fr)}
}

/* ==========================================================
   GOOGLE ADS LANDING — cross-browser layout compatibility
   Safari-safe flex fallback. Scoped only to page-landing.php.
   Keeps the approved desktop proportions without relying on Grid.
   ========================================================== */
@media (min-width: 961px) {
    body.page-template-page-landing .ads-landing__hero-grid {
        display: flex;
        align-items: center;
        gap: clamp(3rem, 7vw, 8rem);
    }

    body.page-template-page-landing .ads-landing__hero-copy {
        flex: 0 1 45%;
        width: 45%;
    }

    body.page-template-page-landing .ads-landing__hero-media {
        flex: 1 1 55%;
        width: 55%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    body.page-template-page-landing .ads-landing__split,
    body.page-template-page-landing .ads-landing__contact-grid {
        display: flex;
        align-items: flex-start;
        gap: clamp(3rem, 8vw, 9rem);
    }

    body.page-template-page-landing .ads-landing__split > :first-child,
    body.page-template-page-landing .ads-landing__contact-grid > :first-child {
        flex: 0 0 36%;
        width: 36%;
    }

    body.page-template-page-landing .ads-landing__split > :last-child,
    body.page-template-page-landing .ads-landing__contact-grid > :last-child {
        flex: 1 1 64%;
        width: 64%;
    }

    body.page-template-page-landing .ads-landing__pillars {
        display: flex;
        align-items: stretch;
    }

    body.page-template-page-landing .ads-landing__pillars > article {
        flex: 1 1 0;
        width: 33.333%;
    }

    body.page-template-page-landing .ads-step {
        display: flex;
        align-items: flex-start;
        gap: 2rem;
    }

    body.page-template-page-landing .ads-step > span {
        flex: 0 0 70px;
    }

    body.page-template-page-landing .ads-step > h3 {
        flex: 0 0 30%;
    }

    body.page-template-page-landing .ads-step > p {
        flex: 1 1 auto;
    }

    body.page-template-page-landing .ads-compare__row {
        display: flex;
        align-items: flex-start;
        gap: 2rem;
    }

    body.page-template-page-landing .ads-compare__row > strong {
        flex: 0 0 24%;
    }

    body.page-template-page-landing .ads-compare__row > span {
        flex: 1 1 38%;
    }

    body.page-template-page-landing .ads-process {
        display: flex;
        align-items: stretch;
    }

    body.page-template-page-landing .ads-process > li {
        flex: 1 1 20%;
        width: 20%;
    }
}

@media (max-width: 960px) {
    body.page-template-page-landing .ads-landing__hero-grid,
    body.page-template-page-landing .ads-landing__split,
    body.page-template-page-landing .ads-landing__contact-grid,
    body.page-template-page-landing .ads-landing__pillars {
        display: flex;
        flex-direction: column;
    }

    body.page-template-page-landing .ads-landing__hero-copy,
    body.page-template-page-landing .ads-landing__hero-media,
    body.page-template-page-landing .ads-landing__split > *,
    body.page-template-page-landing .ads-landing__contact-grid > *,
    body.page-template-page-landing .ads-landing__pillars > article {
        width: 100%;
        flex-basis: auto;
    }

    body.page-template-page-landing .ads-process {
        display: flex;
        flex-wrap: wrap;
    }

    body.page-template-page-landing .ads-process > li {
        flex: 0 0 50%;
        width: 50%;
    }

    body.page-template-page-landing .ads-step {
        display: grid;
        grid-template-columns: 50px minmax(0, 1fr);
    }

    body.page-template-page-landing .ads-step > p {
        grid-column: 2;
    }
}

@media (max-width: 600px) {
    body.page-template-page-landing .ads-process > li {
        flex: 0 0 100%;
        width: 100%;
    }

    body.page-template-page-landing .ads-compare__row {
        display: flex;
        flex-direction: column;
        gap: .4rem;
    }

    body.page-template-page-landing .ads-compare__row > strong,
    body.page-template-page-landing .ads-compare__row > span {
        width: 100%;
        flex-basis: auto;
    }
}

/* ==========================================================
   GOOGLE ADS LANDING — Hero proportions v5.2.4
   Landing only: wider 50/50 hero copy/media balance.
   Buttons use the main Home hero variants in page-landing.php.
   ========================================================== */
@media (min-width: 961px) {
    body.page-template-page-landing .ads-landing__hero-grid {
        gap: clamp(2.5rem, 4vw, 4.5rem);
    }

    body.page-template-page-landing .ads-landing__hero-copy,
    body.page-template-page-landing .ads-landing__hero-media {
        flex: 1 1 0;
        width: auto;
    }

    body.page-template-page-landing .ads-landing__hero-copy h1 {
        max-width: none;
    }
}

/* brief-drawer.css */
/* Atelion Studio v6.1.9 — global project drawer, aligned with v2 Preview */
html.is-brief-drawer-open,
html.is-brief-drawer-open body{overflow:hidden}
.brief-drawer[hidden]{display:none}
.brief-drawer{position:fixed;inset:0;z-index:2200;visibility:hidden;pointer-events:none}
.brief-drawer.is-open{visibility:visible;pointer-events:auto}
.brief-drawer__backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(6,19,31,.55);opacity:0;cursor:pointer;transition:opacity .3s ease}
.brief-drawer.is-open .brief-drawer__backdrop{opacity:1}
.brief-drawer__panel{position:absolute;right:0;top:0;bottom:0;width:min(100%,680px);height:100%;overflow-y:auto;overscroll-behavior:contain;padding:42px;background:var(--paper,#f1efe9);color:var(--ink,#091521);box-shadow:-30px 0 90px rgba(6,19,31,.16);transform:translateX(100%);transition:transform .45s var(--ease,cubic-bezier(.22,.61,.36,1));outline:0}
.brief-drawer.is-open .brief-drawer__panel{transform:none}
.brief-drawer__top{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brief-drawer__eyebrow{margin:0;font-family:var(--font-body,inherit);font-size:13px;line-height:1.45;letter-spacing:.105em;text-transform:uppercase;font-weight:600;color:var(--ink,#091521)}
.brief-drawer__close,.brief-drawer__close:hover,.brief-drawer__close:focus-visible{display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:0;background:transparent;color:var(--ink,#091521);font-size:30px;line-height:1;cursor:pointer;transition:transform .25s ease}
.brief-drawer__close:hover,.brief-drawer__close:focus-visible{transform:rotate(5deg)}
.brief-drawer__close span{display:block;transform:translateY(-1px)}
.brief-drawer__title{margin:72px 0 24px;max-width:10ch;font-family:var(--font-body,inherit);font-size:clamp(52px,6vw,86px);font-weight:500;line-height:.9;letter-spacing:-.06em;color:var(--ink,#091521)}
.brief-drawer__title em{font-family:var(--font-serif,"Instrument Serif",serif);font-weight:400;font-style:italic;letter-spacing:-.035em;color:var(--orange,#ff9737)}
.brief-drawer__intro{max-width:530px;margin:0;color:#53606c;font-size:16px;line-height:1.6}
.brief-drawer__intro>:first-child{margin-top:0}.brief-drawer__intro>:last-child{margin-bottom:0}
.brief-drawer__time-note{display:inline-flex;align-items:center;gap:9px;margin:18px 0 0;font-size:11px;line-height:1.45;letter-spacing:.06em;text-transform:uppercase;color:#66717a}
.brief-drawer__time-note:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange,#ff9737);flex:none}
.brief-drawer__form{margin-top:52px}
.brief-drawer__form form,.brief-drawer__form .wpcf7-form{display:grid;grid-template-columns:1fr 1fr;gap:24px 22px}
.brief-drawer__form form>p{margin:0;min-width:0}
.brief-drawer__form form>p:has(textarea),.brief-drawer__form form>p:has(input[type="submit"]),.brief-drawer__form form>p:has(button[type="submit"]),.brief-drawer__form form>p:has(.wpcf7-submit),.brief-drawer__form .wpcf7-response-output{grid-column:1/-1}
.brief-drawer__form label{display:grid;gap:9px;font-family:var(--font-body,inherit);font-size:11px;line-height:1.4;text-transform:uppercase;letter-spacing:.075em;font-weight:600;color:#33414e}
.brief-drawer__form .wpcf7-form-control-wrap{display:block;width:100%}
.brief-drawer__form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),textarea,select){display:block;width:100%;min-height:48px;padding:13px 0 14px;border:0!important;border-bottom:1px solid #8f969b!important;border-radius:0!important;background:transparent!important;color:var(--ink,#091521)!important;font:inherit;font-size:16px;line-height:1.45;box-shadow:none!important;outline:0;transition:border-color .2s ease}
.brief-drawer__form :is(input,textarea)::placeholder{color:#7b8389;opacity:1}
.brief-drawer__form textarea{min-height:112px;resize:vertical}
.brief-drawer__form :is(input,textarea,select):focus{border-bottom-color:var(--orange,#ff9737)!important;box-shadow:none!important;outline:0}
.brief-drawer__form :is(input[type="submit"],button[type="submit"],.wpcf7-submit){display:inline-flex;align-items:center;justify-content:center;width:100%!important;min-height:60px;margin-top:16px;padding:0 24px;border:0!important;border-radius:0!important;background:var(--blue,#0d3d68)!important;color:#fff!important;font-family:var(--font-body,inherit);font-size:12px;font-weight:650;line-height:1;text-transform:uppercase;letter-spacing:.085em;box-shadow:none!important;cursor:pointer;transition:background .25s ease,transform .25s ease}
.brief-drawer__form :is(input[type="submit"],button[type="submit"],.wpcf7-submit):hover{background:var(--navy,#06131f)!important;transform:translateY(-2px)}
.brief-drawer__form .wpcf7-spinner{grid-column:1/-1;margin:10px 0 0}
.brief-drawer__form .wpcf7-response-output{margin:8px 0 0!important;padding:14px 0!important;border-width:1px 0 0!important;border-color:#8f969b!important;font-size:13px}
.brief-drawer__top,.brief-drawer__title,.brief-drawer__intro,.brief-drawer__time-note,.brief-drawer__form{opacity:0;transform:translateY(12px);transition:opacity .34s ease,transform .42s var(--ease,cubic-bezier(.22,.61,.36,1))}
.brief-drawer.is-open .brief-drawer__top,.brief-drawer.is-open .brief-drawer__title,.brief-drawer.is-open .brief-drawer__intro,.brief-drawer.is-open .brief-drawer__time-note,.brief-drawer.is-open .brief-drawer__form{opacity:1;transform:none}
.brief-drawer.is-open .brief-drawer__top{transition-delay:.08s}.brief-drawer.is-open .brief-drawer__title{transition-delay:.12s}.brief-drawer.is-open .brief-drawer__intro{transition-delay:.16s}.brief-drawer.is-open .brief-drawer__time-note{transition-delay:.19s}.brief-drawer.is-open .brief-drawer__form{transition-delay:.23s}
@media(max-width:700px){.brief-drawer__panel{width:100%;padding:26px 20px 34px}.brief-drawer__title{margin-top:54px;font-size:clamp(48px,15vw,70px)}.brief-drawer__form form,.brief-drawer__form .wpcf7-form{grid-template-columns:1fr;gap:20px}.brief-drawer__form form>p{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.brief-drawer__backdrop,.brief-drawer__panel,.brief-drawer__top,.brief-drawer__title,.brief-drawer__intro,.brief-drawer__time-note,.brief-drawer__form{transition-duration:.01ms!important;transition-delay:0s!important}}


/* v6.1.10 — final parity with v2 Preview drawer */
body.atelion-v2 .brief-drawer__time-note{display:none}
body.atelion-v2 .brief-drawer__form .wpcf7-form{align-items:start}
body.atelion-v2 .brief-drawer__form .wpcf7-form > p{min-width:0;margin:0}
body.atelion-v2 .brief-drawer__form .wpcf7-form > p br{display:none}
body.atelion-v2 .brief-drawer__form label{display:block;min-width:0}
body.atelion-v2 .brief-drawer__form .wpcf7-list-item{margin:0}
body.atelion-v2 .brief-drawer__form select{appearance:auto}
body.atelion-v2 .brief-drawer__form .wpcf7-not-valid-tip{margin-top:6px;font-size:11px;line-height:1.35;text-transform:none;letter-spacing:0;color:#a23939}
body.atelion-v2 .brief-drawer__form .wpcf7-response-output{grid-column:1/-1}
body.atelion-v2 .brief-drawer__panel{border-left:0!important}
body.atelion-v2 .brief-drawer__close{border:0!important;background:transparent!important;box-shadow:none!important}
@media (min-width:701px){
  body.atelion-v2 .brief-drawer__panel{width:min(100%,680px);padding:42px}
}


/* ==========================================================================
   v6.1.25 — Preview-parity drawer reset
   One authoritative visual layer for the production CF7 drawer.
   ========================================================================== */
body.atelion-v2 .brief-drawer{
  --drawer-paper:#f3f0e9;
  --drawer-ink:#07131f;
  --drawer-muted:#64707b;
  --drawer-rule:#a8adb0;
}
body.atelion-v2 .brief-drawer__backdrop{
  background:rgba(6,19,31,.62);
  -webkit-backdrop-filter:blur(2px);
  backdrop-filter:blur(2px);
}
body.atelion-v2 .brief-drawer__panel{
  width:min(42vw,720px)!important;
  min-width:620px;
  padding:44px 38px 38px!important;
  background:var(--drawer-paper)!important;
  color:var(--drawer-ink)!important;
  border:0!important;
  border-left:0!important;
  box-shadow:-34px 0 90px rgba(6,19,31,.18)!important;
}
body.atelion-v2 .brief-drawer__top{
  min-height:28px;
  align-items:flex-start;
}
body.atelion-v2 .brief-drawer__eyebrow{
  margin:0;
  font-size:12px;
  font-weight:700;
  letter-spacing:.10em;
  color:var(--drawer-ink);
}
body.atelion-v2 .brief-drawer__close,
body.atelion-v2 .brief-drawer__close:hover,
body.atelion-v2 .brief-drawer__close:focus,
body.atelion-v2 .brief-drawer__close:focus-visible{
  width:30px;
  height:30px;
  margin:0;
  padding:0;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--drawer-ink)!important;
  font-size:28px;
  transform:none;
}
body.atelion-v2 .brief-drawer__title{
  max-width:none!important;
  width:100%;
  margin:72px 0 22px!important;
  font-size:clamp(58px,4.8vw,82px)!important;
  line-height:.92!important;
  letter-spacing:-.06em!important;
  font-weight:500!important;
  color:var(--drawer-ink)!important;
  text-wrap:balance;
}
body.atelion-v2 .brief-drawer__title em{
  display:inline;
  color:var(--orange,#ff9737)!important;
  font-family:var(--font-serif,"Instrument Serif",serif)!important;
  font-weight:400!important;
  font-style:italic!important;
  letter-spacing:-.04em!important;
}
body.atelion-v2 .brief-drawer__intro{
  max-width:560px;
  margin:0;
  color:var(--drawer-muted)!important;
  font-size:16px;
  line-height:1.55;
}
body.atelion-v2 .brief-drawer__time-note{display:none!important}
body.atelion-v2 .brief-drawer__form{
  margin-top:42px!important;
}
/* CF7: flatten legacy rows/cards and make the actual form behave like Preview. */
body.atelion-v2 .brief-drawer__form form,
body.atelion-v2 .brief-drawer__form .wpcf7-form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px 20px!important;
  align-items:start;
  margin:0!important;
}
body.atelion-v2 .brief-drawer__form .cf7-row{
  display:contents!important;
}
body.atelion-v2 .brief-drawer__form .cf7-col{
  min-width:0;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
body.atelion-v2 .brief-drawer__form form>p,
body.atelion-v2 .brief-drawer__form .wpcf7-form>p,
body.atelion-v2 .brief-drawer__form .cf7-col>p{
  margin:0!important;
  min-width:0;
}
body.atelion-v2 .brief-drawer__form label{
  display:block!important;
  margin:0!important;
  color:#34404a!important;
  font-family:var(--font-body,inherit)!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}
body.atelion-v2 .brief-drawer__form .wpcf7-form-control-wrap{
  display:block;
  width:100%;
  margin-top:8px;
}
body.atelion-v2 .brief-drawer__form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),textarea,select){
  width:100%!important;
  min-height:42px!important;
  margin:0!important;
  padding:9px 0 11px!important;
  border:0!important;
  border-bottom:1px solid var(--drawer-rule)!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  color:var(--drawer-ink)!important;
  box-shadow:none!important;
  font-family:var(--font-body,inherit)!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.4!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
body.atelion-v2 .brief-drawer__form :is(input,textarea)::placeholder{
  color:#899198!important;
  opacity:1!important;
}
body.atelion-v2 .brief-drawer__form select{
  appearance:auto!important;
}
body.atelion-v2 .brief-drawer__form textarea{
  min-height:96px!important;
  max-height:150px;
  resize:vertical;
}
body.atelion-v2 .brief-drawer__form :is(input,textarea,select):focus{
  border-bottom-color:var(--drawer-ink)!important;
  outline:0!important;
  box-shadow:none!important;
}
/* Long/context fields and submit rows span both columns regardless of CF7 markup. */
body.atelion-v2 .brief-drawer__form :is(p,.cf7-col):has(textarea),
body.atelion-v2 .brief-drawer__form :is(p,.cf7-col):has(input[type="submit"]),
body.atelion-v2 .brief-drawer__form :is(p,.cf7-col):has(button[type="submit"]),
body.atelion-v2 .brief-drawer__form :is(p,.cf7-col):has(.wpcf7-submit),
body.atelion-v2 .brief-drawer__form .wpcf7-response-output{
  grid-column:1/-1!important;
}
body.atelion-v2 .brief-drawer__form :is(input[type="submit"],button[type="submit"],.wpcf7-submit){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:56px!important;
  margin:8px 0 0!important;
  padding:0 24px!important;
  border:0!important;
  border-radius:0!important;
  background:var(--blue,#0d3d68)!important;
  color:#fff!important;
  box-shadow:none!important;
  font-family:var(--font-body,inherit)!important;
  font-size:11px!important;
  font-weight:750!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  cursor:pointer;
}
body.atelion-v2 .brief-drawer__form :is(input[type="submit"],button[type="submit"],.wpcf7-submit):hover{
  background:var(--navy,#06131f)!important;
  transform:none!important;
}
body.atelion-v2 .brief-drawer__form .wpcf7-spinner{margin:8px 0 0!important}
body.atelion-v2 .brief-drawer__form .wpcf7-response-output{
  margin:4px 0 0!important;
  padding:12px 0!important;
  border:0!important;
  border-top:1px solid var(--drawer-rule)!important;
  font-size:12px!important;
}
body.atelion-v2 .brief-drawer__form .wpcf7-not-valid-tip{
  margin-top:5px!important;
  font-size:10px!important;
  line-height:1.3!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
@media(max-width:1100px){
  body.atelion-v2 .brief-drawer__panel{
    width:min(58vw,700px)!important;
    min-width:0;
  }
}
@media(max-width:700px){
  body.atelion-v2 .brief-drawer__panel{
    width:100%!important;
    min-width:0!important;
    padding:24px 20px 32px!important;
  }
  body.atelion-v2 .brief-drawer__title{
    margin-top:50px!important;
    font-size:clamp(46px,13vw,64px)!important;
    line-height:.94!important;
  }
  body.atelion-v2 .brief-drawer__intro{font-size:15px}
  body.atelion-v2 .brief-drawer__form{margin-top:34px!important}
  body.atelion-v2 .brief-drawer__form form,
  body.atelion-v2 .brief-drawer__form .wpcf7-form{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  body.atelion-v2 .brief-drawer__form :is(p,.cf7-col){grid-column:1/-1!important}
}

/* ==========================================================================
   v6.1.49 — project drawer: v2 Preview proportion and editorial polish
   ========================================================================== */
body.atelion-v2 .brief-drawer__backdrop{
  background:rgba(5,20,34,.72)!important;
  -webkit-backdrop-filter:blur(4px)!important;
  backdrop-filter:blur(4px)!important;
}
body.atelion-v2 .brief-drawer__panel{
  width:min(40.5vw,660px)!important;
  min-width:600px!important;
  padding:42px 38px 44px!important;
  background:#f3f0e9!important;
  box-shadow:none!important;
  border-left:1px solid var(--orange,#ff9737)!important;
}
body.atelion-v2 .brief-drawer__top{
  min-height:28px;
}
body.atelion-v2 .brief-drawer__eyebrow{
  font-size:11px!important;
  letter-spacing:.11em!important;
  font-weight:700!important;
}
body.atelion-v2 .brief-drawer__close,
body.atelion-v2 .brief-drawer__close:hover,
body.atelion-v2 .brief-drawer__close:focus-visible{
  font-size:24px!important;
  width:28px!important;
  height:28px!important;
}
body.atelion-v2 .brief-drawer__title{
  margin:70px 0 18px!important;
  max-width:590px!important;
  font-size:clamp(54px,4.35vw,76px)!important;
  line-height:.91!important;
  letter-spacing:-.064em!important;
  font-weight:500!important;
  text-wrap:pretty;
}
body.atelion-v2 .brief-drawer__title em{
  display:block!important;
  margin-top:-.02em;
  font-size:1.02em!important;
  line-height:.9!important;
  color:var(--orange,#ff9737)!important;
}
body.atelion-v2 .brief-drawer__intro{
  max-width:520px!important;
  font-size:14px!important;
  line-height:1.55!important;
  color:#737e87!important;
}
body.atelion-v2 .brief-drawer__form{
  margin-top:38px!important;
}
body.atelion-v2 .brief-drawer__form form,
body.atelion-v2 .brief-drawer__form .wpcf7-form{
  gap:19px 20px!important;
}
body.atelion-v2 .brief-drawer__form label{
  font-size:9px!important;
  line-height:1.35!important;
  letter-spacing:.065em!important;
  color:#53606a!important;
}
body.atelion-v2 .brief-drawer__form .wpcf7-form-control-wrap{
  margin-top:6px!important;
}
body.atelion-v2 .brief-drawer__form :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),textarea,select){
  min-height:39px!important;
  padding:7px 0 9px!important;
  border-bottom-color:#b8b9b7!important;
  font-size:13px!important;
  color:var(--drawer-ink)!important;
}
body.atelion-v2 .brief-drawer__form :is(input,textarea)::placeholder{
  color:#92999e!important;
}
body.atelion-v2 .brief-drawer__form textarea{
  min-height:82px!important;
  max-height:120px!important;
}
body.atelion-v2 .brief-drawer__form :is(input[type="submit"],button[type="submit"],.wpcf7-submit){
  min-height:54px!important;
  margin-top:5px!important;
  background:#124d7d!important;
  font-size:10px!important;
  letter-spacing:.075em!important;
}
body.atelion-v2 .brief-drawer__form :is(input[type="submit"],button[type="submit"],.wpcf7-submit):hover{
  background:#0b2d49!important;
}
@media(max-width:1100px){
  body.atelion-v2 .brief-drawer__panel{
    width:min(56vw,660px)!important;
    min-width:0!important;
  }
}
@media(max-width:700px){
  body.atelion-v2 .brief-drawer__panel{
    width:100%!important;
    min-width:0!important;
    border-left:0!important;
    border-top:2px solid var(--orange,#ff9737)!important;
  }
  body.atelion-v2 .brief-drawer__title{
    margin-top:48px!important;
    font-size:clamp(44px,12.5vw,62px)!important;
  }
}

/* v6.1.50 — prevent the global .brief-form layout from creating an empty
   second column around Contact Form 7 inside the side drawer. */
.brief-drawer__form.brief-form{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
  width:100%;
  max-width:none;
}
.brief-drawer__form.brief-form > .wpcf7{
  display:block;
  width:100%;
  max-width:none;
}
.brief-drawer__form.brief-form .wpcf7-form{
  width:100%;
  max-width:none;
}

/* blog.css */
/* Atelion Studio v2.5.1 — Blog module */

/* Archive */
.blog-archive-section {
    min-height: 50vh;
}

.blog-archive-heading {
    margin-bottom: var(--s-6);
}


.blog-archive-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
}

.blog-card {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.blog-card__link {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    min-width: 0;
    overflow: hidden;
    border: 0;
    border-radius: var(--radius-lg);
    background: var(--deep-navy);
    isolation: isolate;
}

.blog-card__media {
    position: relative;
    height: 100%;
    min-height: 470px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: inherit;
    background:
        radial-gradient(circle at 80% 15%, rgba(255,151,55,.45), transparent 35%),
        var(--brand-blue);
}

.blog-card__media::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(to top, rgba(5,14,24,.42), transparent 62%);
    pointer-events: none;
}

.blog-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .65s var(--easing);
}

.blog-card__placeholder {
    width: 100%;
    height: 100%;
}

.blog-card__overlay {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    padding: clamp(1rem, 2vw, 1.5rem);
}

.blog-card__glass {
    display: grid;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    justify-items: start;
    gap: .7rem;
    overflow: hidden;
    padding: clamp(1.15rem, 2.2vw, 1.75rem);
    border: 0;
    border-radius: var(--radius-lg);
    background: rgba(5,14,24,.38);
    color: #fff;
    box-shadow: 0 18px 45px rgba(5,14,24,.14);
    backdrop-filter: blur(20px) saturate(125%);
    -webkit-backdrop-filter: blur(20px) saturate(125%);
}

.blog-card__category,
.blog-card__meta {
    font-family: var(--font-heading);
    font-size: .65rem;
    line-height: 1.2;
    letter-spacing: .09em;
    text-transform: uppercase;
    opacity: .75;
}

.blog-card__title {
    display: -webkit-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: normal;
    color: #fff;
    font-size: clamp(1.4rem, 2vw, 2.15rem);
    line-height: 1.02;
    letter-spacing: -.045em;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.blog-card__link:hover .blog-card__image,
.blog-card__link:focus-visible .blog-card__image {
    transform: scale(1.04);
}

.blog-card__link:hover .blog-card__glass,
.blog-card__link:focus-visible .blog-card__glass {
    background: rgba(5,14,24,.5);
}

.blog-load-more-wrap {
    display: flex;
    justify-content: center;
    margin-top: var(--s-6);
}

.blog-load-more {
    width: auto;
}

.blog-load-more.is-loading {
    pointer-events: none;
    opacity: .7;
}

.blog-load-more__spinner {
    display: none;
    width: 1rem;
    height: 1rem;
    margin-left: .7rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: atelion-spin .7s linear infinite;
}

.blog-load-more.is-loading .blog-load-more__spinner {
    display: inline-block;
}

@keyframes atelion-spin {
    to { transform: rotate(360deg); }
}

/* Single post hero */
.post-hero {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: min(86svh, 920px);
    padding: 190px 0 clamp(3.5rem, 8vw, 7rem);
    overflow: hidden;
    background: var(--brand-blue);
    color: #fff;
}

.post-hero.has-image {
    background-image: var(--hero-image);
    background-position: center;
    background-size: cover;
}

.post-hero__shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to top, rgba(5,14,24,.86) 0%, rgba(5,14,24,.34) 58%, rgba(5,14,24,.24) 100%);
}

.post-hero__content {
    position: relative;
    z-index: 1;
}

.post-hero h1 {
    max-width: 1150px;
    font-size: clamp(3rem, 7vw, 7.5rem);
}

.post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin: 1.5rem 0 0;
    font-family: var(--font-heading);
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .78;
}

/* Single post body */
.single-blog-post,
.post-body-section,
.post-layout,
.post-sidebar {
    overflow: visible;
}

.post-body-section {
    overflow: visible !important;
}

.post-layout {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(230px, 1fr);
    gap: clamp(2.5rem, 6vw, 6rem);
    align-items: start;
}

.post-content {
    min-width: 0;
    max-width: 900px;
}

.post-content > :first-child {
    margin-top: 0;
}

.post-content p,
.post-content li {
    font-size: clamp(1.05rem, 1vw + .75rem, 1.2rem);
}

.post-content blockquote {
    margin: 2.5rem 0;
    padding: 1.5rem 0 1.5rem 1.75rem;
    border-left: 4px solid var(--accent);
}

.post-content blockquote p {
    font-size: clamp(1.45rem, 2.6vw, 2.5rem);
    line-height: 1.15;
    letter-spacing: -.035em;
    opacity: 1;
}

.post-sidebar {
    min-width: 0;
    align-self: stretch;
}

.post-sidebar__sticky {
    position: -webkit-sticky;
    position: sticky;
    top: calc(var(--header-top, 24px) + 96px);
    display: grid;
    gap: 2.25rem;
}

.post-sidebar__label {
    margin: 0 0 1rem;
    color: var(--brand-blue);
    font-family: var(--font-heading);
    font-size: .7rem;
    font-weight: 760;
    line-height: 1;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .62;
}

.post-share__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
}

.post-share__button {
    position: relative;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(13,61,104,.15);
    border-radius: 50%;
    background: rgba(255,255,255,.52);
    color: var(--brand-blue);
    cursor: pointer;
    transition: transform .25s var(--easing), background .25s var(--easing), color .25s var(--easing);
}

.post-share__button:hover,
.post-share__button:focus-visible {
    transform: translateY(-2px);
    background: var(--brand-blue);
    color: #fff;
}

.post-share__button svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.post-share__feedback {
    position: absolute;
    right: 0;
    bottom: calc(100% + .55rem);
    display: none;
    width: max-content;
    padding: .45rem .65rem;
    border-radius: var(--radius-sm);
    background: var(--deep-navy);
    color: #fff;
    font-size: .7rem;
}

.post-share__button.is-copied .post-share__feedback {
    display: block;
}

.post-latest {
    padding-top: 2rem;
    border-top: 1px solid rgba(13,61,104,.13);
}

.post-latest__list {
    display: grid;
    gap: .85rem;
}

.post-mini-card a {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: .9rem;
    align-items: center;
    padding: .55rem;
    border: 1px solid rgba(13,61,104,.1);
    border-radius: var(--radius-md);
    background: rgba(255,255,255,.42);
    transition: transform .25s var(--easing), background .25s var(--easing);
}

.post-mini-card a:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,.72);
}

.post-mini-card__media {
    width: 82px;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: var(--radius-sm);
    background: rgba(13,61,104,.08);
}

.post-mini-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post-mini-card h3 {
    display: -webkit-box;
    overflow: hidden;
    color: var(--brand-blue);
    font-size: .92rem;
    line-height: 1.12;
    letter-spacing: -.025em;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.post-mini-card span {
    display: block;
    margin-top: .45rem;
    font-size: .68rem;
    opacity: .58;
}

@media (max-width: 980px) {
    .blog-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .post-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .post-content {
        max-width: none;
    }

    .post-sidebar__sticky {
        position: static;
    }

    .post-latest__list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .post-mini-card a {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .post-mini-card__media {
        width: 100%;
    }
}

@media (max-width: 620px) {
    .blog-archive-grid,
    .post-latest__list {
        grid-template-columns: 1fr;
    }

    .blog-card__media {
        min-height: 410px;
    }

    .blog-load-more {
        width: 100%;
    }

    .post-hero {
        min-height: 72svh;
        padding-top: 145px;
    }

    .post-mini-card a {
        grid-template-columns: 90px minmax(0, 1fr);
    }

    .post-mini-card__media {
        width: 90px;
    }
}

/* v3.0.10 — Hard containment for blog cards, including Safari mobile */
.blog-archive-grid,
.blog-card,
.blog-card__link,
.blog-card__media {
    min-inline-size: 0;
    max-inline-size: 100%;
}

.blog-card,
.blog-card__link,
.blog-card__media {
    inline-size: 100%;
    overflow: hidden;
}

.blog-card__media {
    contain: inline-size paint;
}

.blog-card__overlay {
    inset-inline: clamp(1rem, 2vw, 1.5rem);
    inset-block-end: clamp(1rem, 2vw, 1.5rem);
    left: auto;
    right: auto;
    width: auto;
    max-width: none;
    padding: 0;
    overflow: hidden;
}

.blog-card__glass {
    display: block;
    inline-size: 100%;
    max-inline-size: 100%;
    min-inline-size: 0;
    overflow: hidden;
}

.blog-card__glass > * {
    max-inline-size: 100%;
}

.blog-card__title {
    display: block;
    inline-size: 100%;
    max-inline-size: 100%;
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
    -webkit-line-clamp: unset;
    -webkit-box-orient: initial;
}

.blog-card__category + .blog-card__title,
.blog-card__title + .blog-card__meta {
    margin-top: .7rem;
}

@media (max-width: 620px) {
    .blog-card__media {
        min-height: 0;
        aspect-ratio: 4 / 5;
    }

    .blog-card__overlay {
        inset-inline: 1rem;
        inset-block-end: 1rem;
    }

    .blog-card__glass {
        padding: 1.25rem;
        border-radius: calc(var(--radius-lg) - 4px);
    }

    .blog-card__title {
        font-size: clamp(1.55rem, 8vw, 2.15rem);
        line-height: 1.02;
    }
}

/* ==========================================================================
   Atelion v3.0.22 — compact ACF text blocks inside single blog posts
   --------------------------------------------------------------------------
   The post body already owns the section spacing. A nested ACF Text block
   must not inherit the global `.scene` padding for a second time.
   ========================================================================== */
.single-blog-post .post-content > .atelion-text-block {
    padding-block: 0 !important;
    margin-block: 0 !important;
    background: transparent;
    overflow: visible;
}

.single-blog-post .post-content > .atelion-text-block > .container {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.single-blog-post .post-content > .atelion-text-block + .atelion-text-block {
    margin-top: clamp(1.5rem, 2.2vw, 2.25rem) !important;
}

/* hero-v3.css */
/* Atelion Studio v3 — shared Gallery Motion Hero */
.motion-hero {
    --hero-motion-speed: 60s;
    --hero-motion-radius: 18px;
    --hero-motion-overlay: .62;
    position: relative;
    min-height: clamp(580px, 78svh, 860px);
    display: grid;
    align-items: end;
    overflow: hidden;
    isolation: isolate;
    padding: clamp(9rem, 18vh, 13rem) 0 clamp(3.5rem, 8vh, 6rem);
    background: #050505;
    color: #fff;
}
.motion-hero__background {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: clamp(6px, .8vw, 12px);
}
.motion-hero__row { width: 100%; min-height: 0; overflow: hidden; }
.motion-hero__track {
    display: flex;
    width: max-content;
    height: 100%;
    will-change: transform;
    animation: atelion-hero-marquee var(--hero-motion-speed) linear infinite;
}
.motion-hero__row--reverse .motion-hero__track { animation-name: atelion-hero-marquee-reverse; }
.motion-hero__set {
    display: flex;
    flex: none;
    height: 100%;
    gap: clamp(6px, .8vw, 12px);
    padding-right: clamp(6px, .8vw, 12px);
}
.motion-hero__media {
    flex: none;
    height: 100%;
    width: clamp(320px, 31vw, 560px);
    aspect-ratio: 3 / 2;
    margin: 0;
    overflow: hidden;
    border-radius: var(--hero-motion-radius);
    background: #111;
}
.motion-hero__image { width: 100%; height: 100%; object-fit: cover; }
.motion-hero__shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,var(--hero-motion-overlay)) 42%,rgba(0,0,0,.42) 100%),linear-gradient(0deg,rgba(0,0,0,.82) 0%,transparent 55%);
}
.motion-hero__content { position: relative; z-index: 2; }
.motion-hero__content h1 { max-width: 14ch; margin: 0; color: #fff; text-wrap: balance; }
.motion-hero__lead { max-width: 720px; margin: clamp(1.25rem,2vw,1.75rem) 0 0; font-size: clamp(1rem,1.45vw,1.3rem); line-height: 1.55; color: rgba(255,255,255,.82); }
.motion-hero--empty { min-height: clamp(460px,65svh,720px); }
.motion-hero--empty .motion-hero__background { display: none; }
.motion-hero--empty .motion-hero__shade { background: radial-gradient(circle at 70% 25%,rgba(255,255,255,.06),transparent 35%),#050505; }
@keyframes atelion-hero-marquee { from { transform: translate3d(0,0,0); } to { transform: translate3d(-33.333333%,0,0); } }
@keyframes atelion-hero-marquee-reverse { from { transform: translate3d(-33.333333%,0,0); } to { transform: translate3d(0,0,0); } }
@media (max-width:900px) {
    .motion-hero { min-height: clamp(540px,72svh,720px); padding-top: 8rem; }
    .motion-hero__background { gap: 7px; }
    .motion-hero__set { gap: 7px; padding-right: 7px; }
    .motion-hero__media { width: clamp(300px, 46vw, 460px); }
    .motion-hero__shade { background: linear-gradient(0deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,var(--hero-motion-overlay)) 58%,rgba(0,0,0,.38) 100%); }
}
@media (max-width:600px) {
    .motion-hero { min-height: 620px; padding-bottom: 3rem; }
    .motion-hero__media { width: 78vw; }
    .motion-hero__content h1 { max-width: 12ch; }
}
@media (prefers-reduced-motion:reduce) {
    .motion-hero__track { animation-play-state: paused; transform: translate3d(-8%,0,0); }
}
