/* Designic front-end */
:root {
    --designic-accent: #f2643c;
    --designic-bg: #05090d;
    --designic-surface: #0a1015;
    --designic-text: #f4f5f5;
    --designic-muted: #8b9399;
    --designic-max: 1220px;
    --designic-line: rgba(255,255,255,.11);
    --designic-soft-line: rgba(255,255,255,.065);
    --designic-header-height: 94px;
    --designic-section-space: clamp(48px, 5.8vw, 88px);
    --designic-side-pad: clamp(22px, 4vw, 54px);
    --designic-ease: cubic-bezier(.2,.75,.25,1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--designic-bg); }
body {
    margin: 0;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 20% 10%, rgba(242,100,60,.035), transparent 32%),
        var(--designic-bg);
    color: var(--designic-text);
    font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img, video { max-width: 100%; }
button, input, textarea, select { font: inherit; }
::selection { background: var(--designic-accent); color: #fff; }

.screen-reader-text,
.designic-skip-link {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}
.designic-skip-link:focus {
    z-index: 100000;
    top: 12px;
    left: 12px;
    width: auto;
    height: auto;
    clip: auto;
    margin: 0;
    padding: 12px 18px;
    background: #fff;
    color: #000;
}
.designic-top-anchor { position: absolute; top: 0; }
.designic-home.designic-no-hero.designic-has-header #main-content { padding-top: var(--designic-header-height); }
.designic-no-header .designic-hero-inner { padding-top: 70px; }
.designic-no-header .designic-page-shell { padding-top: 90px; }

.designic-section { scroll-margin-top: calc(var(--designic-header-height) + 16px); }

/* Header */
.designic-site-header {
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    color: var(--designic-text);
    transition: background .35s ease, border-color .35s ease, transform .35s ease;
}
.admin-bar .designic-site-header { top: 32px; }
.designic-site-header:not(.is-sticky-enabled) {
    transition: none;
}
.designic-site-header,
.designic-site-header:not(.is-transparent),
.designic-site-header.is-transparent,
.designic-site-header.is-scrolled {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
.designic-site-header.is-sticky-enabled:not(.is-transparent),
.designic-site-header.is-sticky-enabled.is-scrolled {
    position: fixed;
}
/* One global header identity for every page/template. */
.designic-site-header .designic-brand,
.designic-site-header .designic-brand > a,
.designic-site-header .designic-primary-nav .designic-menu-list a,
.designic-site-header .designic-menu-toggle {
    color: #fff !important;
}
.designic-site-header .designic-primary-nav .designic-menu-list a {
    color: rgba(255,255,255,.82) !important;
}
.designic-site-header .designic-primary-nav .designic-menu-list a:hover,
.designic-site-header .designic-primary-nav .designic-menu-list a:focus-visible,
.designic-site-header .designic-primary-nav .current-menu-item > a,
.designic-site-header .designic-primary-nav .current_page_item > a,
.designic-site-header .designic-primary-nav .current-menu-ancestor > a {
    color: #fff !important;
}
.designic-header-inner {
    width: min(100%, calc(var(--designic-max) + (var(--designic-side-pad) * 2)));
    min-height: var(--designic-header-height);
    margin: 0 auto;
    padding: 0 var(--designic-side-pad);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}
.designic-brand,
.designic-footer-brand {
    position: relative;
    z-index: 110;
    display: inline-flex;
    align-items: center;
    min-width: max-content;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: .42em;
    line-height: 1;
}
.designic-brand > a { display: inline-flex; align-items: center; }
.designic-brand img,
.designic-footer-brand img { width: auto; max-width: min(280px, 42vw); height: 36px; object-fit: contain; }
.designic-primary-nav { display:flex; align-items:center; }
.designic-menu-list {
    display:flex;
    align-items:center;
    gap:clamp(24px,3vw,48px);
    margin:0;
    padding:0;
    list-style:none;
}
.designic-menu-list li { margin:0; padding:0; list-style:none; }
.designic-menu-list a {
    position:relative;
    display:inline-flex;
    align-items:center;
    padding:10px 0;
    color:rgba(255,255,255,.82);
    font-size:11px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
    transition:color .25s ease;
}
.designic-primary-nav .designic-menu-list a::after {
    content:"";
    position:absolute;
    right:0;
    bottom:5px;
    left:0;
    height:1px;
    background:var(--designic-accent);
    transform:scaleX(0);
    transform-origin:right;
    transition:transform .25s var(--designic-ease);
}
.designic-primary-nav .designic-menu-list a:hover,
.designic-primary-nav .designic-menu-list a:focus-visible,
.designic-primary-nav .current-menu-item > a,
.designic-primary-nav .current_page_item > a { color:#fff; }
.designic-primary-nav .designic-menu-list a:hover::after,
.designic-primary-nav .designic-menu-list a:focus-visible::after,
.designic-primary-nav .current-menu-item > a::after,
.designic-primary-nav .current_page_item > a::after { transform:scaleX(1); transform-origin:left; }
.designic-menu-toggle {
    display: none;
    position: relative;
    z-index: 110;
    z-index: 110;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid color-mix(in srgb, var(--designic-accent) 70%, transparent);
    border-radius: 50%;
    background: rgba(0,0,0,.18);
    color: #fff;
    cursor: pointer;
}
.designic-menu-toggle span:not(.screen-reader-text) {
    position: absolute;
    left: 14px;
    width: 16px;
    height: 1px;
    background: currentColor;
    transition: transform .25s ease, top .25s ease;
}
.designic-menu-toggle span:nth-last-child(2) { top: 18px; }
.designic-menu-toggle span:last-child { top: 26px; }
.designic-menu-toggle[aria-expanded="true"] span:nth-last-child(2) { top: 22px; transform: rotate(45deg); }
.designic-menu-toggle[aria-expanded="true"] span:last-child { top: 22px; transform: rotate(-45deg); }
.designic-mobile-nav {
    position: fixed;
    z-index: 105;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 14px;
    padding: 100px var(--designic-side-pad) 50px;
    background: rgba(4,8,11,.98);
}
.designic-mobile-nav[hidden] { display: none; }
.designic-mobile-nav .designic-menu-list {
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
}
.designic-mobile-nav .designic-menu-list li { width:100%; }
.designic-mobile-nav .designic-menu-list a {
    width:100%;
    padding:12px 0;
    border-bottom:1px solid var(--designic-line);
    color:#fff;
    font-size:clamp(34px,9vw,60px);
    font-weight:700;
    letter-spacing:-.03em;
    text-transform:none;
}

/* Hero */
.designic-hero {
    position: relative;
    min-height: 100svh;
    isolation: isolate;
    display: grid;
    align-items: end;
    background-image: var(--designic-hero-image);
    background-position: var(--designic-hero-position, center center);
    background-size: cover;
    overflow: hidden;
}
.designic-hero::before {
    content: "";
    position: absolute;
    z-index: -2;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(3,8,11,.97) 0%, rgba(3,8,11,.82) 31%, rgba(3,8,11,.24) 66%, rgba(3,8,11,.24) 100%),
        linear-gradient(0deg, var(--designic-bg) 0%, transparent 25%, transparent 72%, rgba(2,6,9,.45) 100%);
}
.designic-hero-video {
    position: absolute;
    z-index: -3;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.designic-hero-shade {
    position: absolute;
    z-index: -1;
    inset: 0;
    background: rgba(0,0,0,var(--designic-hero-overlay, .25));
    pointer-events: none;
}
.designic-hero-grain {
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .14;
    mix-blend-mode: overlay;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}
.designic-hero-inner {
    position: relative;
    width: min(100%, calc(var(--designic-max) + (var(--designic-side-pad) * 2)));
    min-height: 100svh;
    margin: 0 auto;
    padding: calc(var(--designic-header-height) + 46px) var(--designic-side-pad) clamp(36px, 5vw, 64px);
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(220px, .35fr);
    grid-template-rows: 1fr auto;
    align-items: end;
    gap: 50px;
}
.designic-hero-copy { align-self: center; max-width: 920px; }
.designic-eyebrow,
.designic-entry-kicker {
    margin: 0 0 22px;
    color: var(--designic-accent);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;
}
.designic-hero h1 {
    max-width: 900px;
    margin: 0;
    color: #f7f8f8;
    font-size: clamp(58px, 6.8vw, 118px);
    font-weight: 760;
    letter-spacing: -.055em;
    line-height: .87;
    text-transform: uppercase;
    text-wrap: balance;
}
.designic-hero-disciplines {
    margin: 20px 0 0;
    color: rgba(255,255,255,.88);
    font-size: clamp(11px, .95vw, 15px);
    font-weight: 650;
    letter-spacing: .31em;
}
.designic-hero-note {
    position: relative;
    align-self: center;
    margin: 0;
    padding-left: 24px;
    color: rgba(255,255,255,.86);
    font-size: 13px;
    line-height: 1.6;
}
.designic-hero-note::before {
    content: "";
    position: absolute;
    top: 5px;
    bottom: 5px;
    left: 0;
    width: 1px;
    background: var(--designic-accent);
}
.designic-scroll-cue {
    grid-column: 1 / -1;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: rgba(255,255,255,.72);
}
.designic-scroll-cue > span {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--designic-accent);
    border-radius: 50%;
    color: #fff;
    transition: transform .25s ease, background .25s ease;
}
.designic-scroll-cue b {
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .17em;
}
.designic-scroll-cue:hover > span { transform: translateY(4px); background: var(--designic-accent); }

/* Shared sections */
.designic-section { position: relative; padding: var(--designic-section-space) 0 0; scroll-margin-top: calc(var(--designic-header-height) + 18px); }
.designic-section-inner {
    width: min(100%, calc(var(--designic-max) + (var(--designic-side-pad) * 2)));
    margin: 0 auto;
    padding: 0 var(--designic-side-pad);
}
.designic-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: clamp(24px, 2.8vw, 38px);
}
.designic-section-heading > div { display: flex; align-items: baseline; gap: 22px; }
.designic-section-heading > div > span {
    color: var(--designic-accent);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .08em;
}
.designic-section-heading h2 {
    margin: 0;
    font-size: clamp(15px, 1.45vw, 20px);
    font-weight: 700;
    letter-spacing: .18em;
    line-height: 1.2;
    text-transform: uppercase;
}
.designic-section-heading > a {
    color: rgba(255,255,255,.66);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    transition: color .2s ease;
}
.designic-section-heading > a span { color: var(--designic-accent); margin-left: 7px; }
.designic-section-heading > a:hover { color: #fff; }
.designic-section-heading--compact { justify-content: flex-start; }

/* All homepage section headings share one visual alignment system. */
.designic-work .designic-section-heading,
.designic-about .designic-section-heading,
.designic-services .designic-section-heading,
.designic-current-focus .designic-section-heading,
.designic-contact .designic-section-heading {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.designic-button,
.designic-outline-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    min-height: 50px;
    padding: 0 22px;
    border: 1px solid transparent;
    color: #fff;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .11em;
    text-transform: uppercase;
    transition: transform .25s var(--designic-ease), background .25s ease, border-color .25s ease;
}
.designic-button { background: var(--designic-accent); }
.designic-outline-button { border-color: color-mix(in srgb, var(--designic-accent) 76%, transparent); background: rgba(0,0,0,.1); }
.designic-button:hover,
.designic-outline-button:hover { transform: translateY(-2px); }
.designic-outline-button:hover { background: var(--designic-accent); border-color: var(--designic-accent); }

/* Selected work */
.designic-work { padding-top: clamp(38px, 4.8vw, 70px); }
.designic-work-heading-actions {
    display: flex;
    align-items: center;
    gap: 18px;
}
.designic-work-heading-actions > a {
    color: var(--designic-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.designic-work-controls {
    display: flex;
    gap: 8px;
}
.designic-work-control {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid var(--designic-soft-line);
    border-radius: 50%;
    background: transparent;
    color: #fff;
    font: inherit;
    cursor: pointer;
    transition: border-color .25s ease, background .25s ease, transform .25s ease;
}
.designic-work-control:hover {
    border-color: var(--designic-accent);
    background: color-mix(in srgb, var(--designic-accent) 14%, transparent);
    transform: translateY(-1px);
}
.designic-work-grid {
    display: flex;
    gap: clamp(12px, 1.35vw, 20px);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    overscroll-behavior-x: contain;
    cursor: grab;
    user-select: none;
    padding: 2px 0 12px;
}
.designic-work-grid::-webkit-scrollbar { display: none; }
.designic-work-grid.is-continuous { scroll-snap-type: none; scroll-behavior: auto; }
.designic-work-grid.is-dragging { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }
.designic-work-card {
    position: relative;
    -webkit-user-drag: none;
    user-select: none;
    isolation: isolate;
    flex: 0 0 clamp(255px, 23.25vw, 335px);
    min-height: clamp(235px, 21vw, 320px);
    scroll-snap-align: start;
    overflow: hidden;
    border: 1px solid var(--designic-soft-line);
    border-radius: 7px;
    background: var(--designic-surface);
    color: #fff;
    transition: transform .55s var(--designic-ease), border-color .35s ease;
}
.designic-work-card::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    background-color: var(--designic-surface);
    background-image: var(--designic-card-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: scale(1.001);
    transform-origin: center;
    transition: transform .75s var(--designic-ease), filter .55s ease;
}
.designic-work-card.is-link:hover { transform: translateY(-6px); border-color: color-mix(in srgb, var(--designic-accent) 58%, transparent); }
.designic-work-card.is-link:hover::before { transform: scale(1.045); filter: saturate(1.08); }
.designic-work-card-shade {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(180deg, rgba(2,5,7,.05) 25%, rgba(2,5,7,.9) 100%);
}
.designic-work-card-index {
    position: absolute;
    z-index: 2;
    top: 16px;
    left: 16px;
    color: rgba(255,255,255,.64);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
}
.designic-work-card-copy {
    position: absolute;
    z-index: 2;
    right: 58px;
    bottom: 20px;
    left: 20px;
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.designic-work-card-copy strong {
    font-size: clamp(19px, 1.7vw, 27px);
    font-weight: 520;
    letter-spacing: -.025em;
    line-height: 1.05;
}
.designic-work-card:not(.is-link) .designic-work-card-copy { right: 24px; }
.designic-work-card-copy small {
    color: rgba(255,255,255,.66);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .13em;
}
.designic-round-arrow {
    position: absolute;
    z-index: 2;
    right: 16px;
    bottom: 16px;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--designic-accent);
    border-radius: 50%;
    font-size: 17px;
    transition: background .25s ease, transform .25s ease;
}
.designic-work-card.is-link:hover .designic-round-arrow { background: var(--designic-accent); transform: rotate(5deg); }

/* About */
.designic-about-grid {
    display: grid;
    grid-template-columns: minmax(280px,.95fr) minmax(260px,.72fr) minmax(140px,.28fr);
    gap: clamp(28px, 4.2vw, 64px);
    align-items: center;
}
.designic-about-grid.no-stats { grid-template-columns: minmax(300px,1fr) minmax(300px,.86fr); }
.designic-about-grid.no-image { grid-template-columns: minmax(300px,1fr) minmax(160px,.32fr); }
.designic-about-grid.no-image.no-stats { grid-template-columns: minmax(0,800px); }
.designic-about-grid.no-image.no-stats .designic-about-copy { max-width: 800px; }
.designic-about-copy h3 {
    margin: 0 0 20px;
    font-size: clamp(34px, 3.8vw, 58px);
    font-weight: 470;
    letter-spacing: -.045em;
    line-height: 1.02;
}
.designic-about-copy p {
    max-width: 610px;
    margin: 0 0 22px;
    color: var(--designic-muted);
    font-size: 13px;
    line-height: 1.85;
}
.designic-about-portrait {
    position: relative;
    min-height: 450px;
    margin: 0;
    overflow: hidden;
    background: var(--designic-surface);
}
.designic-about-portrait::after {
    content: "";
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 80px rgba(0,0,0,.28);
    pointer-events: none;
}
.designic-about-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: var(--designic-about-position, center center); filter: saturate(.82) contrast(1.05); }
.designic-about-stats { display: flex; flex-direction: column; align-self: stretch; justify-content: center; }
.designic-about-stats > div { padding: 20px 0; border-bottom: 1px solid var(--designic-line); }
.designic-about-stats > div:last-child { border-bottom: 0; }
.designic-about-stats strong {
    display: block;
    margin-bottom: 9px;
    color: var(--designic-accent);
    font-size: clamp(30px, 3vw, 46px);
    font-weight: 420;
    line-height: 1;
}
.designic-about-stats span { color: rgba(255,255,255,.62); font-size: 10px; font-weight: 700; letter-spacing: .12em; line-height: 1.45; }

/* Disciplines / What I Do */
.designic-disciplines {
    display: grid;
    grid-template-columns: minmax(0,1.12fr) minmax(320px,.78fr);
    gap: clamp(28px, 3.6vw, 54px);
    align-items: stretch;
}
.designic-discipline-list {
    border-top: 1px solid var(--designic-line);
    border-bottom: 1px solid var(--designic-line);
}
.designic-discipline {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(0,1fr) 42px;
    gap: 16px;
    align-items: center;
    min-height: 102px;
    padding: 16px 0;
    border-bottom: 1px solid var(--designic-line);
    cursor: default;
    transition: padding-left .38s var(--designic-ease), background .3s ease, border-color .3s ease;
}
.designic-discipline:last-child { border-bottom: 0; }
.designic-discipline::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -1px;
    width: 2px;
    background: var(--designic-accent);
    transform: scaleY(0);
    transform-origin: center;
    transition: transform .3s var(--designic-ease);
}
.designic-discipline:hover,
.designic-discipline:focus-within,
.designic-discipline.is-active {
    padding-left: 12px;
    background: linear-gradient(90deg, color-mix(in srgb, var(--designic-accent) 7%, transparent), transparent 70%);
}
.designic-discipline:hover::before,
.designic-discipline:focus-within::before,
.designic-discipline.is-active::before { transform: scaleY(1); }
.designic-discipline-index {
    align-self: start;
    padding-top: 4px;
    color: var(--designic-accent);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
}
.designic-discipline-main h3 {
    margin: 0;
    font-size: clamp(24px, 2.45vw, 38px);
    font-weight: 470;
    letter-spacing: -.04em;
    line-height: .98;
    transition: color .25s ease, transform .35s var(--designic-ease);
}
.designic-discipline:hover .designic-discipline-main h3,
.designic-discipline:focus-within .designic-discipline-main h3,
.designic-discipline.is-active .designic-discipline-main h3 { color: #fff; transform: translateX(4px); }
.designic-discipline-main p {
    max-width: 620px;
    margin: 7px 0 0;
    color: var(--designic-muted);
    font-size: 12px;
    line-height: 1.7;
}
.designic-discipline-main a {
    display: inline-flex;
    gap: 9px;
    margin-top: 15px;
    color: var(--designic-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.designic-discipline-mark {
    justify-self: end;
    width: 28px;
    height: 28px;
    color: rgba(255,255,255,.34);
    transition: color .25s ease, transform .35s var(--designic-ease);
}
.designic-discipline-mark svg,
.designic-discipline-visual-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.designic-discipline:hover .designic-discipline-mark,
.designic-discipline:focus-within .designic-discipline-mark,
.designic-discipline.is-active .designic-discipline-mark { color: var(--designic-accent); transform: rotate(-5deg) scale(1.08); }
.designic-discipline-visuals {
    position: relative;
    min-height: 450px;
    overflow: hidden;
    background: #070b0e;
}
.designic-discipline-visual {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: clamp(24px, 3vw, 38px);
    opacity: 0;
    transform: scale(1.025);
    background-image:
        linear-gradient(180deg, rgba(2,6,9,.05) 18%, rgba(2,6,9,.78) 100%),
        var(--designic-discipline-image);
    background-position: center;
    background-size: cover;
    transition: opacity .42s ease, transform .7s var(--designic-ease);
    pointer-events: none;
}
.designic-discipline-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 0 1px var(--designic-soft-line);
    pointer-events: none;
}
.designic-discipline-visual.is-active { opacity: 1; transform: scale(1); }
.designic-discipline-visual.no-image {
    background:
        radial-gradient(circle at 74% 26%, color-mix(in srgb, var(--designic-accent) 22%, transparent), transparent 30%),
        radial-gradient(circle at 22% 78%, rgba(45,78,96,.19), transparent 34%),
        linear-gradient(145deg, #0c1216 0%, #05080a 72%);
}
.designic-discipline-visual-number {
    position: absolute;
    top: clamp(24px, 3vw, 40px);
    left: clamp(26px, 3vw, 42px);
    color: var(--designic-accent);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
}
.designic-discipline-visual-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    width: clamp(76px, 8vw, 120px);
    height: clamp(76px, 8vw, 120px);
    color: color-mix(in srgb, var(--designic-accent) 72%, white 4%);
    opacity: .22;
    transform: translate(-50%,-50%);
}
.designic-discipline-visual strong {
    position: relative;
    z-index: 1;
    max-width: 90%;
    color: #fff;
    font-size: clamp(28px, 3vw, 44px);
    font-weight: 470;
    letter-spacing: -.045em;
    line-height: .96;
}

/* Featured */
.designic-featured-card {
    position: relative;
    min-height: clamp(420px, 47vw, 680px);
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background-color: #03070a;
    background-image:
        linear-gradient(90deg, rgba(3,7,10,.98) 0%, rgba(3,7,10,.92) 30%, rgba(3,7,10,.33) 62%, rgba(3,7,10,.13) 100%),
        var(--designic-featured-image);
    background-position: var(--designic-featured-position, center center);
    background-size: cover;
}
.designic-featured-card::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 45%;
    background: linear-gradient(0deg, rgba(2,5,7,.68), transparent);
    pointer-events: none;
}
.designic-featured-copy {
    position: relative;
    z-index: 2;
    width: min(480px, 48%);
    min-height: inherit;
    padding: clamp(42px, 6vw, 84px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}
.designic-featured-copy > p { margin: 0 0 20px; color: rgba(255,255,255,.64); font-size: 10px; font-weight: 750; letter-spacing: .14em; }
.designic-featured-copy h3 { margin: 0 0 24px; font-size: clamp(40px, 5vw, 76px); font-weight: 470; letter-spacing: -.045em; line-height: .96; }
.designic-featured-copy > div { max-width: 390px; margin-bottom: 31px; color: var(--designic-muted); font-size: 14px; line-height: 1.8; }

/* Products */
.designic-product-list { display: flex; flex-direction: column; gap: 28px; }
.designic-product {
    display: grid;
    grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr);
    min-height: 380px;
    overflow: hidden;
    border: 1px solid var(--designic-soft-line);
    border-radius: 6px;
    background:
        radial-gradient(circle at 85% 20%, color-mix(in srgb, var(--designic-accent) 10%, transparent), transparent 34%),
        var(--designic-surface);
}
.designic-product.no-image { grid-template-columns: 1fr; }
.designic-product.no-image .designic-product-copy { max-width: 900px; }
.designic-product figure { min-height: 100%; margin: 0; overflow: hidden; background: #071018; }
.designic-product figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .75s var(--designic-ease); }
.designic-product:hover figure img { transform: scale(1.025); }
.designic-product-copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(34px, 5vw, 72px); }
.designic-product-copy > p { margin: 0 0 13px; color: var(--designic-accent); font-size: 10px; font-weight: 750; letter-spacing: .13em; }
.designic-product-copy h3 { margin: 0 0 18px; font-size: clamp(30px, 3.8vw, 55px); font-weight: 470; letter-spacing: -.04em; line-height: 1; }
.designic-product-copy > div:not(.designic-product-actions) { max-width: 540px; color: var(--designic-muted); font-size: 14px; line-height: 1.8; }
.designic-product-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 30px; }

/* Contact */
.designic-contact { padding-bottom: clamp(52px, 5vw, 78px); }
.designic-contact-grid {
    display: grid;
    grid-template-columns: minmax(280px,.7fr) minmax(300px,.72fr) minmax(260px,.58fr);
    gap: clamp(28px, 4vw, 62px);
    padding: 16px 0 0;
}
.designic-contact-grid > h3 { margin: 0; font-size: clamp(36px, 3.8vw, 58px); font-weight: 470; letter-spacing: -.045em; line-height: .98; }
.designic-contact-intro > p { max-width: 480px; margin: 0 0 28px; color: var(--designic-muted); font-size: 14px; line-height: 1.8; }
.designic-contact-details { padding-left: clamp(0px, 2vw, 28px); border-left: 1px solid var(--designic-line); }
.designic-contact-details > p { display: grid; grid-template-columns: 90px 1fr; gap: 18px; margin: 0 0 17px; font-size: 13px; }
.designic-contact-details > p span,
.designic-socials > span { color: rgba(255,255,255,.5); }
.designic-contact-details > p a,
.designic-contact-details > p b { font-weight: 500; }
.designic-socials { display: grid; grid-template-columns: 90px 1fr; gap: 18px; margin-top: 25px; font-size: 13px; }
.designic-socials > div { display: flex; flex-wrap: wrap; gap: 10px; }
.designic-socials a {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--designic-line);
    border-radius: 50%;
    color: rgba(255,255,255,.74);
    font-size: 9px;
    font-weight: 750;
    letter-spacing: .05em;
    transition: background .2s ease, border-color .2s ease;
}
.designic-socials a:hover { background: var(--designic-accent); border-color: var(--designic-accent); color: #fff; }

/* Footer */
.designic-site-footer { border-top: 1px solid var(--designic-line); }
.designic-footer-inner {
    width: min(100%, calc(var(--designic-max) + (var(--designic-side-pad) * 2)));
    min-height: 98px;
    margin: 0 auto;
    padding: 25px var(--designic-side-pad);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 28px;
}
.designic-footer-inner p { margin: 0; color: rgba(255,255,255,.45); font-size: 10px; }
.designic-back-top { justify-self: end; display: inline-flex; align-items: center; gap: 13px; color: rgba(255,255,255,.48); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.designic-back-top b { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--designic-line); border-radius: 50%; color: #fff; font-size: 14px; transition: border-color .2s ease, background .2s ease; }
.designic-back-top:hover b { border-color: var(--designic-accent); background: var(--designic-accent); }

/* Standard pages */
.designic-page-shell { min-height: 78vh; padding: calc(var(--designic-header-height) + 90px) var(--designic-side-pad) 100px; }
.designic-page-content { width: min(100%, 940px); margin: 0 auto; }
.designic-entry-header { margin-bottom: 54px; }
.designic-entry-header h1,
.designic-not-found h1 { margin: 0; font-size: clamp(52px, 8vw, 108px); font-weight: 520; letter-spacing: -.055em; line-height: .95; }
.designic-entry-content { color: #c3c7ca; font-size: 17px; }
.designic-entry-content > * { max-width: 800px; }
.designic-entry-content h2,
.designic-entry-content h3 { color: #fff; }
.designic-entry-content a { color: var(--designic-accent); text-decoration: underline; text-underline-offset: 4px; }
.designic-back-home { display: inline-flex; margin-top: 60px; color: var(--designic-accent); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.designic-not-found .designic-page-content > p:not(.designic-entry-kicker) { color: var(--designic-muted); }

/* Reveal animation */
.js [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .75s var(--designic-ease), transform .75s var(--designic-ease); }
.js [data-reveal].is-visible { opacity: 1; transform: none; }

/* Focus */
:focus-visible { outline: 2px solid var(--designic-accent); outline-offset: 4px; }

@media (max-width: 1180px) {
    .designic-about-grid,
    .designic-about-grid.no-stats { grid-template-columns: minmax(300px,1fr) minmax(300px,.8fr); }
    .designic-about-grid.no-image { grid-template-columns: 1fr; }
    .designic-about-stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--designic-line); }
    .designic-about-stats > div { padding: 20px; border-right: 1px solid var(--designic-line); border-bottom: 0; }
    .designic-about-stats > div:first-child { padding-left: 0; }
    .designic-about-stats > div:last-child { border-right: 0; }
    .designic-disciplines { grid-template-columns: minmax(0,1fr) minmax(310px,.72fr); gap: 34px; }
    .designic-discipline-visuals { min-height: 460px; }
}

@media (max-width: 900px) {
    :root { --designic-header-height: 78px; }
    .admin-bar .designic-site-header { top: 46px; }
    .designic-primary-nav { display: none; }
    .designic-menu-toggle { display: inline-block; }
    .designic-hero-inner { grid-template-columns: 1fr; grid-template-rows: 1fr auto auto; gap: 30px; }
    .designic-hero-copy { align-self: end; padding-top: 90px; }
    .designic-hero-note { max-width: 360px; justify-self: end; }
    .designic-scroll-cue { grid-column: auto; }
    .designic-work-card { flex-basis: clamp(270px, 42vw, 360px); min-height: clamp(250px, 38vw, 340px); }
    .designic-about-grid,
    .designic-about-grid.no-stats,
    .designic-about-grid.no-image { grid-template-columns: 1fr; }
    .designic-about-portrait { min-height: 68vw; max-height: 640px; }
    .designic-about-stats { grid-column: auto; }
    .designic-disciplines { grid-template-columns: 1fr; }
    .designic-discipline-visuals { min-height: 52vw; max-height: 520px; order: -1; }
    .designic-featured-card { background-image: linear-gradient(0deg, rgba(3,7,10,.98) 0%, rgba(3,7,10,.65) 58%, rgba(3,7,10,.16) 100%), var(--designic-featured-image); background-position: var(--designic-featured-position, center center); }
    .designic-featured-copy { width: 100%; justify-content: end; }
    .designic-product { grid-template-columns: 1fr; }
    .designic-product figure { min-height: 52vw; }
    .designic-contact-grid { grid-template-columns: 1fr 1fr; }
    .designic-contact-details { grid-column: 1 / -1; padding: 32px 0 0; border-top: 1px solid var(--designic-line); border-left: 0; }
    .designic-footer-inner { grid-template-columns: 1fr auto; }
    .designic-footer-inner p { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 640px) {
    :root {
        --designic-side-pad: 20px;
        --designic-section-space: 58px;
    }
    .designic-site-header.is-transparent { background: transparent !important; border: 0 !important; box-shadow: none !important; }
    .designic-brand, .designic-footer-brand { font-size: 13px; letter-spacing: .34em; }
    .designic-hero { min-height: 860px; background-image: var(--designic-hero-image-mobile, var(--designic-hero-image)); background-position: var(--designic-hero-position-mobile, var(--designic-hero-position, 63% center)); }
    .designic-hero::before { background: linear-gradient(90deg, rgba(3,8,11,.95) 0%, rgba(3,8,11,.64) 66%, rgba(3,8,11,.35) 100%), linear-gradient(0deg, var(--designic-bg) 0%, transparent 34%, rgba(2,6,9,.28) 100%); }
    .designic-hero-inner { min-height: 860px; padding-bottom: 34px; }
    .designic-hero h1 { max-width: 100%; font-size: clamp(43px, 12.2vw, 62px); overflow-wrap: anywhere; }
    .designic-hero-disciplines { max-width: 310px; font-size: 10px; line-height: 1.8; letter-spacing: .22em; }
    .designic-hero-note { justify-self: start; font-size: 13px; }
    .designic-section-heading { align-items: flex-start; }
    .designic-section-heading > div { gap: 14px; }
    .designic-section-heading > a { margin-top: 3px; }
    .designic-work-heading-actions { gap: 10px; }
    .designic-work-controls { display: none; }
    .designic-work-card { flex: 0 0 82%; min-height: 340px; }
    .designic-about-copy h3 { font-size: 38px; }
    .designic-about-portrait { min-height: 450px; }
    .designic-about-stats { grid-template-columns: 1fr; }
    .designic-about-stats > div { display: grid; grid-template-columns: 100px 1fr; align-items: center; gap: 20px; padding: 21px 0; border-right: 0; border-bottom: 1px solid var(--designic-line); }
    .designic-about-stats > div:last-child { border-bottom: 0; }
    .designic-about-stats strong { margin: 0; }
    .designic-disciplines { grid-template-columns: 1fr; }
    .designic-discipline { grid-template-columns: 36px minmax(0,1fr) 34px; min-height: 94px; gap: 10px; padding: 14px 0; }
    .designic-discipline:hover,
    .designic-discipline:focus-within,
    .designic-discipline.is-active { padding-left: 10px; }
    .designic-discipline-main h3 { font-size: 27px; }
    .designic-discipline-main p { font-size: 12px; }
    .designic-discipline-mark { width: 28px; height: 28px; }
    .designic-discipline-visuals { min-height: 350px; }
    .designic-featured-card { min-height: 620px; }
    .designic-featured-copy { padding: 34px 26px; }
    .designic-product figure { min-height: 310px; }
    .designic-product-copy { padding: 30px 24px 34px; }
    .designic-product-actions { width: 100%; }
    .designic-product-actions a { width: 100%; }
    .designic-contact-grid { grid-template-columns: 1fr; }
    .designic-contact-details { grid-column: auto; }
    .designic-footer-inner { grid-template-columns: 1fr auto; }
    .designic-back-top span { display: none; }
    .designic-page-shell { padding-right: 20px; padding-left: 20px; }
}

@media (max-width: 782px) {
    .admin-bar .designic-site-header { top: 46px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
    .js [data-reveal] { opacity: 1; transform: none; }
}

/* Current Focus — true full-bleed visual across the viewport */
.designic-current-focus .designic-section-heading { margin-bottom: clamp(22px, 2.4vw, 32px); }
.designic-focus-wrap {
    width: 100vw;
    max-width: none;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 0;
}
.designic-focus-media {
    position: relative;
    min-height: clamp(390px, 35vw, 560px);
    overflow: hidden;
    background-color: #03070a;
    background-image: var(--designic-focus-image);
    background-position: var(--designic-focus-position, center center);
    background-size: cover;
}
.designic-focus-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--designic-focus-position, center center);
}
.designic-focus-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(
            var(--designic-focus-gradient-angle, 90deg),
            rgba(var(--designic-focus-gradient-rgb, 3,7,10), var(--designic-focus-gradient-strength, .96)) 0%,
            rgba(var(--designic-focus-gradient-rgb, 3,7,10), calc(var(--designic-focus-gradient-strength, .96) * .854)) var(--designic-focus-gradient-stop-2, 29%),
            rgba(var(--designic-focus-gradient-rgb, 3,7,10), calc(var(--designic-focus-gradient-strength, .96) * .354)) var(--designic-focus-gradient-stop-3, 58%),
            rgba(var(--designic-focus-gradient-rgb, 3,7,10), calc(var(--designic-focus-gradient-strength, .96) * .083)) var(--designic-focus-gradient-width, 100%),
            rgba(var(--designic-focus-gradient-rgb, 3,7,10), calc(var(--designic-focus-gradient-strength, .96) * .083)) 100%
        ),
        linear-gradient(rgba(2,5,7,var(--designic-focus-overlay-darkness, 0)), rgba(2,5,7,var(--designic-focus-overlay-darkness, 0))),
        linear-gradient(0deg, rgba(2,5,7,.40), transparent 48%);
    pointer-events: none;
}
.designic-focus-copy {
    position: relative;
    z-index: 2;
    width: 100%;
    min-height: inherit;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-top: clamp(32px, 4vw, 56px);
    padding-right: max(var(--designic-side-pad), calc((100vw - var(--designic-max)) / 2));
    padding-bottom: clamp(32px, 4vw, 56px);
    padding-left: max(var(--designic-side-pad), calc((100vw - var(--designic-max)) / 2));
}
.designic-focus-copy > * {
    width: min(450px, 44vw);
}
.designic-focus-copy > p {
    margin: 0 0 20px;
    color: rgba(255,255,255,.67);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.designic-focus-copy h3 {
    margin: 0 0 24px;
    color: #fff;
    font-size: clamp(36px, 4vw, 58px);
    font-weight: 470;
    letter-spacing: -.045em;
    line-height: .96;
}
.designic-focus-copy > div {
    max-width: 420px;
    margin-bottom: 22px;
    color: rgba(255,255,255,.68);
    font-size: 13px;
    line-height: 1.8;
}
@media (max-width: 900px) {
    .designic-focus-media { min-height: 520px; }
    .designic-focus-overlay { background: linear-gradient(0deg, rgba(3,7,10,.97) 0%, rgba(3,7,10,.68) 52%, rgba(3,7,10,.18) 100%); }
    .designic-focus-copy { width: 100%; justify-content: end; padding: 38px 30px; }
    .designic-focus-copy > * { width: 100%; max-width: 500px; }
}
@media (max-width: 640px) {
    .designic-focus-media { min-height: 480px; }
    .designic-focus-copy { padding: 34px 25px; }
    .designic-focus-copy > * { width: 100%; }
    .designic-focus-copy h3 { font-size: clamp(36px, 11vw, 52px); }
}



/* ==========================================================
   CineStage product page
   ========================================================== */
body.page-template-page-cinestage,
body.designic-cinestage-page { background: #03080d; }
body.page-template-page-cinestage .designic-site-footer,
body.designic-cinestage-page .designic-site-footer { margin-top: 0; }
.cinestage-page { --cs-line: rgba(255,255,255,.075); --cs-muted: #929aa2; background: #03080d; color: #f5f6f7; }
.cinestage-shell { width: min(100%, calc(var(--designic-max) + (var(--designic-side-pad) * 2))); margin: 0 auto; padding-right: var(--designic-side-pad); padding-left: var(--designic-side-pad); }
.cinestage-kicker { margin: 0; color: var(--designic-accent); font-size: 12px; font-weight: 800; letter-spacing: .06em; }

.cinestage-hero { position: relative; min-height: 690px; display: flex; align-items: center; overflow: hidden; border-bottom: 1px solid var(--cs-line); background: radial-gradient(circle at 72% 40%, rgba(31,56,78,.13), transparent 31%), #03080d; }
.cinestage-hero-grid { display: grid; grid-template-columns: minmax(320px,.82fr) minmax(420px,1.18fr); align-items: center; gap: clamp(42px,6vw,96px); padding-top: clamp(72px,8vw,120px); padding-bottom: clamp(70px,8vw,112px); }
.cinestage-hero-copy { max-width: 580px; }
.cinestage-hero-copy h1 { margin: 14px 0 0; font-size: clamp(64px,7vw,112px); line-height: .9; letter-spacing: -.065em; font-weight: 650; }
.cinestage-hero-copy h2 { margin: 22px 0 0; font-size: clamp(22px,2.2vw,34px); line-height: 1.15; font-weight: 450; letter-spacing: -.03em; }
.cinestage-hero-description { max-width: 520px; margin: 38px 0 0; color: #a2a9af; font-size: 16px; line-height: 1.72; }
.cinestage-hero-actions { margin-top: 38px; display: flex; align-items: center; flex-wrap: wrap; gap: 20px 28px; }
.cinestage-primary-button { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; background: var(--designic-accent); color: #fff; border: 1px solid var(--designic-accent); font-size: 11px; font-weight: 800; letter-spacing: .06em; transition: transform .25s ease, filter .25s ease; }
.cinestage-primary-button:hover { transform: translateY(-2px); filter: brightness(1.08); }
.cinestage-text-link { font-size: 11px; font-weight: 800; letter-spacing: .04em; }
.cinestage-text-link span { margin-left: 8px; color: var(--designic-accent); }
.cinestage-hero-visual { width: min(100%, 590px); margin: 0 0 0 auto; aspect-ratio: auto; overflow: visible; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.cinestage-hero-visual img { width: 100%; height: auto; max-height: none; object-fit: contain; object-position: var(--cinestage-image-position,center center); display: block; }

.cinestage-overview { padding: clamp(78px,8vw,128px) 0 clamp(82px,8.5vw,138px); border-bottom: 1px solid var(--cs-line); background: radial-gradient(circle at 48% 24%, rgba(27,49,66,.12), transparent 36%); }
.cinestage-centered-heading { max-width: 920px; margin: 0 auto 66px; text-align: center; }
.cinestage-centered-heading h2 { margin: 10px 0 10px; font-size: clamp(42px,4.3vw,68px); line-height: 1; font-weight: 450; letter-spacing: -.05em; }
.cinestage-centered-heading > p:last-child { margin: 0; color: var(--cs-muted); font-size: 17px; }
.cinestage-pillars { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
.cinestage-pillar { min-width: 0; padding: 0 clamp(22px,2.5vw,42px); border-left: 1px solid var(--cs-line); }
.cinestage-pillar:first-child { border-left: 0; padding-left: 0; }
.cinestage-pillar:last-child { padding-right: 0; }
.cinestage-pillar-icon { display: block; width: 54px; height: 54px; margin-bottom: 26px; color: var(--designic-accent); }
.cinestage-pillar-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cinestage-pillar h3 { margin: 0 0 10px; font-size: 20px; font-weight: 500; letter-spacing: -.025em; }
.cinestage-pillar p { margin: 0; color: var(--cs-muted); font-size: 15px; line-height: 1.65; }

.cinestage-workflow { padding: clamp(68px,7vw,108px) 0 clamp(74px,8vw,126px); border-bottom: 1px solid var(--cs-line); }
.cinestage-workflow-heading { margin-bottom: 44px; }
.cinestage-workflow-heading h2 { margin: 6px 0 0; font-size: clamp(38px,4vw,62px); line-height: 1; font-weight: 450; letter-spacing: -.05em; }
.cinestage-steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); }
.cinestage-step { min-width: 0; padding-right: clamp(18px,2vw,34px); }
.cinestage-step-track { position: relative; height: 42px; display: flex; align-items: center; }
.cinestage-step-track::before { content:""; position:absolute; top: 50%; left: 0; right: 0; height: 2px; background: color-mix(in srgb,var(--designic-accent) 70%,transparent); transform: translateY(-50%); }
.cinestage-step:last-child .cinestage-step-track::before { right: 66%; }
.cinestage-step-track span { position: relative; z-index: 1; display: grid; place-items: center; width: 34px; height: 34px; margin-left: 16px; border-radius: 50%; background: var(--designic-accent); color:#fff; font-size: 12px; font-weight: 800; box-shadow: 0 0 0 7px #03080d; }
.cinestage-step h3 { margin: 12px 0 8px; font-size: 14px; font-weight: 650; }
.cinestage-step p { margin: 0; max-width: 190px; color: var(--cs-muted); font-size: 13px; line-height: 1.55; }

.cinestage-feature-section { padding: clamp(58px,6vw,92px) 0 0; }
.cinestage-feature-section:last-child { padding-bottom: clamp(72px,7vw,110px); }
.cinestage-feature-heading { display: flex; align-items: center; gap: 22px; margin-bottom: clamp(22px, 2.4vw, 32px); }
.cinestage-feature-heading span { color: var(--designic-accent); font-size: 13px; font-weight: 800; }
.cinestage-feature-heading h2 { margin: 0; font-size: 18px; font-weight: 800; letter-spacing: .22em; }
.cinestage-feature-section.has-image .designic-focus-media { background-size: cover; background-repeat: no-repeat; background-position: var(--designic-focus-position, center center); }
.cinestage-feature-media--empty { background-image: radial-gradient(circle at 70% 45%, rgba(34,64,84,.22), transparent 34%), linear-gradient(110deg,#090f14,#111a21 65%,#0a1015); background-size: cover; background-position: center center; }

@media (max-width: 1000px) {
    .cinestage-hero { min-height: 0; }
    .cinestage-hero-grid { grid-template-columns: 1fr; gap: 52px; }
    .cinestage-hero-copy { max-width: 720px; }
    .cinestage-hero-visual { width: min(100%,620px); margin: 0; }
    .cinestage-pillars { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 48px 0; }
    .cinestage-pillar:nth-child(3) { border-left: 0; padding-left: 0; }
    .cinestage-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 42px 0; }
    .cinestage-step:nth-child(even) .cinestage-step-track::before { right: 20%; }
    
}
@media (max-width: 640px) {
    .cinestage-hero-grid { padding-top: 58px; padding-bottom: 68px; }
    .cinestage-hero-copy h1 { font-size: clamp(58px,18vw,84px); }
    .cinestage-hero-description { margin-top: 28px; }
    .cinestage-hero-actions { align-items: flex-start; flex-direction: column; }
    .cinestage-centered-heading { text-align: left; margin-bottom: 48px; }
    .cinestage-pillars { grid-template-columns: 1fr; gap: 0; }
    .cinestage-pillar,.cinestage-pillar:first-child,.cinestage-pillar:nth-child(3),.cinestage-pillar:last-child { padding: 28px 0; border-left: 0; border-top: 1px solid var(--cs-line); }
    .cinestage-pillar:first-child { border-top: 0; }
    .cinestage-steps { grid-template-columns: 1fr; gap: 24px; }
    .cinestage-step { padding-right: 0; }
    .cinestage-step-track::before,.cinestage-step:last-child .cinestage-step-track::before,.cinestage-step:nth-child(even) .cinestage-step-track::before { right: 25%; }
    .cinestage-feature-section { padding-top: 52px; }
    .cinestage-feature-heading { gap: 14px; }
    .cinestage-feature-heading h2 { font-size: 14px; letter-spacing: .15em; }
}


/* iKuwait product page */
body.page-template-page-ikuwait,
body.designic-ikuwait-page { background: #070a11; }
body.page-template-page-ikuwait .designic-site-footer,
body.designic-ikuwait-page .designic-site-footer { margin-top: 0; }
.ikuwait-page {
    --ik-line: rgba(255,255,255,.08);
    --ik-panel: linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.03));
    --ik-muted: #9ea6b2;
    --ik-cream: #f4e2b3;
    --ik-gold: #ffb31a;
    --ik-orange: #ff7c1f;
    --ik-red: #ff4f24;
    --ik-shadow: 0 32px 90px rgba(0,0,0,.32);
    background:
        radial-gradient(circle at 15% 8%, rgba(255,78,36,.12), transparent 28%),
        radial-gradient(circle at 100% 0%, rgba(255,179,26,.12), transparent 20%),
        #070a11;
    color: #f7f8fa;
    overflow: clip;
}
.ikuwait-shell { width: min(100%, calc(var(--designic-max) + (var(--designic-side-pad) * 2))); margin: 0 auto; padding-right: var(--designic-side-pad); padding-left: var(--designic-side-pad); }
.ikuwait-kicker { margin: 0; color: var(--ik-orange); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.ikuwait-hero { position: relative; padding: clamp(78px,9vw,132px) 0 clamp(78px,9vw,120px); border-bottom: 1px solid var(--ik-line); }
.ikuwait-hero::before,.ikuwait-hero::after { content:""; position:absolute; border-radius: 34px; opacity:.95; pointer-events:none; }
.ikuwait-hero::before { top: 28px; right: clamp(18px,3vw,54px); width: 160px; height: 160px; background: linear-gradient(135deg,var(--ik-cream) 0 22%,transparent 22% 28%,var(--ik-gold) 28% 50%,transparent 50% 56%,var(--ik-red) 56% 78%,transparent 78%); mask: radial-gradient(circle at bottom left, transparent 0 54%, #000 55%); opacity:.22; }
.ikuwait-hero::after { left: -32px; bottom: 18px; width: 240px; height: 110px; background: linear-gradient(90deg,var(--ik-cream) 0 28%,transparent 28% 34%,var(--ik-gold) 34% 62%,transparent 62% 68%,var(--ik-red) 68% 96%,transparent 96%); opacity:.18; }
.ikuwait-hero-grid { display:grid; grid-template-columns: minmax(320px,.9fr) minmax(380px,1.1fr); gap: clamp(38px,5vw,82px); align-items:center; }
.ikuwait-hero-copy { max-width: 560px; }
.ikuwait-hero-logo { width: clamp(90px,10vw,124px); height:auto; margin: 18px 0 22px; }
.ikuwait-hero-copy h1 { margin: 18px 0 0; font-size: clamp(56px,7vw,108px); line-height: .92; letter-spacing: -.07em; font-weight: 700; }
.ikuwait-hero-copy h2 { margin: 18px 0 0; font-size: clamp(22px,2.35vw,34px); line-height: 1.12; font-weight: 600; letter-spacing: -.03em; }
.ikuwait-hero-description { margin: 30px 0 0; max-width: 520px; color: var(--ik-muted); line-height: 1.75; font-size: 16px; }
.ikuwait-hero-actions { margin-top: 34px; display:flex; align-items:center; flex-wrap:wrap; gap: 16px; }
.ikuwait-primary-button,.ikuwait-secondary-button { display:inline-flex; align-items:center; justify-content:center; min-height: 48px; padding: 0 20px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .08em; transition: transform .25s ease, filter .25s ease, background .25s ease; }
.ikuwait-primary-button { background: linear-gradient(135deg,var(--ik-orange),var(--ik-red)); color:#fff; box-shadow: 0 14px 28px rgba(255,79,36,.25); }
.ikuwait-secondary-button { border: 1px solid rgba(255,255,255,.16); color:#fff; background: rgba(255,255,255,.02); }
.ikuwait-primary-button:hover,.ikuwait-secondary-button:hover { transform: translateY(-2px); filter: brightness(1.05); }
.ikuwait-meta { margin-top: 22px; display:flex; flex-wrap:wrap; gap: 10px; }
.ikuwait-meta span { display:inline-flex; align-items:center; min-height:32px; padding: 0 14px; border-radius: 999px; border:1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03); color: #c3c8d0; font-size: 12px; }
.ikuwait-meta--center { justify-content: center; }
.ikuwait-hero-visual { position:relative; display:flex; justify-content:flex-end; }
.ikuwait-screen-shell { width:min(100%,760px); position:relative; overflow:hidden; border-radius: 28px; background: linear-gradient(180deg,#121722,#0b0f16); border: 1px solid rgba(255,255,255,.08); box-shadow: var(--ik-shadow); padding: clamp(14px,1.7vw,20px); }
.ikuwait-screen-shell::before { content:""; position:absolute; inset:0; border-radius: inherit; pointer-events:none; background: linear-gradient(135deg,rgba(255,255,255,.08),transparent 30%, transparent 70%, rgba(255,255,255,.03)); }
.ikuwait-screen-shell img { width:100%; height:auto; display:block; object-fit:contain; border-radius:18px; }
.ikuwait-placeholder { display:grid; place-items:center; min-height: 420px; color:#8e97a6; background: rgba(255,255,255,.02); border-radius: 18px; }
.ikuwait-features,.ikuwait-steps-section,.ikuwait-showcase,.ikuwait-reviews,.ikuwait-cta { padding: clamp(78px,8vw,120px) 0; border-bottom: 1px solid var(--ik-line); }
.ikuwait-centered-heading { text-align:center; max-width: 840px; margin: 0 auto 54px; }
.ikuwait-centered-heading h2,.ikuwait-steps-copy h2,.ikuwait-showcase-copy h2,.ikuwait-cta h2 { margin: 10px 0 0; font-size: clamp(38px,4.4vw,64px); line-height: 1; letter-spacing: -.05em; font-weight: 650; }
.ikuwait-centered-heading > p:last-child,.ikuwait-showcase-copy > p,.ikuwait-cta > p { margin: 16px 0 0; color: var(--ik-muted); font-size: 16px; line-height: 1.75; }
.ikuwait-feature-grid { display:grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 20px; }
.ikuwait-feature-card,.ikuwait-step-card,.ikuwait-side-card,.ikuwait-review-card { min-width:0; padding: 26px; border-radius: 24px; background: var(--ik-panel); border:1px solid rgba(255,255,255,.08); box-shadow: inset 0 1px 0 rgba(255,255,255,.03); }
.ikuwait-feature-icon { display:grid; place-items:center; width: 58px; height: 58px; margin-bottom: 22px; border-radius: 18px; background: linear-gradient(135deg,rgba(255,179,26,.15),rgba(255,79,36,.16)); color: var(--ik-gold); }
.ikuwait-feature-icon svg { width: 28px; height: 28px; fill:none; stroke: currentColor; stroke-width: 2.25; stroke-linecap:round; stroke-linejoin:round; }
.ikuwait-feature-card h3,.ikuwait-step-card h3,.ikuwait-side-card h3,.ikuwait-review-card footer { margin:0; font-size: 18px; font-weight: 650; letter-spacing: -.02em; }
.ikuwait-feature-card p,.ikuwait-step-card p,.ikuwait-side-card p,.ikuwait-review-card p { margin: 12px 0 0; color: var(--ik-muted); font-size: 14px; line-height: 1.7; }
.ikuwait-steps-wrap,.ikuwait-showcase-grid { display:grid; grid-template-columns: minmax(320px,.9fr) minmax(320px,1.1fr); gap: clamp(32px,5vw,72px); align-items:start; }
.ikuwait-steps-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 30px; }
.ikuwait-step-number { display:inline-grid; place-items:center; width: 34px; height: 34px; border-radius: 50%; background: linear-gradient(135deg,var(--ik-gold),var(--ik-red)); color:#fff; font-size: 12px; font-weight: 800; margin-bottom: 16px; }
.ikuwait-side-card img { width: 100%; display:block; margin: 0 0 18px; border-radius: 16px; }
.ikuwait-showcase-copy { max-width: 560px; }
.ikuwait-bullets { display:grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style:none; }
.ikuwait-bullets li { position:relative; padding-left: 24px; color: #d6dbe3; }
.ikuwait-bullets li::before { content:""; position:absolute; left:0; top:.62em; width:10px; height:10px; border-radius:50%; background: linear-gradient(135deg,var(--ik-gold),var(--ik-red)); box-shadow: 0 0 0 5px rgba(255,179,26,.08); }
.ikuwait-showcase-visual { position:relative; display:grid; gap: 18px; }
.ikuwait-showcase-main,.ikuwait-showcase-side { overflow:hidden; border-radius: 26px; background: #0f141c; border:1px solid rgba(255,255,255,.08); box-shadow: var(--ik-shadow); }
.ikuwait-showcase-main img,.ikuwait-showcase-side img { width:100%; display:block; object-fit:cover; }
.ikuwait-showcase-main img { aspect-ratio: 1.18 / 1; }
.ikuwait-showcase-side { width: min(100%, 270px); margin-left:auto; }
.ikuwait-showcase-side img { aspect-ratio: 1 / 1; }
.ikuwait-review-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.ikuwait-review-card { margin:0; }
.ikuwait-review-card footer { margin-top: 18px; color: #fff; }
.ikuwait-cta { text-align:center; border-bottom: 0; }
.ikuwait-cta .ikuwait-shell { max-width: 840px; }
@media (max-width: 1180px) {
    .ikuwait-feature-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .ikuwait-steps-wrap,.ikuwait-showcase-grid,.ikuwait-hero-grid { grid-template-columns: 1fr; }
    .ikuwait-hero-copy,.ikuwait-showcase-copy { max-width: 720px; }
    .ikuwait-hero-visual { justify-content:flex-start; }
    .ikuwait-screen-shell { width:min(100%,760px); }
    .ikuwait-steps-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 860px) {
    .ikuwait-hero { padding-top: 64px; }
    .ikuwait-feature-grid,.ikuwait-review-grid { grid-template-columns: 1fr; }
    .ikuwait-steps-grid { grid-template-columns: 1fr; }
    .ikuwait-centered-heading { text-align:left; margin-bottom: 36px; }
    .ikuwait-hero-actions { flex-direction: column; align-items: flex-start; }
    .ikuwait-showcase-side { width: 100%; }
}



/* iKuwait retro identity layer — v3.9.12 */
.ikuwait-page {
    --ik-stripe-cream: #ead5a0;
    --ik-stripe-gold: #eaa417;
    --ik-stripe-orange: #d86b18;
    --ik-stripe-red: #b93a24;
    --ik-card-border: rgba(234,164,23,.18);
    --ik-card-fill: linear-gradient(180deg, rgba(11,16,27,.92), rgba(8,12,22,.88));
    --ik-section-gap: clamp(76px, 7vw, 112px);
}

.ikuwait-hero,
.ikuwait-features,
.ikuwait-steps-section,
.ikuwait-showcase,
.ikuwait-reviews,
.ikuwait-cta {
    position: relative;
    overflow: hidden;
    border: 0 !important;
    border-bottom: 0 !important;
    padding-top: var(--ik-section-gap);
    padding-bottom: var(--ik-section-gap);
}

.ikuwait-hero {
    padding-top: clamp(82px, 8vw, 126px);
    /* Reserve a clean band for the connected rails before the section ends. */
    padding-bottom: clamp(188px, 13vw, 228px);
    background:
        radial-gradient(circle at 18% 24%, rgba(128,18,32,.20), transparent 34%),
        linear-gradient(90deg, rgba(10,12,20,.97), rgba(8,12,21,.93));
}

.ikuwait-shell {
    max-width: min(1440px, calc(100% - 64px));
}

.ikuwait-kicker { letter-spacing: .09em; }
.ikuwait-centered-heading { max-width: 900px; margin-bottom: 48px; }
.ikuwait-feature-grid { gap: 22px; }

.ikuwait-feature-card,
.ikuwait-step-card,
.ikuwait-side-card,
.ikuwait-review-card,
.ikuwait-showcase-main,
.ikuwait-showcase-side,
.ikuwait-screen-shell {
    border-color: var(--ik-card-border);
}

.ikuwait-feature-card,
.ikuwait-step-card,
.ikuwait-side-card,
.ikuwait-review-card {
    background: var(--ik-card-fill);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.03), 0 18px 42px rgba(0,0,0,.18);
}

.ikuwait-primary-button {
    background: #f3dca4;
    color: #161b25;
    box-shadow: 0 14px 32px rgba(243,220,164,.11);
}
.ikuwait-secondary-button {
    border-color: rgba(234,164,23,.4);
    color: #fff;
    background: rgba(255,255,255,.01);
}

.ikuwait-screen-shell {
    border-radius: 34px;
    padding: clamp(16px,1.7vw,20px);
    box-shadow: 0 36px 96px rgba(0,0,0,.34), 0 0 0 1px rgba(234,164,23,.06), 0 0 48px rgba(216,107,24,.06);
}
.ikuwait-screen-shell img { border-radius: 24px; }

/* Only the large stripe motifs from the approved reference. */
.ikuwait-features::before,
.ikuwait-features::after,
.ikuwait-steps-section::before,
.ikuwait-steps-section::after,
.ikuwait-reviews::before,
.ikuwait-reviews::after {
    content: none !important;
    display: none !important;
}

.ikuwait-hero::before,
.ikuwait-hero::after,
.ikuwait-showcase::before,
.ikuwait-showcase::after,
.ikuwait-cta::before,
.ikuwait-cta::after {
    content: "";
    position: absolute;
    display: block;
    pointer-events: none;
    z-index: 0;
    opacity: 1;
    background-repeat: no-repeat;
    background-size: contain;
}

/* Hero: one continuous connected rail runs from the left, behind the uploaded program image, then turns upward at the right. */
.ikuwait-hero {
    isolation: isolate;
}
.ikuwait-hero::before,
.ikuwait-hero::after {
    content: none !important;
    display: none !important;
}
.ikuwait-hero-rail {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
    /* Keep the exact approved rail shape, but place it below all Hero copy. */
    transform: translateY(clamp(72px, 6vw, 100px));
    filter: drop-shadow(0 0 14px rgba(216,107,24,.10));
}
.ikuwait-hero-rail path {
    fill: none;
    stroke-width: 12px;
    stroke-linecap: butt;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
    shape-rendering: geometricPrecision;
}
.ikuwait-hero-rail-cream { stroke: var(--ik-stripe-cream); }
.ikuwait-hero-rail-gold { stroke: var(--ik-stripe-gold); }
.ikuwait-hero-rail-orange { stroke: var(--ik-stripe-orange); }
.ikuwait-hero-rail-red { stroke: var(--ik-stripe-red); }

.ikuwait-hero-grid,
.ikuwait-features .ikuwait-shell,
.ikuwait-steps-wrap,
.ikuwait-showcase-grid,
.ikuwait-reviews .ikuwait-shell,
.ikuwait-cta .ikuwait-shell {
    position: relative;
    z-index: 1;
}

.ikuwait-features {
    padding-top: clamp(62px, 6vw, 88px);
    padding-bottom: clamp(70px, 6vw, 96px);
}

/* Framed content areas used in the approved design. */
.ikuwait-steps-wrap,
.ikuwait-reviews .ikuwait-shell {
    border: 1px solid rgba(234,164,23,.20);
    border-radius: 34px;
    padding: clamp(34px, 4vw, 56px);
    background: linear-gradient(180deg, rgba(7,10,18,.72), rgba(7,10,18,.56));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}

.ikuwait-steps-wrap {
    grid-template-columns: minmax(430px,.92fr) minmax(360px,1.08fr);
    gap: clamp(34px,4vw,56px);
}

.ikuwait-steps-copy h2,
.ikuwait-showcase-copy h2,
.ikuwait-centered-heading h2,
.ikuwait-cta h2 {
    font-size: clamp(44px, 4.6vw, 72px);
    letter-spacing: -.055em;
}

.ikuwait-steps-grid { margin-top: 26px; gap: 16px; }
.ikuwait-step-card { min-height: 240px; border-radius: 28px; }
.ikuwait-side-card { border-radius: 30px; min-height: 100%; }
.ikuwait-side-card img { border-radius: 22px; }

/* Showcase: the same lower-left turn and right-side horizontal rails. */
.ikuwait-showcase {
    padding-top: clamp(82px, 7vw, 108px);
    padding-bottom: clamp(88px, 7vw, 112px);
}
.ikuwait-showcase::before {
    left: 0;
    bottom: 0;
    width: min(38vw, 560px);
    height: min(19vw, 280px);
    background-image: url("../images/ikuwait/stripe-showcase-left.svg");
    background-position: left bottom;
}
.ikuwait-showcase::after {
    right: 0;
    top: 57%;
    width: min(28vw, 430px);
    height: min(5vw, 84px);
    transform: translateY(-50%);
    background-image: url("../images/ikuwait/stripe-horizontal.svg");
    background-position: right center;
}
.ikuwait-showcase-grid {
    grid-template-columns: minmax(350px,.88fr) minmax(520px,1.12fr);
    align-items: center;
    gap: clamp(34px,4vw,64px);
}
.ikuwait-showcase-main,
.ikuwait-showcase-side {
    background: linear-gradient(180deg,rgba(16,21,31,.92),rgba(10,14,23,.90));
    border-radius: 30px;
}
.ikuwait-showcase-main { flex: 1 1 auto; }
.ikuwait-showcase-main img { aspect-ratio: 1.28 / 1; }
.ikuwait-showcase-side { width: min(100%, 250px); flex: 0 0 250px; }
.ikuwait-showcase-side img { aspect-ratio: .48 / 1; }
.ikuwait-showcase-visual {
    grid-template-columns: minmax(0,1fr) minmax(200px,250px);
    align-items: center;
    gap: 18px;
}

.ikuwait-reviews {
    padding-top: clamp(72px, 7vw, 100px);
    padding-bottom: clamp(72px, 7vw, 100px);
}
.ikuwait-review-grid { gap: 18px; }
.ikuwait-review-card { border-radius: 24px; padding: 24px 26px; }

/* CTA: matching large bottom-left and bottom-right turns from the reference. */
.ikuwait-cta {
    text-align: center;
    padding-top: clamp(92px, 8vw, 126px);
    padding-bottom: clamp(150px, 11vw, 196px);
}
.ikuwait-cta .ikuwait-shell { max-width: 920px; }
.ikuwait-cta::before,
.ikuwait-cta::after {
    bottom: 0;
    width: min(30vw, 390px);
    height: min(17vw, 220px);
    background-image: url("../images/ikuwait/stripe-cta-left.svg");
    background-position: left bottom;
}
.ikuwait-cta::before { left: 0; }
.ikuwait-cta::after { right: 0; transform: scaleX(-1); }

.ikuwait-showcase-copy,
.ikuwait-steps-copy,
.ikuwait-hero-copy { max-width: 600px; }
.ikuwait-centered-heading > p:last-child,
.ikuwait-showcase-copy > p,
.ikuwait-cta > p,
.ikuwait-hero-description { max-width: 720px; }

@media (max-width: 1180px) {
    .ikuwait-shell { max-width: min(100%, calc(100% - 48px)); }
    .ikuwait-steps-wrap,
    .ikuwait-showcase-grid,
    .ikuwait-hero-grid { grid-template-columns: 1fr; }
    .ikuwait-showcase-visual { grid-template-columns: minmax(0,1fr) minmax(160px,220px); }
    .ikuwait-showcase-side { flex-basis: 220px; width: min(100%, 220px); }
    .ikuwait-hero-rail path {
        stroke-width: 10px;
    }
}

@media (max-width: 860px) {
    .ikuwait-shell { max-width: min(100%, calc(100% - 28px)); }
    .ikuwait-hero,
    .ikuwait-features,
    .ikuwait-steps-section,
    .ikuwait-showcase,
    .ikuwait-reviews,
    .ikuwait-cta {
        padding-top: 56px;
        padding-bottom: 56px;
    }
    .ikuwait-hero { padding-top: 64px; padding-bottom: 150px; }
    .ikuwait-hero-rail {
        height: 100%;
        transform: translateY(48px);
    }
    .ikuwait-hero-rail path {
        stroke-width: 7px;
    }
    .ikuwait-feature-grid,
    .ikuwait-review-grid,
    .ikuwait-steps-grid,
    .ikuwait-showcase-visual { grid-template-columns: 1fr; }
    .ikuwait-steps-wrap,
    .ikuwait-reviews .ikuwait-shell { padding: 28px 22px; border-radius: 26px; }
    .ikuwait-showcase::before {
        width: 52vw;
        height: 30vw;
    }
    .ikuwait-showcase::after {
        width: 40vw;
        height: 8vw;
        top: auto;
        bottom: 22px;
        transform: none;
    }
    .ikuwait-showcase-side { width: 100%; flex-basis: auto; }
    .ikuwait-showcase-side img { aspect-ratio: 1 / .9; object-fit: cover; }
    .ikuwait-cta { padding-bottom: 122px; }
    .ikuwait-cta::before,
    .ikuwait-cta::after {
        width: 42vw;
        height: 24vw;
    }
}



/* iKuwait borderless refinement — v3.9.13 */
.ikuwait-page .ikuwait-screen-shell,
.ikuwait-page .ikuwait-feature-card,
.ikuwait-page .ikuwait-step-card,
.ikuwait-page .ikuwait-side-card,
.ikuwait-page .ikuwait-showcase-main,
.ikuwait-page .ikuwait-showcase-side,
.ikuwait-page .ikuwait-review-card,
.ikuwait-page .ikuwait-steps-wrap,
.ikuwait-page .ikuwait-reviews .ikuwait-shell,
.ikuwait-page .ikuwait-meta span {
    border: 0 !important;
    border-color: transparent !important;
    outline: 0 !important;
}

/* Keep the visual depth, but remove inset edge lines that read like borders. */
.ikuwait-page .ikuwait-feature-card,
.ikuwait-page .ikuwait-step-card,
.ikuwait-page .ikuwait-side-card,
.ikuwait-page .ikuwait-review-card,
.ikuwait-page .ikuwait-steps-wrap,
.ikuwait-page .ikuwait-reviews .ikuwait-shell {
    box-shadow: 0 18px 42px rgba(0,0,0,.14) !important;
}

/* Buttons intentionally keep their existing outlines. */
.ikuwait-page .ikuwait-secondary-button {
    border: 1px solid rgba(234,164,23,.4) !important;
}


/* iKuwait refinement — v3.9.14 */
/* 1) Showcase: remove only the left decorative lines, keep the right lines. */
.ikuwait-page .ikuwait-showcase::before {
    display: none !important;
    background-image: none !important;
}

/* 2) Image areas only: remove dark container backgrounds behind images. */
.ikuwait-page .ikuwait-screen-shell,
.ikuwait-page .ikuwait-showcase-main,
.ikuwait-page .ikuwait-showcase-side,
.ikuwait-page .ikuwait-side-card {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    outline: 0 !important;
}

/* Keep images clean and direct without extra framed treatment. */
.ikuwait-page .ikuwait-screen-shell img,
.ikuwait-page .ikuwait-showcase-main img,
.ikuwait-page .ikuwait-showcase-side img,
.ikuwait-page .ikuwait-side-card img {
    display: block;
}

/* 3) CTA button group centered under the text. */
.ikuwait-page .ikuwait-cta .ikuwait-hero-actions {
    justify-content: center;
}

/* Preserve left alignment on the hero actions only. */
.ikuwait-page .ikuwait-hero .ikuwait-hero-actions {
    justify-content: flex-start;
}


/* iKuwait spacing refinement — v3.9.15 */
/* Keep the approved Hero rail in its current position, but tighten the gap
   between the end of the Hero and the Features section. */
.ikuwait-page .ikuwait-hero {
    padding-bottom: clamp(154px, 10vw, 178px) !important;
}
.ikuwait-page .ikuwait-features {
    padding-top: clamp(36px, 3.8vw, 56px) !important;
}

@media (max-width: 860px) {
    .ikuwait-page .ikuwait-hero {
        padding-bottom: 118px !important;
    }
    .ikuwait-page .ikuwait-features {
        padding-top: 32px !important;
    }
}


/* iKuwait seamless Hero → Features transition — v3.9.16 */
/* Fade the Hero into the exact page base color so no horizontal color band
   appears between the connected rail area and the next section. */
.ikuwait-page .ikuwait-hero {
    background:
        linear-gradient(to bottom, transparent 0%, transparent 68%, #070a11 100%),
        radial-gradient(circle at 18% 24%, rgba(128,18,32,.20), transparent 34%),
        linear-gradient(90deg, rgba(10,12,20,.97), rgba(8,12,21,.93)) !important;
}

.ikuwait-page .ikuwait-features {
    background: #070a11 !important;
}


/* iKuwait Hero CTA refinement — v3.9.17 */
.ikuwait-page .ikuwait-hero-topbar {
    position: absolute;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    pointer-events: none;
}

.ikuwait-page .ikuwait-hero-download {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 22px;
    border-radius: 999px;
    background: #f3dca4;
    color: #151a23;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
    box-shadow: 0 14px 30px rgba(243,220,164,.14);
    transition: transform .25s ease, filter .25s ease;
}

.ikuwait-page .ikuwait-hero-download:hover {
    transform: translateY(-2px);
    filter: brightness(1.04);
}

/* Hero copy intentionally has only View Features + Visit Website. */
.ikuwait-page .ikuwait-hero .ikuwait-hero-actions {
    justify-content: flex-start;
}

@media (max-width: 860px) {
    .ikuwait-page .ikuwait-hero-topbar {
        top: 16px;
    }
    .ikuwait-page .ikuwait-hero-download {
        min-height: 40px;
        padding: 0 17px;
        font-size: 10px;
    }
}


/* iKuwait Hero CTA placement refinement — v3.9.18 */
/* Put DOWNLOAD inside the Hero, directly above the launcher image,
   so it reads as part of the Hero composition rather than as a page-top button. */
.ikuwait-page .ikuwait-hero-visual {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 18px;
}

.ikuwait-page .ikuwait-hero-download-wrap {
    width: min(100%, 760px);
    display: flex;
    justify-content: flex-end;
}

.ikuwait-page .ikuwait-hero-download {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 22px;
    border-radius: 999px;
    background: #f3dca4;
    color: #151a23;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
    box-shadow: 0 14px 30px rgba(243,220,164,.14);
    transition: transform .25s ease, filter .25s ease;
}

.ikuwait-page .ikuwait-hero-download:hover {
    transform: translateY(-2px);
    filter: brightness(1.04);
}

@media (max-width: 1180px) {
    .ikuwait-page .ikuwait-hero-visual {
        align-items: flex-start;
    }

    .ikuwait-page .ikuwait-hero-download-wrap {
        justify-content: flex-start;
    }
}

@media (max-width: 860px) {
    .ikuwait-page .ikuwait-hero-visual {
        gap: 14px;
    }

    .ikuwait-page .ikuwait-hero-download {
        min-height: 40px;
        padding: 0 17px;
        font-size: 10px;
    }
}


/* CineStage Hero refresh — v3.9.19 */
.cinestage-page {
    --cs-hero-glow: rgba(255, 92, 58, .14);
}

.cinestage-hero {
    min-height: 720px;
    border-bottom: 0;
    background:
        radial-gradient(circle at 76% 44%, rgba(33, 57, 75, .24), transparent 34%),
        radial-gradient(circle at 12% 22%, rgba(255, 92, 58, .055), transparent 28%),
        linear-gradient(180deg, #03080d 0%, #04090e 100%);
}

.cinestage-hero-grid {
    grid-template-columns: minmax(320px, .76fr) minmax(560px, 1.24fr);
    gap: clamp(52px, 6vw, 104px);
    padding-top: clamp(86px, 8vw, 126px);
    padding-bottom: clamp(88px, 8vw, 126px);
}

.cinestage-hero-copy {
    max-width: 560px;
    position: relative;
    z-index: 2;
}

.cinestage-hero-copy h1 {
    font-size: clamp(68px, 7.2vw, 116px);
}

.cinestage-hero-description {
    max-width: 500px;
}

.cinestage-hero-visual {
    position: relative;
    width: min(100%, 820px);
    margin: 0 0 0 auto;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border: 0;
    border-radius: 24px;
    background: #071018;
    box-shadow:
        0 42px 110px rgba(0,0,0,.46),
        0 0 70px var(--cs-hero-glow);
    isolation: isolate;
}

.cinestage-hero-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(3,8,13,.22), transparent 30%),
        linear-gradient(180deg, rgba(255,255,255,.035), transparent 16%, transparent 82%, rgba(0,0,0,.18));
}

.cinestage-hero-visual::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    width: 44%;
    height: 3px;
    background: linear-gradient(90deg, var(--designic-accent), transparent);
    pointer-events: none;
}

.cinestage-hero-visual img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: var(--cinestage-image-position, center center);
    display: block;
}

.cinestage-hero-actions {
    margin-top: 34px;
}

.cinestage-primary-button {
    min-height: 50px;
    padding: 0 24px;
    border-radius: 999px;
}

@media (max-width: 1180px) {
    .cinestage-hero-grid {
        grid-template-columns: minmax(300px,.8fr) minmax(460px,1.2fr);
        gap: 44px;
    }
    .cinestage-hero-visual {
        width: min(100%, 740px);
    }
}

@media (max-width: 1000px) {
    .cinestage-hero {
        min-height: 0;
    }
    .cinestage-hero-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }
    .cinestage-hero-copy {
        max-width: 720px;
    }
    .cinestage-hero-visual {
        width: min(100%, 820px);
        margin: 0;
    }
}

@media (max-width: 640px) {
    .cinestage-hero-grid {
        padding-top: 58px;
        padding-bottom: 68px;
    }
    .cinestage-hero-visual {
        aspect-ratio: 16 / 11;
        border-radius: 18px;
    }
    .cinestage-primary-button {
        border-radius: 999px;
    }
}


/* CineStage compact feature hub — v3.9.21 */
.cinestage-feature-hub { padding: clamp(72px,7vw,110px) 0 clamp(88px,8vw,126px); }
.cinestage-feature-hub-heading { margin-bottom: clamp(28px,3vw,42px); }
.cinestage-feature-hub-heading h2 { margin: 8px 0 0; font-size: clamp(42px,4.4vw,68px); line-height: 1; font-weight: 450; letter-spacing: -.05em; }
.cinestage-feature-grid { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(14px,1.4vw,22px); }
.cinestage-feature-card { position:relative; aspect-ratio:1 / 1; min-height:0; overflow:hidden; background:#0b1116; isolation:isolate; }
.cinestage-feature-card-media { position:absolute; inset:0; z-index:-2; background-image: var(--cinestage-card-image); background-size:cover; background-position:var(--cinestage-card-position,center center); transform:scale(1.001); }
.cinestage-feature-card.no-image .cinestage-feature-card-media { background: radial-gradient(circle at 70% 35%, rgba(34,64,84,.20), transparent 32%), linear-gradient(145deg,#0a1015,#121b23); }
.cinestage-feature-card::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(3,8,13,.98) 0%,rgba(3,8,13,.80) 32%,rgba(3,8,13,.16) 72%,rgba(3,8,13,.04) 100%); }
.cinestage-feature-card-copy { position:absolute; left:0; right:0; bottom:0; padding: clamp(18px,1.7vw,28px); }
.cinestage-feature-card-copy > span { display:block; margin-bottom:7px; color:var(--designic-accent); font-size:11px; font-weight:800; letter-spacing:.08em; }
.cinestage-feature-card-copy > p { margin:0 0 8px; color:rgba(255,255,255,.58); font-size:9px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.cinestage-feature-card-copy h3 { margin:0 0 9px; color:#fff; font-size:clamp(22px,2vw,34px); line-height:1; font-weight:470; letter-spacing:-.04em; }
.cinestage-feature-card-copy > div { max-width:320px; color:rgba(255,255,255,.68); font-size:11px; line-height:1.55; }
.cinestage-feature-more {
    max-width: 980px;
    margin: clamp(38px, 4vw, 58px) auto 0;
    color: #fff;
    font-size: clamp(28px, 3.2vw, 48px);
    line-height: 1.04;
    font-weight: 520;
    letter-spacing: -.04em;
    text-align: center;
    text-wrap: balance;
}
.cinestage-feature-more::before {
    content: "";
    display: block;
    width: 48px;
    height: 2px;
    margin: 0 auto 20px;
    background: var(--designic-accent);
}
@media (max-width: 1100px) {
    .cinestage-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
    .cinestage-feature-grid { grid-template-columns:1fr; }
}


/* CineStage visual density refinement — v3.9.22 */
/* Keep the existing section order and content, but reduce the oversized
   vertical breathing room so the page feels fuller and more intentional. */
.cinestage-page .cinestage-overview {
    padding: clamp(52px,5vw,76px) 0 clamp(58px,5.5vw,84px);
}

.cinestage-page .cinestage-centered-heading {
    margin-bottom: clamp(36px,3.8vw,48px);
}

.cinestage-page .cinestage-workflow {
    padding: clamp(50px,4.8vw,72px) 0 clamp(58px,5.4vw,82px);
}

.cinestage-page .cinestage-workflow-heading {
    margin-bottom: clamp(30px,3.2vw,38px);
}

.cinestage-page .cinestage-feature-hub {
    padding: clamp(54px,5vw,76px) 0 clamp(64px,5.8vw,88px);
}

.cinestage-page .cinestage-feature-hub-heading {
    margin-bottom: clamp(24px,2.5vw,34px);
}

@media (max-width: 860px) {
    .cinestage-page .cinestage-overview,
    .cinestage-page .cinestage-workflow,
    .cinestage-page .cinestage-feature-hub {
        padding-top: 44px;
        padding-bottom: 52px;
    }

    .cinestage-page .cinestage-centered-heading,
    .cinestage-page .cinestage-workflow-heading,
    .cinestage-page .cinestage-feature-hub-heading {
        margin-bottom: 30px;
    }
}


/* iKuwait visual density refinement — v3.9.23 */
/* Preserve the approved Hero and retro rails; only tighten vertical spacing
   through the content sections so the page feels fuller and more cohesive. */
.ikuwait-page .ikuwait-features {
    padding-bottom: clamp(54px, 5vw, 72px) !important;
}

.ikuwait-page .ikuwait-steps-section {
    padding-top: clamp(48px, 4.5vw, 66px) !important;
    padding-bottom: clamp(54px, 5vw, 74px) !important;
}

.ikuwait-page .ikuwait-showcase {
    padding-top: clamp(50px, 4.8vw, 70px) !important;
    padding-bottom: clamp(56px, 5.2vw, 78px) !important;
}

.ikuwait-page .ikuwait-reviews {
    padding-top: clamp(48px, 4.5vw, 68px) !important;
    padding-bottom: clamp(54px, 5vw, 74px) !important;
}

.ikuwait-page .ikuwait-cta {
    padding-top: clamp(58px, 5.4vw, 82px) !important;
}

.ikuwait-page .ikuwait-centered-heading {
    margin-bottom: clamp(32px, 3vw, 42px);
}

@media (max-width: 860px) {
    .ikuwait-page .ikuwait-features,
    .ikuwait-page .ikuwait-steps-section,
    .ikuwait-page .ikuwait-showcase,
    .ikuwait-page .ikuwait-reviews {
        padding-top: 38px !important;
        padding-bottom: 46px !important;
    }

    .ikuwait-page .ikuwait-cta {
        padding-top: 46px !important;
    }

    .ikuwait-page .ikuwait-centered-heading {
        margin-bottom: 28px;
    }
}

/* iKuwait visual density refinement — v3.9.24 */
/* Second pass: tighten the content sections further while leaving
   the approved Hero, connected retro rails, and CTA bottom curves untouched. */
.ikuwait-page .ikuwait-features {
    padding-bottom: clamp(34px, 3.2vw, 48px) !important;
}

.ikuwait-page .ikuwait-steps-section {
    padding-top: clamp(30px, 2.8vw, 42px) !important;
    padding-bottom: clamp(34px, 3.2vw, 48px) !important;
}

.ikuwait-page .ikuwait-showcase {
    padding-top: clamp(32px, 3vw, 44px) !important;
    padding-bottom: clamp(36px, 3.4vw, 50px) !important;
}

.ikuwait-page .ikuwait-reviews {
    padding-top: clamp(30px, 2.8vw, 42px) !important;
    padding-bottom: clamp(34px, 3.2vw, 48px) !important;
}

.ikuwait-page .ikuwait-cta {
    padding-top: clamp(40px, 3.8vw, 58px) !important;
}

.ikuwait-page .ikuwait-centered-heading {
    margin-bottom: clamp(24px, 2.3vw, 32px) !important;
}

@media (max-width: 860px) {
    .ikuwait-page .ikuwait-features,
    .ikuwait-page .ikuwait-steps-section,
    .ikuwait-page .ikuwait-showcase,
    .ikuwait-page .ikuwait-reviews {
        padding-top: 26px !important;
        padding-bottom: 32px !important;
    }

    .ikuwait-page .ikuwait-cta {
        padding-top: 34px !important;
    }

    .ikuwait-page .ikuwait-centered-heading {
        margin-bottom: 22px !important;
    }
}

/* iKuwait showcase image scale refinement — v3.9.26 */
/* Make the left tool image a bit smaller and let the right vertical image
   breathe more, while preserving the natural ratio of both uploads. */
.ikuwait-page .ikuwait-showcase-visual {
    width: min(100%, 610px);
    justify-self: end;
    grid-template-columns: minmax(0, 1fr) 185px !important;
    gap: 18px;
    align-items: center;
}

.ikuwait-page .ikuwait-showcase-main {
    width: 100%;
    max-width: 400px;
    justify-self: end;
}

.ikuwait-page .ikuwait-showcase-side {
    width: 185px !important;
    max-width: 185px;
    margin-left: 0 !important;
    justify-self: end;
}

.ikuwait-page .ikuwait-showcase-main img,
.ikuwait-page .ikuwait-showcase-side img {
    width: 100%;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
}

@media (max-width: 1180px) {
    .ikuwait-page .ikuwait-showcase-visual {
        width: min(100%, 590px);
        justify-self: start;
        grid-template-columns: minmax(0, 1fr) 170px !important;
    }

    .ikuwait-page .ikuwait-showcase-main {
        max-width: 385px;
    }

    .ikuwait-page .ikuwait-showcase-side {
        width: 170px !important;
        max-width: 170px;
    }
}

@media (max-width: 860px) {
    .ikuwait-page .ikuwait-showcase-visual {
        width: 100%;
        grid-template-columns: 1fr !important;
        gap: 14px;
    }

    .ikuwait-page .ikuwait-showcase-main {
        max-width: 500px;
        justify-self: start;
    }

    .ikuwait-page .ikuwait-showcase-side {
        width: min(100%, 200px) !important;
        max-width: 200px;
        justify-self: start;
    }
}


/* iKuwait showcase image rebalance — v3.9.28 */
/* Make the left image clearly smaller and the right image slightly larger,
   matching the approved Photoshop reference more closely. */
.ikuwait-page .ikuwait-showcase-visual {
    width: min(100%, 570px) !important;
    justify-self: end;
    grid-template-columns: minmax(0, 300px) 250px !important;
    gap: 20px !important;
    align-items: center;
}

.ikuwait-page .ikuwait-showcase-main {
    width: 100% !important;
    max-width: 300px !important;
    justify-self: end;
}

.ikuwait-page .ikuwait-showcase-side {
    width: 250px !important;
    max-width: 250px !important;
    flex: 0 0 250px !important;
    margin-left: 0 !important;
    justify-self: start;
}

.ikuwait-page .ikuwait-showcase-main img,
.ikuwait-page .ikuwait-showcase-side img {
    width: 100%;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
}

@media (max-width: 1180px) {
    .ikuwait-page .ikuwait-showcase-visual {
        width: min(100%, 525px) !important;
        grid-template-columns: minmax(0, 280px) 220px !important;
        gap: 18px !important;
        justify-self: start;
    }

    .ikuwait-page .ikuwait-showcase-main {
        max-width: 280px !important;
    }

    .ikuwait-page .ikuwait-showcase-side {
        width: 220px !important;
        max-width: 220px !important;
        flex-basis: 220px !important;
    }
}

@media (max-width: 860px) {
    .ikuwait-page .ikuwait-showcase-visual {
        width: 100% !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .ikuwait-page .ikuwait-showcase-main {
        max-width: 360px !important;
        justify-self: start;
    }

    .ikuwait-page .ikuwait-showcase-side {
        width: min(100%, 230px) !important;
        max-width: 230px !important;
        flex-basis: auto !important;
        justify-self: start;
    }
}

/* iKuwait setup image height refinement — v3.9.29 */
/* Keep the current image width, but reduce only its displayed height so the
   READY TO JUMP IN copy sits higher and the section feels more compact. */
.ikuwait-page .ikuwait-steps-side .ikuwait-side-card img {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    object-fit: cover !important;
    object-position: center center !important;
}

@media (max-width: 860px) {
    .ikuwait-page .ikuwait-steps-side .ikuwait-side-card img {
        aspect-ratio: 16 / 9 !important;
    }
}


/* CineStage sculpted 3D / rig hero atmosphere — v3.9.30 */
.cinestage-hero {
    isolation: isolate;
    min-height: 690px;
    background:
        radial-gradient(circle at 78% 42%, rgba(33,57,75,.18), transparent 34%),
        radial-gradient(circle at 13% 25%, rgba(255,92,58,.07), transparent 30%),
        linear-gradient(180deg, #03080d 0%, #04090e 100%);
}

.cinestage-rig-art {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
    opacity: .82;
}

.cinestage-rig-art svg {
    width: 100%;
    height: 100%;
    display: block;
}

.cinestage-rig-art g {
    fill: none;
    stroke: rgba(205,215,224,.18);
    stroke-width: 1.4;
    vector-effect: non-scaling-stroke;
}

.cinestage-rig-art .cinestage-rig-art-left {
    stroke: rgba(205,215,224,.15);
}

.cinestage-rig-art .cinestage-rig-art-right {
    stroke: rgba(205,215,224,.20);
}

.cinestage-rig-art .cinestage-rig-art-center {
    stroke: rgba(205,215,224,.10);
}

.cinestage-rig-art .cinestage-rig-accent {
    stroke: rgba(255,92,58,.64);
    stroke-width: 2.1;
}

.cinestage-rig-art .cinestage-rig-node {
    fill: rgba(255,92,58,.10);
    stroke: rgba(255,92,58,.58);
    stroke-width: 1.5;
}

.cinestage-rig-art .cinestage-rig-bone {
    stroke: rgba(255,92,58,.35);
    stroke-width: 1.7;
}

.cinestage-hero-grid {
    position: relative;
    z-index: 2;
    grid-template-columns: minmax(320px,.88fr) minmax(500px,1.12fr);
    gap: clamp(48px,5vw,86px);
    padding-top: clamp(82px,7vw,112px);
    padding-bottom: clamp(80px,7vw,110px);
}

.cinestage-hero-visual {
    width: min(100%, 650px);
    border-radius: 20px;
    box-shadow:
        0 34px 90px rgba(0,0,0,.40),
        0 0 48px rgba(255,92,58,.075);
}

@media (max-width: 1180px) {
    .cinestage-hero-grid {
        grid-template-columns: minmax(300px,.86fr) minmax(430px,1.14fr);
        gap: 40px;
    }
    .cinestage-hero-visual {
        width: min(100%, 590px);
    }
}

@media (max-width: 1000px) {
    .cinestage-rig-art { opacity: .62; }
    .cinestage-rig-art-left { transform: translateX(-120px); transform-origin: center; }
    .cinestage-rig-art-right { transform: translateX(90px); transform-origin: center; }
    .cinestage-hero-visual { width: min(100%, 650px); }
}

@media (max-width: 640px) {
    .cinestage-rig-art { opacity: .44; }
    .cinestage-rig-art-center { display: none; }
    .cinestage-hero-visual { border-radius: 16px; }
}


/* CineStage Blender-specific rig language refinement — v3.9.31 */
/* Shift the hero atmosphere from generic lines to Blender-like 3D cursor,
   gizmo rings, armature chains and controller curves. */
.cinestage-rig-art {
    opacity: .9;
}

.cinestage-rig-art g {
    fill: none;
    stroke: rgba(210,220,230,.16);
    stroke-width: 1.35;
    vector-effect: non-scaling-stroke;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.cinestage-rig-art .cinestage-rig-ring {
    stroke: rgba(213,223,232,.20);
}

.cinestage-rig-art .cinestage-rig-ring.faint {
    stroke: rgba(213,223,232,.12);
}

.cinestage-rig-art .cinestage-rig-axis {
    stroke: rgba(234,241,247,.20);
    stroke-width: 1.5;
}

.cinestage-rig-art .cinestage-rig-cursor {
    stroke: rgba(255,114,74,.68);
    stroke-width: 1.9;
}

.cinestage-rig-art .cinestage-rig-controller {
    stroke: rgba(255,114,74,.42);
    stroke-width: 1.8;
}

.cinestage-rig-art .cinestage-rig-handle {
    stroke: rgba(205,215,224,.18);
    stroke-dasharray: 8 10;
}

.cinestage-rig-art .cinestage-rig-node {
    fill: rgba(255,114,74,.12);
    stroke: rgba(255,114,74,.62);
    stroke-width: 1.6;
}

.cinestage-rig-art .cinestage-rig-node.subtle {
    fill: rgba(255,114,74,.08);
    stroke: rgba(255,114,74,.32);
}

.cinestage-rig-art .cinestage-rig-bone {
    stroke: rgba(255,114,74,.38);
    stroke-width: 1.7;
}

.cinestage-rig-art .cinestage-rig-accent {
    stroke: rgba(255,114,74,.74);
    stroke-width: 2.1;
}

@media (max-width: 1000px) {
    .cinestage-rig-art {
        opacity: .72;
    }
}

@media (max-width: 640px) {
    .cinestage-rig-art {
        opacity: .5;
    }
}


/* CineStage uploaded full-Hero background — v3.9.32 */
.cinestage-hero {
    isolation: isolate;
    background: #03080d !important;
}

.cinestage-hero.has-background-image {
    background-image: var(--cinestage-hero-bg) !important;
    background-size: cover !important;
    background-position: var(--cinestage-hero-bg-position, center center) !important;
    background-repeat: no-repeat !important;
}

.cinestage-hero.has-background-image::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: rgba(3, 8, 13, var(--cinestage-hero-overlay, .42));
}

.cinestage-hero.has-background-image::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(3,8,13,.45) 0%, rgba(3,8,13,.13) 46%, rgba(3,8,13,.04) 100%);
}

.cinestage-hero-grid {
    position: relative;
    z-index: 2;
}

/* v3.9.31 decorative rig artwork is intentionally retired. */
.cinestage-rig-art { display: none !important; }


/* CineStage hero image: frameless + full image containment — v3.9.33 */
.cinestage-page .cinestage-hero-visual {
    width: auto !important;
    max-width: min(100%, 650px) !important;
    max-height: 470px !important;
    margin: 0 0 0 auto !important;
    aspect-ratio: auto !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    isolation: auto !important;
}

.cinestage-page .cinestage-hero-visual::before,
.cinestage-page .cinestage-hero-visual::after {
    content: none !important;
    display: none !important;
}

.cinestage-page .cinestage-hero-visual img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 470px !important;
    object-fit: contain !important;
    object-position: var(--cinestage-image-position, center center) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

@media (max-width: 1000px) {
    .cinestage-page .cinestage-hero-visual {
        max-width: min(100%, 620px) !important;
        max-height: 430px !important;
        margin-left: 0 !important;
    }
    .cinestage-page .cinestage-hero-visual img {
        max-height: 430px !important;
    }
}

@media (max-width: 640px) {
    .cinestage-page .cinestage-hero-visual,
    .cinestage-page .cinestage-hero-visual img {
        max-height: 340px !important;
    }
}


/* iKuwait optional full Hero background — v3.9.35 */
.ikuwait-page .ikuwait-hero.has-background-image {
    background-image:
        linear-gradient(rgba(3,7,12,var(--ikuwait-hero-overlay,.42)), rgba(3,7,12,var(--ikuwait-hero-overlay,.42))),
        var(--ikuwait-hero-bg) !important;
    background-size: cover !important;
    background-position: var(--ikuwait-hero-bg-position, center center) !important;
    background-repeat: no-repeat !important;
}
.ikuwait-page .ikuwait-hero.has-background-image .ikuwait-hero-grid,
.ikuwait-page .ikuwait-hero.has-background-image .ikuwait-hero-rail {
    position: relative;
    z-index: 2;
}


/* CineStage program image positioning — v3.9.36 */
/* Give the contained image a real positioning canvas so Theme Options
   Left/Center/Right + Top/Center/Bottom choices visibly move the image. */
.cinestage-page .cinestage-hero-visual {
    width: min(100%, 650px) !important;
    height: 470px !important;
    max-width: 650px !important;
    max-height: 470px !important;
    margin: 0 0 0 auto !important;
    display: block !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.cinestage-page .cinestage-hero-visual img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: var(--cinestage-image-position, center center) !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

@media (max-width: 1000px) {
    .cinestage-page .cinestage-hero-visual {
        width: min(100%, 620px) !important;
        height: 430px !important;
        max-width: 620px !important;
        max-height: 430px !important;
        margin-left: 0 !important;
    }
}

@media (max-width: 640px) {
    .cinestage-page .cinestage-hero-visual {
        width: 100% !important;
        height: 340px !important;
        max-width: 100% !important;
        max-height: 340px !important;
    }
}


/* CineStage program image: preserve intrinsic size, never upscale — v3.9.37 */
/* The figure remains the positioning canvas from v3.9.36, but the image itself
   uses its natural pixel size and is only reduced when it exceeds the canvas. */
.cinestage-page .cinestage-hero-visual {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.cinestage-page .cinestage-hero-visual img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    flex: 0 0 auto !important;
}

/* Program Image Position now controls the image inside the available canvas. */
.cinestage-page .cinestage-hero-visual.position-left-top { justify-content: flex-start !important; align-items: flex-start !important; }
.cinestage-page .cinestage-hero-visual.position-center-top { justify-content: center !important; align-items: flex-start !important; }
.cinestage-page .cinestage-hero-visual.position-right-top { justify-content: flex-end !important; align-items: flex-start !important; }
.cinestage-page .cinestage-hero-visual.position-left-center { justify-content: flex-start !important; align-items: center !important; }
.cinestage-page .cinestage-hero-visual.position-center-center { justify-content: center !important; align-items: center !important; }
.cinestage-page .cinestage-hero-visual.position-right-center { justify-content: flex-end !important; align-items: center !important; }
.cinestage-page .cinestage-hero-visual.position-left-bottom { justify-content: flex-start !important; align-items: flex-end !important; }
.cinestage-page .cinestage-hero-visual.position-center-bottom { justify-content: center !important; align-items: flex-end !important; }
.cinestage-page .cinestage-hero-visual.position-right-bottom { justify-content: flex-end !important; align-items: flex-end !important; }


/* Unified iKuwait Hero image behavior — v3.9.38 */
/* Match the CineStage internal Hero image model: clean canvas, no decorative
   frame, no cropping, no upscaling, and nine-position alignment control. */
.ikuwait-page .ikuwait-hero-visual {
    align-items: flex-end !important;
}

.ikuwait-page .ikuwait-screen-shell {
    width: min(100%, 760px) !important;
    height: 430px !important;
    max-width: 760px !important;
    max-height: 430px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.ikuwait-page .ikuwait-screen-shell::before,
.ikuwait-page .ikuwait-screen-shell::after {
    display: none !important;
    content: none !important;
}

.ikuwait-page .ikuwait-screen-shell img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    flex: 0 0 auto !important;
}

.ikuwait-page .ikuwait-screen-shell.position-left-top { justify-content: flex-start !important; align-items: flex-start !important; }
.ikuwait-page .ikuwait-screen-shell.position-center-top { justify-content: center !important; align-items: flex-start !important; }
.ikuwait-page .ikuwait-screen-shell.position-right-top { justify-content: flex-end !important; align-items: flex-start !important; }
.ikuwait-page .ikuwait-screen-shell.position-left-center { justify-content: flex-start !important; align-items: center !important; }
.ikuwait-page .ikuwait-screen-shell.position-center-center { justify-content: center !important; align-items: center !important; }
.ikuwait-page .ikuwait-screen-shell.position-right-center { justify-content: flex-end !important; align-items: center !important; }
.ikuwait-page .ikuwait-screen-shell.position-left-bottom { justify-content: flex-start !important; align-items: flex-end !important; }
.ikuwait-page .ikuwait-screen-shell.position-center-bottom { justify-content: center !important; align-items: flex-end !important; }
.ikuwait-page .ikuwait-screen-shell.position-right-bottom { justify-content: flex-end !important; align-items: flex-end !important; }

@media (max-width: 1180px) {
    .ikuwait-page .ikuwait-screen-shell {
        width: min(100%, 700px) !important;
        height: 400px !important;
        max-width: 700px !important;
        max-height: 400px !important;
    }
}

@media (max-width: 860px) {
    .ikuwait-page .ikuwait-screen-shell {
        width: 100% !important;
        height: 360px !important;
        max-width: 100% !important;
        max-height: 360px !important;
    }
}

@media (max-width: 640px) {
    .ikuwait-page .ikuwait-screen-shell {
        height: 300px !important;
        max-height: 300px !important;
    }
}


/* About image unified display behavior — v3.9.39 */
.designic-about-portrait {
    position: relative;
    height: 520px;
    min-height: 0 !important;
    margin: 0;
    overflow: visible;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex;
}
.designic-about-portrait::after { display: none !important; content: none !important; }
.designic-about-portrait img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 520px !important;
    object-fit: contain !important;
    filter: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    flex: 0 0 auto;
}
.designic-about-portrait.about-pos-top-left { justify-content: flex-start; align-items: flex-start; }
.designic-about-portrait.about-pos-top-center { justify-content: center; align-items: flex-start; }
.designic-about-portrait.about-pos-top-right { justify-content: flex-end; align-items: flex-start; }
.designic-about-portrait.about-pos-center-left { justify-content: flex-start; align-items: center; }
.designic-about-portrait.about-pos-center-center { justify-content: center; align-items: center; }
.designic-about-portrait.about-pos-center-right { justify-content: flex-end; align-items: center; }
.designic-about-portrait.about-pos-bottom-left { justify-content: flex-start; align-items: flex-end; }
.designic-about-portrait.about-pos-bottom-center { justify-content: center; align-items: flex-end; }
.designic-about-portrait.about-pos-bottom-right { justify-content: flex-end; align-items: flex-end; }

@media (max-width: 1100px) {
    .designic-about-portrait { height: 480px; }
    .designic-about-portrait img { max-height: 480px !important; }
}
@media (max-width: 680px) {
    .designic-about-portrait { height: 400px; }
    .designic-about-portrait img { max-height: 400px !important; }
}


/* About image positioning + intrinsic-size fix — v3.9.40 */
/* The About portrait is a real 520px positioning canvas. WordPress attachment
   metadata is used when available so small images never upscale beyond their
   native pixel width. Alignment order matches Theme Options: horizontal first,
   then vertical (Left / Center, Center / Top, etc.). */
.designic-about-portrait {
    width: 100% !important;
    height: 520px !important;
    min-height: 0 !important;
    display: flex !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.designic-about-portrait img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    flex: 0 0 auto !important;
    filter: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Explicitly cap WordPress Media Library images to their native width. */
.designic-about-portrait.has-natural-size img {
    width: min(var(--designic-about-natural-width), 100%) !important;
    max-width: min(var(--designic-about-natural-width), 100%) !important;
}

/* Exact selector order emitted by Theme Options. */
.designic-about-portrait.about-pos-left-top { justify-content: flex-start !important; align-items: flex-start !important; }
.designic-about-portrait.about-pos-center-top { justify-content: center !important; align-items: flex-start !important; }
.designic-about-portrait.about-pos-right-top { justify-content: flex-end !important; align-items: flex-start !important; }
.designic-about-portrait.about-pos-left-center { justify-content: flex-start !important; align-items: center !important; }
.designic-about-portrait.about-pos-center-center { justify-content: center !important; align-items: center !important; }
.designic-about-portrait.about-pos-right-center { justify-content: flex-end !important; align-items: center !important; }
.designic-about-portrait.about-pos-left-bottom { justify-content: flex-start !important; align-items: flex-end !important; }
.designic-about-portrait.about-pos-center-bottom { justify-content: center !important; align-items: flex-end !important; }
.designic-about-portrait.about-pos-right-bottom { justify-content: flex-end !important; align-items: flex-end !important; }

@media (max-width: 1100px) {
    .designic-about-portrait { height: 480px !important; }
}
@media (max-width: 680px) {
    .designic-about-portrait { height: 400px !important; }
}


/* About image intrinsic-size + real alignment repair — v3.9.41 */
/* Position class names now exactly match Theme Options. The image is never
   enlarged above its real pixel dimensions; browser naturalWidth is a fallback
   when WordPress cannot resolve attachment metadata from the stored URL. */
.designic-about-portrait {
    width: 100% !important;
    height: 520px !important;
    min-height: 0 !important;
    display: flex !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.designic-about-portrait img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: min(100%, var(--designic-img-natural-width, 100%)) !important;
    max-height: min(100%, var(--designic-img-natural-height, 100%)) !important;
    object-fit: contain !important;
    flex: 0 0 auto !important;
    align-self: auto !important;
    filter: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.designic-about-portrait.has-natural-size img {
    width: min(100%, var(--designic-about-natural-width)) !important;
    max-width: min(100%, var(--designic-about-natural-width)) !important;
    height: auto !important;
    max-height: min(100%, var(--designic-about-natural-height)) !important;
}

.designic-about-portrait.about-pos-left-top     { justify-content:flex-start !important; align-items:flex-start !important; }
.designic-about-portrait.about-pos-center-top   { justify-content:center !important;     align-items:flex-start !important; }
.designic-about-portrait.about-pos-right-top    { justify-content:flex-end !important;   align-items:flex-start !important; }
.designic-about-portrait.about-pos-left-center  { justify-content:flex-start !important; align-items:center !important; }
.designic-about-portrait.about-pos-center-center{ justify-content:center !important;     align-items:center !important; }
.designic-about-portrait.about-pos-right-center { justify-content:flex-end !important;   align-items:center !important; }
.designic-about-portrait.about-pos-left-bottom  { justify-content:flex-start !important; align-items:flex-end !important; }
.designic-about-portrait.about-pos-center-bottom{ justify-content:center !important;     align-items:flex-end !important; }
.designic-about-portrait.about-pos-right-bottom { justify-content:flex-end !important;   align-items:flex-end !important; }

@media (max-width:1100px){ .designic-about-portrait{height:480px !important;} }
@media (max-width:680px){ .designic-about-portrait{height:400px !important;} }


/* About section vertical density refinement — v3.9.42 */
/* Keep the intrinsic-size image behavior from v3.9.41, but reduce the empty
   vertical canvas around smaller portraits and tighten the transition to Connect. */
.designic-about {
    padding-top: clamp(46px, 4.2vw, 64px) !important;
}

.designic-about .designic-section-heading {
    margin-bottom: clamp(18px, 1.8vw, 26px) !important;
}

.designic-about-portrait {
    height: 400px !important;
}

.designic-about + .designic-contact {
    padding-top: clamp(42px, 4vw, 60px) !important;
}

@media (max-width: 1100px) {
    .designic-about-portrait { height: 380px !important; }
}

@media (max-width: 680px) {
    .designic-about { padding-top: 42px !important; }
    .designic-about-portrait { height: 350px !important; }
    .designic-about + .designic-contact { padding-top: 42px !important; }
}

/* CineStage complete product + documentation page — v3.9.43 */
.cinestage-page .cinestage-feature-hub {
    border-bottom: 1px solid var(--cs-line);
}

.cinestage-page .cinestage-feature-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.cinestage-page .cinestage-feature-card-copy > div {
    max-width: 360px;
    font-size: 12px;
    line-height: 1.58;
}

.cinestage-info-section {
    padding: clamp(62px, 6vw, 92px) 0;
    border-bottom: 1px solid var(--cs-line);
    background: #03080d;
}

.cinestage-info-section:nth-of-type(even) {
    background: linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,0)), #03080d;
}

.cinestage-section-heading {
    max-width: 880px;
    margin: 0 0 clamp(34px, 4vw, 52px);
}

.cinestage-section-heading h2 {
    margin: 8px 0 14px;
    font-size: clamp(38px, 4.2vw, 64px);
    line-height: .98;
    font-weight: 450;
    letter-spacing: -.05em;
}

.cinestage-section-heading > p:last-child {
    max-width: 760px;
    margin: 0;
    color: var(--cs-muted);
    font-size: 16px;
    line-height: 1.7;
}

.cinestage-product-layout {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: clamp(32px, 5vw, 78px);
    align-items: start;
}

.cinestage-facts {
    border-top: 1px solid var(--cs-line);
}

.cinestage-fact {
    display: grid;
    grid-template-columns: minmax(130px, .75fr) minmax(0, 1.25fr);
    gap: 24px;
    padding: 17px 0;
    border-bottom: 1px solid var(--cs-line);
}

.cinestage-fact span {
    color: rgba(255,255,255,.48);
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cinestage-fact strong {
    color: #f4f6f7;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
}

.cinestage-included h3,
.cinestage-guide-card h3,
.cinestage-doc-card h3,
.cinestage-license-grid h3 {
    margin: 0;
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: -.035em;
}

.cinestage-check-list {
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
}

.cinestage-check-list li {
    position: relative;
    margin: 0;
    padding: 12px 0 12px 30px;
    border-bottom: 1px solid rgba(255,255,255,.055);
    color: #b3bac0;
    font-size: 14px;
    line-height: 1.55;
}

.cinestage-check-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 12px;
    color: var(--designic-accent);
    font-weight: 900;
}

.cinestage-note {
    margin-top: 26px;
    padding: 19px 20px;
    border-left: 2px solid var(--designic-accent);
    background: rgba(255,255,255,.028);
}

.cinestage-note strong {
    display: block;
    margin-bottom: 7px;
    color: #fff;
    font-size: 12px;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.cinestage-note p {
    margin: 0;
    color: #929aa2;
    font-size: 13px;
    line-height: 1.65;
}

.cinestage-guide-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 2.3vw, 30px);
}

.cinestage-guide-card {
    padding: clamp(24px, 3vw, 38px);
    border: 1px solid var(--cs-line);
    background: rgba(255,255,255,.018);
}

.cinestage-guide-card ol {
    margin: 26px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: cinestage-guide;
}

.cinestage-guide-card li {
    position: relative;
    counter-increment: cinestage-guide;
    min-height: 38px;
    padding: 0 0 20px 52px;
    color: #aab2b9;
    font-size: 14px;
    line-height: 1.6;
}

.cinestage-guide-card li:last-child {
    padding-bottom: 0;
}

.cinestage-guide-card li::before {
    content: counter(cinestage-guide, decimal-leading-zero);
    position: absolute;
    left: 0;
    top: -2px;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(255,255,255,.10);
    color: var(--designic-accent);
    font-size: 10px;
    font-weight: 800;
}

.cinestage-tool-strip {
    margin-top: 24px;
    padding: 23px 24px;
    border: 1px solid var(--cs-line);
}

.cinestage-tool-strip > strong {
    display: block;
    margin-bottom: 15px;
    color: rgba(255,255,255,.58);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.cinestage-tool-strip > div {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cinestage-tool-strip span {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 0 12px;
    border: 1px solid rgba(255,255,255,.075);
    color: #c2c8cd;
    font-size: 11px;
}

.cinestage-doc-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: var(--cs-line);
    border: 1px solid var(--cs-line);
}

.cinestage-doc-card {
    min-width: 0;
    padding: clamp(26px, 3vw, 40px);
    background: #050b10;
}

.cinestage-doc-card > span {
    display: block;
    margin-bottom: 32px;
    color: var(--designic-accent);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .1em;
}

.cinestage-doc-card > p {
    margin: 16px 0 0;
    color: #9fa7ae;
    font-size: 14px;
    line-height: 1.7;
}

.cinestage-doc-card .cinestage-doc-usage {
    color: #c1c6ca;
}

.cinestage-license-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--cs-line);
    border-bottom: 1px solid var(--cs-line);
}

.cinestage-license-grid article {
    padding: clamp(24px, 2.8vw, 38px);
    border-left: 1px solid var(--cs-line);
}

.cinestage-license-grid article:first-child {
    border-left: 0;
}

.cinestage-license-grid p {
    margin: 16px 0 0;
    color: #9ca4aa;
    font-size: 13px;
    line-height: 1.72;
}

.cinestage-faq-layout {
    display: grid;
    grid-template-columns: minmax(240px, .62fr) minmax(0, 1.38fr);
    gap: clamp(34px, 6vw, 94px);
    align-items: start;
}

.cinestage-faq-heading {
    margin: 0;
    position: sticky;
    top: 40px;
}

.cinestage-faq-list {
    border-top: 1px solid var(--cs-line);
}

.cinestage-faq-item {
    border-bottom: 1px solid var(--cs-line);
}

.cinestage-faq-item summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 68px;
    padding: 17px 0;
    color: #edf0f2;
    font-size: 15px;
    font-weight: 520;
    line-height: 1.45;
}

.cinestage-faq-item summary::-webkit-details-marker {
    display: none;
}

.cinestage-faq-item summary span {
    flex: 0 0 auto;
    color: var(--designic-accent);
    font-size: 23px;
    font-weight: 300;
    transition: transform .2s ease;
}

.cinestage-faq-item[open] summary span {
    transform: rotate(45deg);
}

.cinestage-faq-item > div {
    padding: 0 44px 22px 0;
}

.cinestage-faq-item p {
    max-width: 760px;
    margin: 0;
    color: #929aa2;
    font-size: 14px;
    line-height: 1.72;
}

.cinestage-final-cta {
    padding: clamp(64px, 7vw, 104px) 0;
    background:
        radial-gradient(circle at 82% 50%, color-mix(in srgb, var(--designic-accent) 11%, transparent), transparent 33%),
        #03080d;
}

.cinestage-final-cta-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    gap: clamp(36px, 6vw, 90px);
    align-items: end;
}

.cinestage-final-cta h2 {
    margin: 8px 0 14px;
    font-size: clamp(46px, 5.4vw, 82px);
    line-height: .92;
    font-weight: 450;
    letter-spacing: -.055em;
}

.cinestage-final-cta p:not(.cinestage-kicker) {
    max-width: 700px;
    margin: 0;
    color: var(--cs-muted);
    font-size: 15px;
    line-height: 1.72;
}

.cinestage-final-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 20px 26px;
}

@media (max-width: 1100px) {
    .cinestage-page .cinestage-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .cinestage-license-grid {
        grid-template-columns: 1fr;
    }
    .cinestage-license-grid article {
        border-left: 0;
        border-top: 1px solid var(--cs-line);
    }
    .cinestage-license-grid article:first-child {
        border-top: 0;
    }
}

@media (max-width: 860px) {
    .cinestage-info-section {
        padding-top: 48px;
        padding-bottom: 56px;
    }
    .cinestage-product-layout,
    .cinestage-guide-grid,
    .cinestage-faq-layout,
    .cinestage-final-cta-inner {
        grid-template-columns: 1fr;
    }
    .cinestage-faq-heading {
        position: static;
    }
    .cinestage-final-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .cinestage-page .cinestage-feature-grid,
    .cinestage-doc-grid {
        grid-template-columns: 1fr;
    }
    .cinestage-page .cinestage-feature-card {
        aspect-ratio: 1 / 1.05;
    }
    .cinestage-feature-more {
        margin-top: 34px;
        font-size: clamp(26px, 9vw, 38px);
    }
    .cinestage-fact {
        grid-template-columns: 1fr;
        gap: 5px;
    }
    .cinestage-section-heading h2 {
        font-size: clamp(36px, 11vw, 52px);
    }
    .cinestage-guide-card,
    .cinestage-doc-card {
        padding: 24px 20px;
    }
    .cinestage-final-cta h2 {
        font-size: clamp(44px, 14vw, 64px);
    }
}

/* ================================================================
   LUBB commercial product page — v3.9.52
   Clean white business presentation with real software screenshots.
   ================================================================ */
body.designic-lubb-page {
    background: #ffffff;
    color: #102131;
}
body.designic-lubb-page .designic-site-footer { margin-top: 0; }

.lubb-page {
    --lubb-ink: #102131;
    --lubb-ink-strong: #081522;
    --lubb-muted: #667482;
    --lubb-line: #e7edf1;
    --lubb-soft: #f7f9fb;
    --lubb-soft-warm: #fff8f5;
    --lubb-brand-blue: #082035;
    --lubb-accent: var(--designic-accent);
    background: #fff;
    color: var(--lubb-ink);
    overflow: hidden;
}
.lubb-shell {
    /* LUBB intentionally uses a wider business-layout canvas than the global site shell. */
    --lubb-shell-max: 1400px;
    width: min(100%, calc(var(--lubb-shell-max) + (var(--designic-side-pad) * 2)));
    margin: 0 auto;
    padding-right: var(--designic-side-pad);
    padding-left: var(--designic-side-pad);
}
.lubb-kicker {
    margin: 0;
    color: var(--lubb-accent);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* Hero */
.lubb-hero {
    position: relative;
    min-height: 720px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 87% 14%, color-mix(in srgb, var(--lubb-accent) 7%, transparent), transparent 28%),
        radial-gradient(circle at 8% 88%, rgba(34,66,91,.045), transparent 28%),
        #fff;
    border-bottom: 1px solid var(--lubb-line);
    isolation: isolate;
}
.lubb-hero.has-background-image {
    background-image:
        linear-gradient(rgba(7,20,31,var(--lubb-hero-overlay,.34)), rgba(7,20,31,var(--lubb-hero-overlay,.34))),
        var(--lubb-hero-bg);
    background-size: cover;
    background-position: var(--lubb-hero-bg-position, center center);
    color: #fff;
}
.lubb-hero.has-background-image .lubb-hero-copy h1,
.lubb-hero.has-background-image .lubb-hero-copy h2 { color: #fff; }
.lubb-hero.has-background-image .lubb-hero-description { color: rgba(255,255,255,.78); }
.lubb-hero.has-background-image .lubb-secondary-link { color: #fff; }
.lubb-hero.has-background-image .lubb-business-pattern { opacity: .52; }
.lubb-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(16,33,49,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(16,33,49,.025) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(90deg, transparent 0%, #000 48%, #000 100%);
}
.lubb-business-pattern {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    color: var(--lubb-ink);
}
.lubb-pattern-mark {
    position: absolute;
    width: clamp(90px, 9vw, 150px);
    height: clamp(90px, 9vw, 150px);
    opacity: .035;
}
.lubb-pattern-mark svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.3;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.lubb-pattern-mark--one { right: 4%; top: 8%; transform: rotate(8deg); }
.lubb-pattern-mark--two { right: 42%; bottom: 2%; transform: rotate(-9deg) scale(.74); }
.lubb-pattern-mark--three { left: 3%; top: 11%; transform: rotate(-7deg) scale(.62); }

.lubb-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(330px,.78fr) minmax(520px,1.22fr);
    align-items: center;
    gap: clamp(52px,6vw,104px);
    padding-top: clamp(82px,8vw,126px);
    padding-bottom: clamp(82px,8vw,126px);
}
.lubb-hero-copy { max-width: 590px; }
.lubb-hero-copy h1 {
    margin: 13px 0 0;
    color: var(--lubb-ink-strong);
    font-size: clamp(72px,7.2vw,118px);
    line-height: .88;
    font-weight: 680;
    letter-spacing: -.07em;
}
.lubb-hero-copy h2 {
    max-width: 560px;
    margin: 24px 0 0;
    color: var(--lubb-ink);
    font-size: clamp(24px,2.25vw,36px);
    line-height: 1.12;
    font-weight: 500;
    letter-spacing: -.035em;
}
.lubb-hero-description {
    max-width: 540px;
    margin: 30px 0 0;
    color: var(--lubb-muted);
    font-size: 16px;
    line-height: 1.78;
}
.lubb-hero-actions,
.lubb-final-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px 28px;
    margin-top: 34px;
}
.lubb-primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 24px;
    border: 1px solid var(--lubb-accent);
    border-radius: 7px;
    background: var(--lubb-accent);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
    box-shadow: 0 9px 22px color-mix(in srgb, var(--lubb-accent) 18%, transparent);
    transition: transform .22s ease, filter .22s ease, box-shadow .22s ease;
}
.lubb-primary-button:hover {
    transform: translateY(-2px);
    filter: brightness(1.04);
    box-shadow: 0 13px 28px color-mix(in srgb, var(--lubb-accent) 23%, transparent);
}
.lubb-secondary-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--lubb-ink);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .055em;
    text-transform: uppercase;
}
.lubb-secondary-link span { color: var(--lubb-accent); font-size: 16px; line-height: 1; }

/* LUBB hero CTA hierarchy: download is primary, explore is secondary. */
.lubb-hero-actions .lubb-primary-button {
    min-height: 52px;
    padding: 0 25px;
    border-color: var(--lubb-brand-blue);
    background: #fff;
    color: var(--lubb-brand-blue);
    box-shadow: none;
}
.lubb-hero-actions .lubb-primary-button:hover {
    background: color-mix(in srgb, var(--lubb-brand-blue) 5%, #fff);
    filter: none;
    box-shadow: 0 10px 24px rgba(8,32,53,.10);
}
.lubb-hero-actions .lubb-secondary-link {
    min-height: 52px;
    padding: 0 25px;
    border: 1px solid var(--lubb-brand-blue);
    border-radius: 7px;
    background: var(--lubb-brand-blue);
    color: #fff;
    box-shadow: 0 10px 24px rgba(8,32,53,.18);
    transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}
.lubb-hero-actions .lubb-secondary-link span { color: #fff; }
.lubb-hero-actions .lubb-secondary-link:hover {
    transform: translateY(-2px);
    background: #0b2b47;
    box-shadow: 0 14px 30px rgba(8,32,53,.24);
}
.lubb-hero.has-background-image .lubb-hero-actions .lubb-primary-button {
    border-color: rgba(255,255,255,.82);
    background: rgba(255,255,255,.94);
    color: var(--lubb-brand-blue);
}
.lubb-hero.has-background-image .lubb-hero-actions .lubb-secondary-link {
    border-color: #fff;
    background: var(--lubb-brand-blue);
    color: #fff;
}

.lubb-hero-visual {
    width: min(100%, 800px);
    min-height: 360px;
    margin: 0 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.lubb-hero-visual img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 580px;
    object-fit: contain;
    border-radius: 10px;
    box-shadow: 0 30px 70px rgba(23,45,63,.16), 0 7px 18px rgba(23,45,63,.07);
}
.lubb-hero-visual.position-left-top { justify-content:flex-start; align-items:flex-start; }
.lubb-hero-visual.position-center-top { justify-content:center; align-items:flex-start; }
.lubb-hero-visual.position-right-top { justify-content:flex-end; align-items:flex-start; }
.lubb-hero-visual.position-left-center { justify-content:flex-start; align-items:center; }
.lubb-hero-visual.position-center-center { justify-content:center; align-items:center; }
.lubb-hero-visual.position-right-center { justify-content:flex-end; align-items:center; }
.lubb-hero-visual.position-left-bottom { justify-content:flex-start; align-items:flex-end; }
.lubb-hero-visual.position-center-bottom { justify-content:center; align-items:flex-end; }
.lubb-hero-visual.position-right-bottom { justify-content:flex-end; align-items:flex-end; }

/* Overview */
.lubb-overview {
    padding: clamp(88px,8vw,132px) 0 clamp(92px,8.5vw,140px);
    background: #fff;
}
.lubb-centered-heading {
    max-width: 1180px;
    margin: 0 auto clamp(48px,5vw,76px);
    text-align: center;
}
.lubb-centered-heading h2,
.lubb-section-heading h2,
.lubb-operations-heading h2,
.lubb-final-inner h2 {
    margin: 10px 0 0;
    color: var(--lubb-ink-strong);
    font-size: clamp(42px,4.4vw,70px);
    line-height: 1;
    font-weight: 520;
    letter-spacing: -.055em;
}
.lubb-centered-heading > p:last-child,
.lubb-section-heading > p:last-child {
    max-width: 1000px;
    margin: 20px auto 0;
    color: var(--lubb-muted);
    font-size: 16px;
    line-height: 1.72;
}
.lubb-core-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 16px;
}
.lubb-core-card {
    min-width: 0;
    padding: clamp(26px,2.7vw,40px);
    border: 1px solid var(--lubb-line);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(28,48,63,.035);
}
.lubb-core-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin-bottom: 24px;
    border-radius: 12px;
    background: color-mix(in srgb, var(--lubb-accent) 8%, #fff);
    color: var(--lubb-accent);
}
.lubb-core-icon svg,
.lubb-operation-list article > span svg,
.lubb-principles-grid article > span svg,
.lubb-real-image-placeholder span svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.lubb-core-card h3 { margin: 0 0 10px; font-size: 20px; font-weight: 650; letter-spacing: -.025em; }
.lubb-core-card p { margin: 0; color: var(--lubb-muted); font-size: 14px; line-height: 1.66; }

/* Feature rows */
.lubb-features {
    padding: clamp(86px,8vw,130px) 0 clamp(92px,9vw,146px);
    background: var(--lubb-soft);
    border-top: 1px solid var(--lubb-line);
    border-bottom: 1px solid var(--lubb-line);
}
.lubb-section-heading { max-width: 1320px; margin-bottom: clamp(48px,5vw,76px); }
.lubb-section-heading > p:last-child { margin-left: 0; }
.lubb-feature-stack { border-top: 1px solid var(--lubb-line); }
.lubb-feature-row {
    display: grid;
    grid-template-columns: minmax(300px,.74fr) minmax(560px,1.26fr);
    gap: clamp(52px,6vw,100px);
    align-items: center;
    padding: clamp(58px,6vw,92px) 0;
    border-bottom: 1px solid var(--lubb-line);
}
/* The final feature is followed by a new white section, so it should not draw an extra divider line. */
.lubb-feature-row:last-child { border-bottom: 0; }
.lubb-feature-row.is-reverse { grid-template-columns: minmax(560px,1.26fr) minmax(300px,.74fr); }
.lubb-feature-row.is-reverse .lubb-feature-copy { order: 2; }
.lubb-feature-row.is-reverse .lubb-feature-media { order: 1; }
.lubb-feature-copy { max-width: 500px; }
.lubb-feature-meta { display: flex; align-items: center; gap: 13px; margin-bottom: 18px; }
.lubb-feature-meta span {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--lubb-accent);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
}
.lubb-feature-meta p { margin: 0; color: var(--lubb-muted); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.lubb-feature-copy h3 {
    margin: 0;
    color: var(--lubb-ink-strong);
    font-size: clamp(34px,3.5vw,56px);
    line-height: 1.02;
    font-weight: 520;
    letter-spacing: -.05em;
}
.lubb-feature-copy > p {
    margin: 22px 0 0;
    color: var(--lubb-muted);
    font-size: 15px;
    line-height: 1.78;
}
.lubb-feature-media,
.lubb-operations-media {
    min-width: 0;
    margin: 0;
    padding: 12px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 24px 60px rgba(27,49,65,.09), 0 1px 0 rgba(27,49,65,.04);
}
.lubb-feature-media img,
.lubb-operations-media img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 620px;
    object-fit: contain;
    border-radius: 10px;
    background: #fff;
}
.lubb-real-image-placeholder {
    min-height: 360px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 8px;
    border: 1px dashed #cfd9e0;
    border-radius: 10px;
    background: #fbfcfd;
    color: var(--lubb-muted);
    text-align: center;
}
.lubb-real-image-placeholder span { color: var(--lubb-accent); margin-bottom: 8px; }
.lubb-real-image-placeholder strong { color: var(--lubb-ink); font-size: 14px; }
.lubb-real-image-placeholder small { font-size: 11px; }

/* Business operations */
.lubb-operations {
    padding: clamp(92px,9vw,148px) 0;
    background: #fff;
}
.lubb-operations-heading {
    max-width: 1180px;
    margin-bottom: clamp(50px,5.5vw,82px);
}
.lubb-operations-heading h2 { max-width: none; width: 100%; font-size: clamp(42px, 4.1vw, 64px); line-height: 1.04; letter-spacing: -.042em; }
.lubb-operations-description { max-width: 820px; margin: 22px 0 0; color: var(--lubb-muted); font-size: 15px; line-height: 1.75; }
.lubb-operations-grid {
    display: grid;
    grid-template-columns: minmax(360px,.82fr) minmax(520px,1.18fr);
    align-items: start;
    gap: clamp(56px,7vw,112px);
}
.lubb-operation-list { margin-top: 0; border-top: 1px solid var(--lubb-line); }
.lubb-operation-list article {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 18px;
    padding: 20px 0;
    border-bottom: 1px solid var(--lubb-line);
}
.lubb-operation-list article > span {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    color: var(--lubb-accent);
}
.lubb-operation-list h3 { margin: 0 0 5px; color: var(--lubb-ink); font-size: 15px; font-weight: 700; }
.lubb-operation-list p { margin: 0; color: var(--lubb-muted); font-size: 13px; line-height: 1.58; }

/* Philosophy */
.lubb-philosophy {
    padding: clamp(86px,8vw,132px) 0 clamp(94px,9vw,144px);
    background: var(--lubb-soft);
    border-top: 1px solid var(--lubb-line);
}
.lubb-centered-heading--compact { margin-bottom: 52px; }
.lubb-principles-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: var(--lubb-line); border: 1px solid var(--lubb-line); border-radius: 16px; overflow: hidden; }
.lubb-principles-grid article { min-width: 0; padding: clamp(28px,2.8vw,42px); background: #fff; }
.lubb-principles-grid article > span { display: block; width: 38px; height: 38px; margin-bottom: 25px; color: var(--lubb-accent); }
.lubb-principles-grid article > span svg { width: 100%; height: 100%; stroke-width: 1.8; }
.lubb-principles-grid h3 { margin: 0 0 9px; color: var(--lubb-ink); font-size: 18px; font-weight: 650; letter-spacing: -.02em; }
.lubb-principles-grid p { margin: 0; color: var(--lubb-muted); font-size: 13px; line-height: 1.64; }

/* Final CTA */
.lubb-final-cta {
    position: relative;
    overflow: hidden;
    padding: clamp(88px,8vw,128px) 0;
    background:
        radial-gradient(circle at 85% 20%, color-mix(in srgb, var(--lubb-accent) 10%, transparent), transparent 30%),
        linear-gradient(135deg,#fff 0%,var(--lubb-soft-warm) 100%);
    border-top: 1px solid color-mix(in srgb, var(--lubb-accent) 12%, var(--lubb-line));
}
.lubb-final-pattern {
    position: absolute;
    right: -120px;
    bottom: -180px;
    width: 520px;
    height: 520px;
    border: 1px solid color-mix(in srgb, var(--lubb-accent) 11%, transparent);
    border-radius: 50%;
}
.lubb-final-pattern::before,
.lubb-final-pattern::after {
    content: "";
    position: absolute;
    border: 1px solid color-mix(in srgb, var(--lubb-accent) 10%, transparent);
    border-radius: 50%;
}
.lubb-final-pattern::before { inset: 66px; }
.lubb-final-pattern::after { inset: 132px; }
.lubb-final-inner { position: relative; z-index: 2; max-width: 1240px; text-align: center; }
.lubb-final-inner h2 { max-width: 1120px; margin-right: auto; margin-left: auto; }
.lubb-final-inner > p:not(.lubb-kicker) { max-width: 980px; margin: 22px auto 0; color: var(--lubb-muted); font-size: 16px; line-height: 1.72; }
.lubb-final-actions { justify-content: center; }


@media (max-width: 1280px) {
    .lubb-operations-heading h2 { font-size: clamp(40px, 4.6vw, 58px); }
}

@media (max-width: 1160px) {
    .lubb-hero { min-height: 0; }
    .lubb-hero-grid { grid-template-columns: 1fr; gap: 54px; }
    .lubb-hero-copy { max-width: 720px; }
    .lubb-hero-visual { width: min(100%, 900px); margin: 0; min-height: 0; }
    .lubb-hero-visual img { max-height: none; }
    .lubb-core-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .lubb-feature-row,
    .lubb-feature-row.is-reverse { grid-template-columns: minmax(280px,.8fr) minmax(430px,1.2fr); gap: 46px; }
    .lubb-operations-grid { grid-template-columns: 1fr; }
    .lubb-operations-copy { max-width: 800px; }
    .lubb-operations-media { width: min(100%,900px); }
    .lubb-principles-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
    .lubb-hero-grid { padding-top: 64px; padding-bottom: 76px; }
    .lubb-hero-copy h1 { font-size: clamp(68px,19vw,94px); }
    .lubb-hero-copy h2 { font-size: clamp(24px,7vw,32px); }
    .lubb-hero-actions { align-items: flex-start; flex-direction: column; }
    .lubb-centered-heading { text-align: left; margin-right: 0; margin-left: 0; }
    .lubb-centered-heading > p:last-child { margin-left: 0; }
    .lubb-core-grid { grid-template-columns: 1fr; }
    .lubb-feature-row,
    .lubb-feature-row.is-reverse { grid-template-columns: 1fr; gap: 34px; padding: 54px 0; }
    .lubb-feature-row.is-reverse .lubb-feature-copy { order: 1; }
    .lubb-feature-row.is-reverse .lubb-feature-media { order: 2; }
    .lubb-feature-copy { max-width: 720px; }
    .lubb-feature-media,
    .lubb-operations-media { padding: 8px; border-radius: 14px; }
    .lubb-real-image-placeholder { min-height: 260px; }
    .lubb-principles-grid { grid-template-columns: 1fr; }
    .lubb-final-inner { text-align: left; }
    .lubb-final-inner h2,
    .lubb-final-inner > p:not(.lubb-kicker) { margin-left: 0; }
    .lubb-final-actions { justify-content: flex-start; }
}

@media (max-width: 560px) {
    .lubb-hero::before { display: none; }
    .lubb-pattern-mark--two,
    .lubb-pattern-mark--three { display: none; }
    .lubb-hero-grid { gap: 42px; padding-top: 52px; padding-bottom: 62px; }
    .lubb-hero-description { margin-top: 24px; font-size: 15px; }
    .lubb-hero-actions .lubb-primary-button,
    .lubb-hero-actions .lubb-secondary-link { width: 100%; justify-content: center; }
    .lubb-hero-visual img { border-radius: 7px; box-shadow: 0 18px 42px rgba(23,45,63,.14); }
    .lubb-overview,
    .lubb-features,
    .lubb-operations,
    .lubb-philosophy,
    .lubb-final-cta { padding-top: 72px; padding-bottom: 76px; }
    .lubb-core-card { padding: 26px; }
    .lubb-feature-copy h3 { font-size: 36px; }
    .lubb-feature-media,
    .lubb-operations-media { margin-right: calc(var(--designic-side-pad) * -.25); margin-left: calc(var(--designic-side-pad) * -.25); }
    .lubb-operation-list article { grid-template-columns: 36px 1fr; gap: 14px; }
    .lubb-operation-list article > span { width: 36px; height: 36px; }
    .lubb-principles-grid { border-radius: 12px; }
    .lubb-final-pattern { width: 380px; height: 380px; right: -180px; bottom: -210px; }
}


/* Cinematic Projects page */
body.page-template-page-cinematic-projects,
body.designic-cinematic-projects-page { background:#050608; }
body.page-template-page-cinematic-projects .designic-site-header,
body.designic-cinematic-projects-page .designic-site-header { background:transparent !important; border:0 !important; box-shadow:none !important; }

/* Designic Next: a calmer three-part navigation that remains independent
   from the original theme while preserving the established site identity. */
@media (min-width: 1101px) {
    .designic-header-inner {
        display: grid;
        grid-template-columns: minmax(170px, 1fr) auto minmax(170px, 1fr);
        gap: clamp(22px, 3vw, 52px);
    }
    .designic-primary-nav { justify-self: center; }
    .designic-next-header-contact {
        justify-self: end;
        display: inline-flex;
        align-items: center;
        gap: 9px;
        padding: 10px 0 7px;
        border-bottom: 1px solid var(--designic-accent);
        color: #fff;
        font-size: 11px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: .16em;
        text-transform: uppercase;
        transition: color .25s ease, gap .25s ease;
    }
    .designic-next-header-contact:hover,
    .designic-next-header-contact:focus-visible { color: var(--designic-accent); gap: 13px; }
    .designic-next-header-contact span { color: var(--designic-accent); }
}
@media (max-width: 1100px) {
    .designic-next-header-contact { display: none; }
}
body.page-template-page-cinematic-projects .designic-site-footer,
body.designic-cinematic-projects-page .designic-site-footer { margin-top:0; }

/* WordPress nested navigation — desktop dropdowns and mobile accordions. */
@media (min-width: 901px) {
    .designic-primary-nav .designic-menu-list > .menu-item-has-children { position:relative; }
    .designic-primary-nav .designic-menu-list > .menu-item-has-children > a { gap:7px; }
    .designic-primary-nav .designic-menu-list > .menu-item-has-children > a::before {
        content:"";
        width:5px;
        height:5px;
        border-right:1px solid currentColor;
        border-bottom:1px solid currentColor;
        transform:translateY(-2px) rotate(45deg);
        order:2;
        transition:transform .2s ease;
    }
    .designic-primary-nav .sub-menu {
        position:absolute;
        z-index:140;
        top:calc(100% + 12px);
        left:50%;
        visibility:hidden;
        width:max-content;
        min-width:240px;
        max-width:320px;
        margin:0;
        padding:8px;
        list-style:none;
        border:1px solid rgba(255,255,255,.12);
        border-radius:3px;
        background:#0b0f13;
        box-shadow:0 24px 55px rgba(0,0,0,.38);
        opacity:0;
        transform:translate(-50%,8px);
        transition:opacity .2s ease,transform .2s ease,visibility .2s;
    }
    .designic-primary-nav .sub-menu::before { content:""; position:absolute; right:0; bottom:100%; left:0; height:13px; }
    .designic-primary-nav li:hover > .sub-menu,
    .designic-primary-nav li:focus-within > .sub-menu { visibility:visible; opacity:1; transform:translate(-50%,0); }
    .designic-primary-nav .menu-item-has-children:hover > a::before,
    .designic-primary-nav .menu-item-has-children:focus-within > a::before { transform:translateY(1px) rotate(225deg); }
    .designic-primary-nav .sub-menu li { position:relative; width:100%; }
    .designic-site-header .designic-primary-nav .sub-menu a {
        display:flex;
        width:100%;
        min-height:42px;
        padding:11px 13px;
        border-radius:3px;
        color:rgba(255,255,255,.72) !important;
        font-size:11px;
        letter-spacing:.08em;
        line-height:1.35;
        text-transform:none;
    }
    .designic-primary-nav .sub-menu a::after { display:none; }
    .designic-site-header .designic-primary-nav .sub-menu a:hover,
    .designic-site-header .designic-primary-nav .sub-menu a:focus-visible,
    .designic-site-header .designic-primary-nav .sub-menu .current-menu-item > a { background:#171c21; color:#fff !important; }
    .designic-primary-nav .sub-menu .sub-menu { top:-8px; left:calc(100% + 12px); transform:translate(8px,0); }
    .designic-primary-nav .sub-menu li:hover > .sub-menu,
    .designic-primary-nav .sub-menu li:focus-within > .sub-menu { transform:translate(0,0); }
    .designic-primary-nav .sub-menu .sub-menu::before { top:0; right:100%; bottom:0; left:auto; width:13px; height:auto; }
}

@media (max-width: 900px) {
    .designic-mobile-nav { overflow-y:auto; justify-content:flex-start; }
    .designic-mobile-nav .menu-item-has-children { position:relative; }
    .designic-mobile-nav .menu-item-has-children > a { width:calc(100% - 58px); }
    .designic-submenu-toggle {
        position:absolute;
        top:4px;
        right:0;
        width:48px;
        height:48px;
        padding:0;
        border:1px solid rgba(255,255,255,.15);
        border-radius:3px;
        background:transparent;
        color:#fff;
        cursor:pointer;
    }
    .designic-submenu-toggle span::before,
    .designic-submenu-toggle span::after { content:""; position:absolute; top:23px; left:15px; width:16px; height:1px; background:currentColor; transition:transform .2s ease; }
    .designic-submenu-toggle span::after { transform:rotate(90deg); }
    .designic-submenu-toggle[aria-expanded="true"] span::after { transform:rotate(0); }
    .designic-mobile-nav .sub-menu { width:100%; margin:0; padding:5px 0 14px 18px; list-style:none; }
    .designic-mobile-nav .sub-menu[hidden] { display:none; }
    .designic-mobile-nav .sub-menu a { padding:10px 0; color:rgba(255,255,255,.7); font-size:clamp(20px,5vw,30px); }
    .designic-mobile-nav .sub-menu .sub-menu { padding-left:18px; }
    .designic-mobile-nav .sub-menu .sub-menu a { font-size:clamp(17px,4.5vw,24px); }
}
.cinematic-projects-page { --cine-bg:#050608; --cine-surface:#0c1015; --cine-surface-2:#10151b; --cine-text:#f5f5f3; --cine-muted:#a7afb8; --cine-line:rgba(255,255,255,.1); background:var(--cine-bg); color:var(--cine-text); overflow:hidden; }
.cinematic-shell { width:min(100%,1540px); margin:0 auto; padding-left:var(--designic-side-pad); padding-right:var(--designic-side-pad); }
.cinematic-kicker { margin:0 0 16px; color:var(--designic-accent); font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.cinematic-hero { position:relative; min-height:76vh; display:flex; align-items:flex-end; isolation:isolate; border-bottom:1px solid var(--cine-line); }
.cinematic-hero-backdrop { position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(5,6,8,.98) 5%,rgba(5,6,8,.64) 55%,rgba(5,6,8,.94) 100%),linear-gradient(0deg,#050608 0%,transparent 48%),var(--cinematic-hero-bg) center/cover no-repeat; filter:saturate(.76); }
.cinematic-hero-backdrop::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 72% 36%,transparent 0 20%,rgba(0,0,0,.28) 62%,rgba(0,0,0,.72) 100%); }
.cinematic-hero-inner { padding-top:180px; padding-bottom:92px; }
.cinematic-hero h1 { margin:0; max-width:1150px; font-size:clamp(64px,10vw,156px); line-height:.84; letter-spacing:-.072em; font-weight:750; }
.cinematic-intro { max-width:720px; margin:38px 0 0; color:#c2c5ca; font-size:clamp(17px,1.6vw,23px); line-height:1.58; }
.cinematic-scroll-link { display:inline-flex; align-items:center; gap:12px; margin-top:34px; color:#fff; text-decoration:none; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.cinematic-scroll-link span { color:var(--designic-accent); font-size:18px; }
.cinematic-project { padding:clamp(44px,5vw,72px) 0; }
.cinematic-project--split { border-bottom:0; }
.cinematic-feature-card { --cinematic-card-position:center center; --cinematic-card-overlay:.68; position:relative; overflow:hidden; border:1px solid var(--cine-line); background-color:var(--cine-surface); background-size:cover; background-position:var(--cinematic-card-position); box-shadow:0 26px 80px rgba(0,0,0,.24); }
.cinematic-feature-card::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,8,11,calc(var(--cinematic-card-overlay) + .18)) 0%,rgba(6,8,11,calc(var(--cinematic-card-overlay) + .12)) 34%,rgba(6,8,11,.34) 64%,rgba(6,8,11,.08) 100%); }
.cinematic-feature-card::after { content:""; position:absolute; inset:0; border:1px solid rgba(255,255,255,.04); pointer-events:none; }
.cinematic-feature-card__grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr); gap:48px; align-items:center; min-height:540px; padding:52px; }
.cinematic-feature-card__content { max-width:540px; }
.cinematic-feature-card__content h2 { margin:0; font-size:clamp(42px,5.5vw,86px); line-height:.9; letter-spacing:-.055em; }
.cinematic-feature-card__text { margin-top:26px; color:var(--cine-muted); font-size:16px; line-height:1.85; }
.cinematic-feature-card__text p { margin:0 0 1em; }
.cinematic-feature-card__text p:last-child { margin-bottom:0; }
.cinematic-feature-card__media { min-width:0; }
.cinematic-video-card { position:relative; aspect-ratio:16/9; overflow:hidden; border:1px solid rgba(255,255,255,.14); background:#000; box-shadow:0 20px 60px rgba(0,0,0,.28); }
.cinematic-video-card iframe,
.cinematic-video-card video,
.cinematic-local-video video { width:100%; height:100%; border:0; display:block; object-fit:cover; }
.cinematic-video-poster,
.cinematic-local-poster { position:relative; width:100%; height:100%; min-height:100%; padding:0; border:0; cursor:pointer; background-position:center; background-size:cover; overflow:hidden; display:block; color:#fff; }
.cinematic-video-poster::before,
.cinematic-local-poster::before { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.08) 58%,rgba(0,0,0,.22)); transition:background .3s ease; }
.cinematic-video-poster:hover::before,
.cinematic-local-poster:hover::before { background:linear-gradient(0deg,rgba(0,0,0,.7),rgba(0,0,0,.05) 58%,rgba(0,0,0,.14)); }
.cinematic-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:88px; height:88px; display:grid; place-items:center; padding-left:5px; border-radius:50%; background:rgba(255,255,255,.94); color:#08090b; font-size:27px; box-shadow:0 20px 70px rgba(0,0,0,.35); }
.cinematic-video-label { position:absolute; left:32px; bottom:28px; display:flex; flex-direction:column; align-items:flex-start; gap:4px; z-index:2; text-align:left; }
.cinematic-video-label b { font-size:18px; letter-spacing:.05em; }
.cinematic-video-label small { color:rgba(255,255,255,.72); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.cinematic-ending { padding:clamp(100px,12vw,180px) 0; text-align:center; background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.035),transparent 42%),#050608; border-top:1px solid var(--cine-line); }
.cinematic-ending h2 { margin:0; font-size:clamp(52px,8vw,118px); line-height:.9; letter-spacing:-.06em; }
.cinematic-ending > .cinematic-shell > p:not(.cinematic-kicker) { margin:26px auto 0; max-width:640px; color:var(--cine-muted); }
@media (max-width: 1100px) {
    .cinematic-feature-card__grid { grid-template-columns:1fr; gap:34px; min-height:unset; }
    .cinematic-feature-card__content { max-width:none; }
}
@media (max-width: 900px) {
    .cinematic-hero { min-height:68vh; }
    .cinematic-hero-inner { padding-top:140px; padding-bottom:72px; }
    .cinematic-feature-card__grid { padding:34px; }
    .cinematic-play { width:70px; height:70px; font-size:22px; }
}
@media (max-width: 560px) {
    .cinematic-hero h1 { font-size:clamp(54px,18vw,84px); }
    .cinematic-project { padding:32px 0; }
    .cinematic-feature-card__grid { padding:22px; gap:22px; }
    .cinematic-feature-card__content h2 { font-size:44px; }
    .cinematic-feature-card__text { margin-top:18px; font-size:15px; line-height:1.75; }
    .cinematic-video-label { left:18px; bottom:16px; }
    .cinematic-play { width:58px; height:58px; font-size:18px; }
}


/* Cinematic Projects v3.9.63 — project containers */
.cinematic-project-list { background:#050608; }
.cinematic-project-container { position:relative; isolation:isolate; padding:clamp(68px,7vw,110px) 0; border-bottom:1px solid var(--cine-line); overflow:hidden; }
.cinematic-project-bg { position:absolute; inset:0; z-index:-2; background:#080a0d; }
.cinematic-project-container.has-background .cinematic-project-bg { background-image:linear-gradient(rgba(5,6,8,var(--cine-section-overlay,.68)),rgba(5,6,8,var(--cine-section-overlay,.68))),var(--cine-section-bg); background-size:cover; background-position:var(--cine-section-position,center center); filter:saturate(.72); transform:scale(1.01); }
.cinematic-project-container.has-background .cinematic-project-bg::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,6,8,.74) 0%,rgba(5,6,8,.34) 48%,rgba(5,6,8,.5) 100%); }
.cinematic-project-card { display:grid; grid-template-columns:minmax(0,var(--cine-left-column,45fr)) minmax(0,var(--cine-right-column,55fr)); gap:clamp(38px,4vw,70px); align-items:stretch; min-height:var(--cine-container-height,640px); padding:clamp(34px,4vw,64px); border:1px solid rgba(255,255,255,.12); background:rgba(7,9,12,.74); box-shadow:0 30px 90px rgba(0,0,0,.28); backdrop-filter:blur(5px); }
.cinematic-project-info { min-width:0; max-width:560px; align-self:center; }
.cinematic-project-info h2 { margin:0; font-size:clamp(46px,5vw,78px); line-height:.92; letter-spacing:-.052em; }
.cinematic-project-description { margin:25px 0 0; color:#b7bbc2; font-size:15px; line-height:1.76; }
.cinematic-project-video { min-width:0; width:100%; height:100%; align-self:stretch; display:flex; align-items:stretch; justify-content:flex-end; }
.cinematic-project-video .cinematic-video-card { position:relative; width:100%; max-width:none; height:100%; min-height:100%; margin-left:auto; aspect-ratio:auto; overflow:hidden; background:#000; box-shadow:0 20px 58px rgba(0,0,0,.32); }
.cinematic-project-video .cinematic-video-card iframe,
.cinematic-project-video .cinematic-video-card video { position:absolute; inset:0; width:100% !important; height:100% !important; max-width:none !important; max-height:none !important; margin:0 !important; border:0; display:block; object-fit:contain; background:#000; }
.cinematic-project-video .cinematic-video-poster,
.cinematic-project-video .cinematic-local-poster { position:absolute; inset:0; width:100%; height:100%; background-size:contain; background-repeat:no-repeat; background-position:center; background-color:#000; }
.cinematic-video-empty { display:grid; place-items:center; color:var(--cine-muted); font-size:13px; }
@media (max-width:1050px){.cinematic-project-card{grid-template-columns:1fr;min-height:0;gap:34px}.cinematic-project-info{max-width:760px}.cinematic-project-video{display:block;height:auto}.cinematic-project-video .cinematic-video-card{max-width:900px;height:auto;min-height:0;margin:0;aspect-ratio:16/9}.cinematic-project-video .cinematic-video-card iframe,.cinematic-project-video .cinematic-video-card video,.cinematic-project-video .cinematic-video-poster,.cinematic-project-video .cinematic-local-poster{position:absolute;inset:0}.cinematic-project-container.has-background .cinematic-project-bg::after{background:rgba(5,6,8,.24)}}
@media (max-width:560px){.cinematic-project-container{padding:56px 0}.cinematic-project-card{padding:24px 20px}.cinematic-project-info h2{font-size:44px}.cinematic-project-description{font-size:14px}.cinematic-project-video .cinematic-video-card{border-radius:0}.cinematic-video-label{max-width:68%}}


/* Cinematic Projects v3.9.69 — smart Auto Fit + video alignment */
@media (min-width:1051px){
    .cinematic-project-card.is-media-auto{
        /* Keep a stable right-side media zone; the actual video shrinks to its ratio inside it. */
        grid-template-columns:minmax(0,45fr) minmax(0,55fr);
    }
    .cinematic-project-card.is-media-auto .cinematic-project-video{
        width:100%;
        min-width:0;
        justify-self:stretch;
        align-self:stretch;
        display:flex;
        align-items:center;
    }
    .cinematic-project-card.is-media-auto.media-align-left .cinematic-project-video{justify-content:flex-start;}
    .cinematic-project-card.is-media-auto.media-align-center .cinematic-project-video{justify-content:center;}
    .cinematic-project-card.is-media-auto.media-align-right .cinematic-project-video{justify-content:flex-end;}
    .cinematic-project-card.is-media-auto .cinematic-video-card{
        width:var(--cine-auto-video-width,42%);
        max-width:100%;
        height:auto;
        min-height:0;
        margin:0;
        aspect-ratio:var(--cine-media-aspect,16/9);
        align-self:center;
        flex:0 0 auto;
    }
    .cinematic-project-card.is-media-auto .cinematic-video-card iframe,
    .cinematic-project-card.is-media-auto .cinematic-video-card video,
    .cinematic-project-card.is-media-auto .cinematic-video-poster,
    .cinematic-project-card.is-media-auto .cinematic-local-poster{
        position:absolute;
        inset:0;
        width:100%!important;
        height:100%!important;
    }
    /* Manual mode keeps the chosen column split; alignment remains available when media is narrower than its column. */
    .cinematic-project-card.is-media-manual.media-align-left .cinematic-project-video{justify-content:flex-start;}
    .cinematic-project-card.is-media-manual.media-align-center .cinematic-project-video{justify-content:center;}
    .cinematic-project-card.is-media-manual.media-align-right .cinematic-project-video{justify-content:flex-end;}
}


/* Cinematic Projects v3.9.70 — portrait music videos on phones only */
@media (max-width: 820px) {
    .cinematic-project-card.is-mobile-portrait-media .cinematic-project-video {
        display: flex;
        width: 100%;
        height: auto;
        align-items: flex-start;
        justify-content: center;
    }
    .cinematic-project-card.is-mobile-portrait-media .cinematic-project-video .cinematic-video-card {
        width: min(100%, 420px);
        max-width: 100%;
        height: auto;
        min-height: 0;
        margin: 0 auto;
        aspect-ratio: 9 / 16;
        flex: 0 0 auto;
    }
    .cinematic-project-card.is-mobile-portrait-media .cinematic-project-video .cinematic-video-card iframe,
    .cinematic-project-card.is-mobile-portrait-media .cinematic-project-video .cinematic-video-card video,
    .cinematic-project-card.is-mobile-portrait-media .cinematic-project-video .cinematic-video-poster,
    .cinematic-project-card.is-mobile-portrait-media .cinematic-project-video .cinematic-local-poster {
        position: absolute;
        inset: 0;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        margin: 0 !important;
    }
    .cinematic-project-card.is-mobile-portrait-media .cinematic-project-video .cinematic-video-card video {
        object-fit: contain;
        background: #000;
    }
}


/* MacroPulse Product Page */
.designic-macropulse-page{background:#030711;color:#f5f7ff;}
.macropulse-page{position:relative;background:radial-gradient(circle at top right, rgba(108,80,255,.22), transparent 30%), linear-gradient(180deg,#030711 0%,#060d18 40%,#050915 100%); color:#f5f7ff;}
.macropulse-page a{text-decoration:none;}
.macropulse-shell{width:min(var(--designic-max),calc(100% - 48px));margin:0 auto;}
.macropulse-kicker{margin:0 0 12px;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:#f29ac1;font-weight:700;}
.macropulse-hero-labels{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px;}
.macropulse-hero-labels .macropulse-kicker{margin:0;}
.macropulse-version{display:inline-flex;align-items:center;min-height:30px;padding:0 11px;border-radius:999px;border:1px solid rgba(173,157,255,.28);background:rgba(117,88,255,.12);color:#d8d0ff;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}

.macropulse-hero{position:relative;padding:140px 0 88px;overflow:hidden;}
.macropulse-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,7,17,.88),rgba(2,7,17,.46) 55%,rgba(2,7,17,.22));pointer-events:none;}
.macropulse-hero .macropulse-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(340px,520px);gap:44px;align-items:center;}
.macropulse-hero-copy h1{margin:0;font-size:clamp(3.3rem,8vw,6.25rem);line-height:.94;letter-spacing:-.04em;color:#f8f7ff;}
.macropulse-hero-copy h2{margin:18px 0 0;font-size:clamp(1.55rem,3vw,2.4rem);font-weight:400;color:#ffffff;}
.macropulse-hero-copy p{max-width:640px;color:rgba(235,239,255,.82);font-size:1.18rem;line-height:1.78;margin:30px 0 0;}
.macropulse-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;}
.macropulse-button,.macropulse-button-alt{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 24px;border-radius:18px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease;}
.macropulse-button{background:linear-gradient(135deg,#7a5cff,#b39cff);color:#fff;box-shadow:0 18px 40px rgba(99,72,255,.32);}
.macropulse-button-alt{border:1px solid rgba(129,142,178,.28);color:#eef2ff;background:rgba(10,16,28,.56);}
.macropulse-button:hover,.macropulse-button-alt:hover{transform:translateY(-2px);}
.macropulse-meta{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0 0;padding:0;list-style:none;color:#a9b3cd;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;}
.macropulse-meta li{display:flex;align-items:center;gap:14px;}
.macropulse-meta li:not(:last-child)::after{content:"•";color:#6d5aff;}
.macropulse-hero-visual{margin:0;display:flex;justify-content:center;}
.macropulse-device{position:relative;width:min(100%,520px);padding:22px;border-radius:36px;background:linear-gradient(180deg,rgba(10,16,28,.88),rgba(6,10,18,.98));border:1px solid rgba(108,128,188,.18);box-shadow:0 35px 110px rgba(0,0,0,.58);}
.macropulse-device-screen{position:relative;border-radius:28px;background:#050a13;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.06);}
.macropulse-device-screen img{width:100%;height:auto;max-height:760px;object-fit:contain;display:block;background:#050a13;object-position:center center;}
.macropulse-device-glow{position:absolute;inset:auto 16% -16% 16%;height:28%;background:radial-gradient(circle,rgba(108,80,255,.35),transparent 72%);filter:blur(28px);pointer-events:none;}
.macropulse-placeholder{display:grid;place-items:center;min-height:420px;padding:32px;text-align:center;color:#9aa5c0;font-size:1rem;line-height:1.7;}
.macropulse-section{padding:88px 0;}
.macropulse-section-heading{max-width:760px;margin-bottom:34px;}
.macropulse-section-heading h2{margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.06;letter-spacing:-.03em;color:#fbfbff;}
.macropulse-section-heading p{margin:16px 0 0;color:#a7b1ca;font-size:1.08rem;line-height:1.82;}
.macropulse-features-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.macropulse-feature-card,.macropulse-step-card,.macropulse-use-card{background:linear-gradient(180deg,rgba(10,17,30,.82),rgba(8,12,22,.95));border:1px solid rgba(108,124,170,.2);border-radius:28px;padding:28px;box-shadow:0 20px 45px rgba(0,0,0,.22);}
.macropulse-feature-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(122,92,255,.22),rgba(242,154,193,.18));border:1px solid rgba(171,154,255,.24);color:#f5f5ff;margin-bottom:20px;}
.macropulse-feature-card h3,.macropulse-step-card h3,.macropulse-use-card h3{margin:0 0 12px;font-size:1.28rem;color:#f8f8ff;}
.macropulse-feature-card p,.macropulse-step-card p,.macropulse-use-card p{margin:0;color:#aeb7cf;line-height:1.75;}
.macropulse-workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.macropulse-step-number{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:40px;padding:0 12px;border-radius:999px;background:rgba(122,92,255,.16);border:1px solid rgba(122,92,255,.28);font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;color:#d5ccff;font-weight:700;margin-bottom:16px;}
.macropulse-use-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.macropulse-final-cta{padding:26px 0 110px;}
.macropulse-final-card{position:relative;overflow:hidden;border-radius:34px;background:linear-gradient(135deg,rgba(14,22,40,.92),rgba(10,15,28,.98));border:1px solid rgba(120,137,184,.2);padding:42px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;box-shadow:0 28px 80px rgba(0,0,0,.34);}
.macropulse-final-card:before{content:"";position:absolute;inset:-20% auto auto 55%;width:320px;height:320px;background:radial-gradient(circle,rgba(122,92,255,.24),transparent 68%);pointer-events:none;}
.macropulse-final-card > *{position:relative;z-index:1;}
.macropulse-final-card h2{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.08;letter-spacing:-.03em;}
.macropulse-final-card p{margin:14px 0 0;color:#aeb8cf;line-height:1.78;max-width:720px;}
.macropulse-final-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-end;}
@media (max-width: 1200px){
    .macropulse-features-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 980px){
    .macropulse-shell{width:min(var(--designic-max),calc(100% - 34px));}
    .macropulse-hero .macropulse-shell,.macropulse-final-card{grid-template-columns:1fr;}
    .macropulse-hero{padding-top:124px;}
    .macropulse-hero-copy p{max-width:none;}
    .macropulse-final-actions{justify-content:flex-start;}
}
@media (max-width: 820px){
    .macropulse-hero-copy h1{font-size:clamp(2.6rem,14vw,4.5rem);}
    .macropulse-hero-copy h2{font-size:1.45rem;}
    .macropulse-features-grid,.macropulse-workflow-grid,.macropulse-use-grid{grid-template-columns:1fr;}
    .macropulse-feature-card,.macropulse-step-card,.macropulse-use-card,.macropulse-final-card{border-radius:24px;}
    .macropulse-device{padding:16px;border-radius:28px;}
    .macropulse-device-screen{border-radius:22px;}
    .macropulse-section{padding:72px 0;}
}

/* The Messenger — Private Family Communication Service */
.designic-the-messenger-page{background:#07100f;color:#f4f7f8;}
.messenger-page{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 5%,rgba(34,199,169,.13),transparent 26%),linear-gradient(180deg,#07100f 0%,#0b1313 42%,#08100f 100%);color:#f4f7f8;}
.messenger-page a{text-decoration:none;}
.messenger-shell{width:min(var(--designic-max),calc(100% - 48px));margin:0 auto;}
.messenger-kicker{margin:0;color:#5fe1ca;font-size:.78rem;font-weight:750;letter-spacing:.2em;text-transform:uppercase;}
.messenger-hero{position:relative;padding:142px 0 92px;min-height:760px;display:flex;align-items:center;}
.messenger-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(360px,.88fr) minmax(520px,1.35fr);gap:48px;align-items:center;}
.messenger-brand-line{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.messenger-app-icon{width:54px;height:54px;border-radius:16px;object-fit:cover;box-shadow:0 16px 42px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.06);}
.messenger-hero-copy h1{margin:0;font-size:clamp(3.5rem,7vw,6.8rem);line-height:.9;letter-spacing:-.055em;color:#f7fbfa;}
.messenger-hero-copy h2{margin:22px 0 0;max-width:650px;font-size:clamp(1.55rem,3vw,2.65rem);line-height:1.15;font-weight:500;letter-spacing:-.025em;color:#dff8f3;}
.messenger-hero-description{max-width:650px;margin:27px 0 0;color:#aebbb9;font-size:1.08rem;line-height:1.8;}
.messenger-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:31px;}
.messenger-button,.messenger-button-alt{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 23px;border-radius:16px;font-weight:750;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;}
.messenger-button{background:linear-gradient(135deg,#22c7a9,#67e4cc);color:#071b17;box-shadow:0 18px 42px rgba(34,199,169,.2);}
.messenger-button-alt{background:rgba(19,31,30,.72);border:1px solid rgba(124,158,152,.24);color:#edf8f6;}
.messenger-button:hover,.messenger-button-alt:hover{transform:translateY(-2px);}
.messenger-meta{display:flex;flex-wrap:wrap;gap:11px 17px;list-style:none;padding:0;margin:27px 0 0;color:#82918e;font-size:.73rem;letter-spacing:.095em;text-transform:uppercase;}
.messenger-meta li{display:flex;align-items:center;gap:16px;}.messenger-meta li:not(:last-child)::after{content:"•";color:#22c7a9;}
.messenger-hero-visual{position:relative;margin:0;display:flex;align-items:center;justify-content:center;min-width:0;}
.messenger-hero-visual:before{content:"";position:absolute;inset:12% 6%;background:radial-gradient(circle,rgba(34,199,169,.24),transparent 68%);filter:blur(42px);}
.messenger-hero-visual img{position:relative;z-index:1;width:100%;height:auto;max-height:680px;display:block;object-fit:contain;filter:drop-shadow(0 34px 45px rgba(0,0,0,.42));}
.messenger-image-placeholder{position:relative;z-index:1;width:100%;min-height:460px;border:1px dashed rgba(95,225,202,.34);border-radius:28px;background:rgba(15,26,25,.72);display:grid;place-content:center;text-align:center;color:#dff8f3;padding:30px;}.messenger-image-placeholder span{display:block;color:#81908d;font-size:.85rem;margin-top:8px;}
.messenger-glow{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none;}.messenger-glow--one{width:560px;height:560px;right:-280px;top:-180px;background:radial-gradient(circle,rgba(34,199,169,.13),transparent 68%);}.messenger-glow--two{width:420px;height:420px;left:-240px;bottom:-150px;background:radial-gradient(circle,rgba(25,149,127,.1),transparent 68%);}
.messenger-section{padding:94px 0;position:relative;}.messenger-section--spotlight{background:linear-gradient(180deg,rgba(16,28,27,.56),rgba(8,16,15,.18));border-top:1px solid rgba(114,149,143,.08);border-bottom:1px solid rgba(114,149,143,.08);}.messenger-section--privacy{background:rgba(6,13,13,.44);}.messenger-section--request{padding-top:80px;}
.messenger-heading{max-width:820px;margin-bottom:40px;}.messenger-heading h2,.messenger-copy h2{margin:12px 0 0;font-size:clamp(2.25rem,4.4vw,4.25rem);line-height:1.02;letter-spacing:-.04em;color:#f5faf9;}.messenger-heading > p:last-child,.messenger-copy > p{max-width:760px;margin:18px 0 0;color:#9dadaa;font-size:1.06rem;line-height:1.8;}.messenger-copy{max-width:650px;}
.messenger-features-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}.messenger-feature-card{min-height:250px;border-radius:25px;padding:25px;background:linear-gradient(180deg,rgba(20,32,31,.92),rgba(12,21,20,.96));border:1px solid rgba(103,139,133,.18);box-shadow:0 20px 46px rgba(0,0,0,.18);}.messenger-feature-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:#61e5cd;background:rgba(34,199,169,.08);border:1px solid rgba(34,199,169,.2);margin-bottom:20px;}.messenger-feature-icon svg,.messenger-privacy-card svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;}.messenger-feature-card h3,.messenger-privacy-card h3,.messenger-request-grid h3{margin:0 0 10px;font-size:1.2rem;color:#f1f7f5;}.messenger-feature-card p,.messenger-privacy-card p,.messenger-request-grid p{margin:0;color:#92a19e;line-height:1.72;font-size:.95rem;}
.messenger-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);gap:64px;align-items:center;}.messenger-split--reverse{grid-template-columns:minmax(440px,1.1fr) minmax(0,.9fr);}.messenger-note{border-left:2px solid #22c7a9;padding-left:17px!important;color:#c7d5d2!important;font-size:.93rem!important;}
.messenger-alert-demo{position:relative;padding:32px;border-radius:30px;background:linear-gradient(145deg,#0f4037,#102b27);border:1px solid rgba(56,214,185,.34);box-shadow:0 34px 80px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.03);}.messenger-alert-label{font-size:.7rem;font-weight:800;letter-spacing:.16em;color:#77eed8;}.messenger-alert-demo h3{margin:10px 0 6px;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.04em;}.messenger-alert-demo > p{margin:0;color:#90aba6;font-size:.85rem;}.messenger-alert-responses{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px;}.messenger-alert-responses span{min-height:50px;border:1px solid rgba(131,166,159,.2);background:rgba(6,19,17,.34);border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:750;font-size:.85rem;}.messenger-alert-responses .is-got{color:#83f3b6}.messenger-alert-responses .is-no{color:#ff929a}.messenger-alert-responses .is-wait{color:#e8c56c}.messenger-alert-people{display:flex;margin-top:20px;}.messenger-alert-people b{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#172a27;border:2px solid #0f4037;color:#cbe0dc;font-size:.73rem;margin-right:-7px;}
.messenger-location-demo{position:relative;min-height:480px;border-radius:30px;overflow:hidden;background:#0b1d1c;border:1px solid rgba(91,137,129,.22);box-shadow:0 32px 72px rgba(0,0,0,.27);}.messenger-map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(77,122,114,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(77,122,114,.12) 1px,transparent 1px);background-size:52px 52px;transform:rotate(-11deg) scale(1.25);}.messenger-location-demo:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 52% 48%,rgba(34,199,169,.2),transparent 24%),linear-gradient(180deg,rgba(6,14,14,.04),rgba(6,14,14,.62));}.messenger-map-title{position:absolute;z-index:2;top:24px;left:26px;font-size:1.2rem;font-weight:750;}.messenger-home-pin,.messenger-person-pin{position:absolute;z-index:2;border-radius:50%;display:grid;place-items:center;border:3px solid rgba(34,199,169,.28);box-shadow:0 0 0 8px rgba(34,199,169,.07);}.messenger-home-pin{left:48%;top:43%;width:62px;height:62px;background:#22c7a9;color:#071b17;font-size:29px;}.messenger-person-pin{width:44px;height:44px;background:#163a35;color:#d8f5ef;font-size:.8rem;font-weight:800;}.pin-one{left:25%;top:28%;}.pin-two{right:22%;top:26%;}.pin-three{right:25%;bottom:27%;}.messenger-location-list{position:absolute;z-index:3;left:24px;right:24px;bottom:22px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}.messenger-location-list div{padding:12px 13px;border-radius:13px;background:rgba(9,22,21,.88);border:1px solid rgba(99,137,130,.2);}.messenger-location-list b,.messenger-location-list span{display:block;}.messenger-location-list b{font-size:.85rem}.messenger-location-list span{font-size:.69rem;color:#829590;margin-top:3px;}.messenger-check-list{list-style:none;padding:0;margin:25px 0 0;display:grid;gap:11px;}.messenger-check-list li{position:relative;padding-left:28px;color:#c4d1ce;line-height:1.55;}.messenger-check-list li:before{content:"✓";position:absolute;left:0;color:#22c7a9;font-weight:800;}
.messenger-privacy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}.messenger-privacy-card{padding:28px;border-radius:25px;background:#0f1a19;border:1px solid rgba(102,139,133,.17);}.messenger-privacy-card > span{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;color:#5fe1ca;background:rgba(34,199,169,.08);margin-bottom:22px;}
.messenger-devices-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr);gap:62px;align-items:center;}.messenger-platforms{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px;}.messenger-platforms span{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid rgba(83,130,122,.25);background:#101c1b;color:#d5e4e1;font-size:.8rem;font-weight:650;}.messenger-foldable{position:relative;min-height:440px;border:10px solid #17201f;border-radius:30px;background:#0d1514;display:grid;grid-template-columns:1fr 12px 1fr;overflow:hidden;box-shadow:0 34px 84px rgba(0,0,0,.4),0 0 0 1px rgba(115,150,144,.2);}.messenger-fold-hinge{background:linear-gradient(90deg,#0b1111,#28312f,#0a1010);}.messenger-fold-pane{padding:30px 24px;display:flex;flex-direction:column;gap:8px;}.messenger-fold-pane small{color:#62e4cd;text-transform:uppercase;letter-spacing:.13em;font-weight:800;margin-bottom:10px;}.messenger-fold-pane strong{font-size:.95rem;margin-top:9px;}.messenger-fold-pane span{font-size:.75rem;color:#899995;}.messenger-fold-pane--left{background:#111918}.messenger-fold-pane--right{background:#0c1514}.messenger-mini-map{position:relative;flex:1;margin:8px 0 17px;border-radius:18px;overflow:hidden;background:repeating-linear-gradient(45deg,#102320,#102320 22px,#132925 22px,#132925 23px);}.messenger-mini-map i{position:absolute;width:29px;height:29px;border-radius:50%;background:#22c7a9;border:5px solid #173f38}.messenger-mini-map i:nth-child(1){top:23%;left:22%}.messenger-mini-map i:nth-child(2){top:34%;right:16%}.messenger-mini-map i:nth-child(3){bottom:20%;left:38%}.messenger-mini-map b{position:absolute;left:49%;top:46%;width:50px;height:50px;border-radius:50%;transform:translate(-50%,-50%);display:grid;place-items:center;background:#64e3cc;color:#061a16;font-size:23px;}.messenger-mini-status{padding:12px 13px;border:1px solid rgba(92,132,124,.2);border-radius:12px;background:#12201e}.messenger-mini-status strong,.messenger-mini-status span{display:block}.messenger-mini-status strong{font-size:.78rem}.messenger-mini-status span{font-size:.68rem;margin-top:3px;color:#839590}
.messenger-request-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}.messenger-request-grid article{padding:28px;border-radius:24px;background:linear-gradient(180deg,#101c1b,#0d1716);border:1px solid rgba(100,139,132,.17);}.messenger-request-grid article > span{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:35px;padding:0 12px;border-radius:999px;background:rgba(34,199,169,.1);color:#6ce6cf;border:1px solid rgba(34,199,169,.18);font-size:.75rem;font-weight:800;letter-spacing:.1em;margin-bottom:20px;}
.messenger-final-cta{padding:22px 0 110px;}.messenger-final-card{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:30px;padding:42px;border-radius:32px;background:linear-gradient(135deg,#102421,#0b1716);border:1px solid rgba(77,177,159,.24);box-shadow:0 28px 70px rgba(0,0,0,.26);}.messenger-final-card:after{content:"";position:absolute;right:-100px;top:-170px;width:380px;height:380px;background:radial-gradient(circle,rgba(34,199,169,.18),transparent 68%);}.messenger-final-card > *{position:relative;z-index:1}.messenger-final-card h2{margin:10px 0 0;font-size:clamp(2rem,4vw,3.45rem);line-height:1.04;letter-spacing:-.04em;}.messenger-final-card p:last-child{margin:15px 0 0;max-width:750px;color:#96aaa6;line-height:1.75;}
@media (max-width:1200px){.messenger-features-grid,.messenger-privacy-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.messenger-hero-grid{grid-template-columns:minmax(330px,.9fr) minmax(460px,1.1fr);}}
@media (max-width:980px){.messenger-shell{width:min(var(--designic-max),calc(100% - 34px));}.messenger-hero{padding-top:122px;}.messenger-hero-grid,.messenger-split,.messenger-split--reverse,.messenger-devices-grid,.messenger-final-card{grid-template-columns:1fr;}.messenger-hero-visual{margin-top:18px;}.messenger-hero-visual img{max-height:none}.messenger-split--reverse .messenger-location-demo{order:2}.messenger-final-card .messenger-button{justify-self:start;}.messenger-foldable{min-height:390px;}}
@media (max-width:720px){.messenger-hero{padding:112px 0 68px;min-height:0}.messenger-app-icon{width:46px;height:46px;border-radius:14px}.messenger-hero-copy h1{font-size:clamp(3rem,17vw,5rem)}.messenger-section{padding:72px 0}.messenger-features-grid,.messenger-privacy-grid,.messenger-request-grid{grid-template-columns:1fr}.messenger-split,.messenger-devices-grid{gap:38px}.messenger-alert-demo{padding:24px}.messenger-alert-responses{grid-template-columns:1fr}.messenger-location-demo{min-height:410px}.messenger-location-list{grid-template-columns:1fr}.messenger-location-list div:nth-child(n+2){display:none}.messenger-foldable{min-height:360px;border-width:7px;grid-template-columns:1fr 8px 1fr}.messenger-fold-pane{padding:22px 15px}.messenger-final-card{padding:30px}.messenger-meta li:after{display:none}.messenger-meta{display:grid;grid-template-columns:1fr 1fr}.messenger-brand-line{align-items:flex-start;flex-direction:column}.messenger-kicker{line-height:1.55}.messenger-actions{width:100%}.messenger-button,.messenger-button-alt{width:100%}}
