/* Creative Impact Agency 5.4 — Elementor-native layout layer. */
body.cia-elementor-native .site-shell,
body.cia-elementor-native .page-content,
body.cia-elementor-native .page-content > .elementor,
body.cia-elementor-native .page-content > .elementor > .elementor-element,
body.cia-elementor-native .e-con.e-parent { width: 100%; max-width: none; }

body.cia-elementor-native .elementor-widget-cia-global-header,
body.cia-elementor-native .elementor-widget-cia-global-footer,
body.cia-elementor-native .elementor-widget-cia-global-header > .elementor-widget-container,
body.cia-elementor-native .elementor-widget-cia-global-footer > .elementor-widget-container { width: 100%; }

.cia-global-template-shell { width: 100% !important; max-width: none !important; padding: 0 !important; gap: 0 !important; }
.cia-global-template-shell > .e-con-inner { width: 100% !important; max-width: none !important; padding: 0 !important; }
.cia-el-section > .e-con-inner { width: 100%; max-width: var(--max); }
.cia-el-section.cia-full-bleed > .e-con-inner { width: 100%; max-width: none; }

/* Every visible photograph has a media control in Elementor. */
.cia-image-panel { width: 100%; height: 100%; margin: 0; background-color: var(--paper-deep); background-repeat: no-repeat; background-size: cover; background-position: var(--cia-focal-x,50%) calc(var(--cia-focal-y,50%) + var(--parallax-y,0px)); }
.cia-image-panel.stair-photo { background-image: linear-gradient(90deg,var(--paper) 0,rgba(244,240,234,.36) 14%,transparent 38%),var(--cia-panel-image) !important; }
.cia-image-panel.approach-hero-photo { background-image: linear-gradient(90deg,var(--dark),transparent 18%),var(--cia-panel-image) !important; }
.cia-image-panel.approach-process-photo { background-image: linear-gradient(180deg,rgba(17,17,17,.02),rgba(17,17,17,.22)),var(--cia-panel-image) !important; }
.cia-image-panel.work-stone-photo,.cia-image-panel.contact-photo { background-image: linear-gradient(90deg,var(--paper),transparent 18%),var(--cia-panel-image) !important; }
.cia-image-panel.portrait-photo { background-image: linear-gradient(90deg,var(--dark),transparent 17%),var(--cia-panel-image) !important; }
.cia-image-panel.materials-photo { background-image: var(--cia-panel-image) !important; }
.cia-image-panel .materials-caption { position: absolute; top: 50%; left: 11%; padding: 25px 30px; background: rgba(244,240,234,.94); color: var(--ink); font: 400 32px/.94 var(--serif); box-shadow: 0 18px 45px rgba(0,0,0,.10); transform: translateY(-50%) rotate(-2deg); }

/* Homepage sections keep the Landingspagina1 proportions while their content is editable. */
.page-home .cia-home-hero-final .elementor-widget-cia-image-panel,
.page-home .cia-home-hero-final .elementor-widget-cia-image-panel > .elementor-widget-container { width: 100%; height: 100%; }
.page-home .cia-home-hero-visual .cia-image-panel { min-height: 720px; }
.page-home .cia-home-trust-final { padding: 0; }
.page-home .cia-home-trust-final > .elementor-widget-cia-trust-strip,
.page-home .cia-home-trust-final > .elementor-widget-cia-trust-strip > .elementor-widget-container { width: 100%; }
.cia-native-trust-grid { width: 100%; max-width: none; padding-inline: var(--gutter); }
.cia-native-trust-grid > * { justify-content: flex-end; }
.page-home .cia-home-materials-visual .cia-image-panel { min-height: 490px; }
.cia-capabilities-list span { display: block; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.page-home .cia-home-method-final { padding: 0; }
.page-home .cia-home-method-final > .elementor-widget-cia-method,
.page-home .cia-home-method-final > .elementor-widget-cia-method > .elementor-widget-container { width: 100%; }
.cia-native-method { padding-inline: var(--gutter); }

/* Text calls-to-action are deliberately not buttons. */
.cia-text-arrow { display: inline-flex; align-items: center; gap: 24px; color: inherit; font: 700 12px/1.2 var(--sans); letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.cia-text-arrow::before { width: 22px; height: 1px; background: var(--accent); content: ""; flex: none; }
.cia-text-arrow i { color: var(--accent); font-style: normal; font-size: 17px; transition: transform .3s cubic-bezier(.22,1,.36,1); }
.cia-text-arrow:hover i,.cia-text-arrow:focus-visible i { transform: translateX(5px); }
.cia-text-arrow--plain::before { display: none; }

/* Approach: no horizontal rule below Principles or Tools; vertical separators remain. */
.cia-el-principles,.cia-el-tools { border-top: 0 !important; }
.cia-el-principles .principle-grid article,.cia-el-beliefs .belief-grid article { text-align: center; align-items: center; }
.cia-el-principles .line-icon,.cia-el-tools .line-icon,.cia-el-beliefs .line-icon { width: 64px; height: 64px; margin-inline: auto; }
.cia-el-principles .line-icon svg,.cia-el-tools .line-icon svg,.cia-el-beliefs .line-icon svg { width: 42px; height: 42px; }
.cia-el-tools .tool-row article { text-align: center; justify-items: center; }
.cia-el-approach-process { padding-block: 0; padding-right: 0; }
.cia-el-approach-process .cia-process-copy { padding-block: clamp(74px,8vw,130px); }
.cia-el-approach-process .cia-process-visual { align-self: stretch; min-height: 980px; }
.cia-el-approach-process .elementor-widget-cia-image-panel,
.cia-el-approach-process .elementor-widget-cia-image-panel > .elementor-widget-container,
.cia-el-approach-process .cia-image-panel { width: 100%; height: 100%; min-height: 980px; }

/* Work: full-width filters and project cards with editable media. */
.cia-el-work-grid { padding: 0 0 clamp(72px,8vw,120px); }
.cia-el-work-grid > .elementor-widget-cia-project-grid,
.cia-el-work-grid > .elementor-widget-cia-project-grid > .elementor-widget-container { width: 100%; }
.cia-el-work-grid .work-filter-shell { margin-bottom: clamp(54px,6vw,90px); }
.cia-el-work-grid .work-grid { width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: var(--gutter); }
.project-photo--custom { background-position: center; background-size: cover; }
.cia-project-detail-template { width: 100% !important; max-width: none !important; padding: 0 !important; gap: 0 !important; }
.cia-project-detail-template > .elementor-widget-cia-project-detail,
.cia-project-detail-template > .elementor-widget-cia-project-detail > .elementor-widget-container { width: 100%; }
.cia-elementor-project-detail .project-detail-visual.project-photo--custom,
.cia-elementor-project-detail .project-gallery-panel[style] { background-position: center; background-size: cover; }
.cia-el-work-cta { padding-inline: var(--gutter); }
.cia-el-work-cta > .e-con-inner { width: 100%; max-width: none; padding: clamp(42px,5vw,74px); background: var(--paper-deep); }

/* About and contact custom widgets inherit the same vertical rhythm as the references. */
.cia-el-beliefs,.cia-el-stats,.cia-el-clients,.cia-el-quote,.cia-el-global { padding-block: clamp(68px,7vw,108px); }
.cia-el-contact-form { padding-block: clamp(68px,8vw,120px); }
.cia-el-contact-form > .e-con-inner { width: min(100%,1180px); }
.cia-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Shared editable global footer. */
.cia-global-closing { background: var(--paper-deep); color: var(--ink); }
.theme-dark .cia-global-closing { border-color: var(--dline); background: var(--dark-soft); color: var(--light-ink); }
.cia-global-closing > .content-width { display: grid; width: 100%; max-width: none; min-height: 200px; padding-left: var(--gutter); padding-right: 0; grid-template-columns: minmax(0,1fr) auto 116px; align-items: center; gap: clamp(36px,7vw,110px); }
.cia-global-closing h2 { font-size: clamp(40px,3.35vw,56px); }
.cia-global-closing .cia-mark { width: 116px; height: 100%; align-self: stretch; justify-content: center; align-content: center; background: var(--accent); color: var(--paper); }
.cia-global-closing .cia-mark-circle { width: 100%; height: auto; border: 0; }
.cia-global-closing .cia-mark b { font-size: 17px; }
.cia-global-closing .cia-mark i { display: none; }

/* Editor clarity: widgets remain selectable without changing the live grid. */
.elementor-editor-active .cia-image-panel { outline: 1px dashed rgba(180,110,60,.36); outline-offset: -1px; }
.elementor-editor-active .cia-el-section { min-height: 80px; }

@media (max-width:1120px) {
  .cia-native-trust-grid { grid-template-columns: repeat(3,1fr); }
  .cia-el-approach-process .cia-process-visual,.cia-el-approach-process .cia-image-panel { min-height: 760px; }
}

@media (max-width:860px) {
  .cia-el-approach-process { padding: 0; flex-direction: column; }
  .cia-el-approach-process .cia-process-copy { padding: 72px var(--gutter); }
  .cia-el-approach-process .cia-process-visual,.cia-el-approach-process .cia-image-panel { min-height: 78vh; }
  .cia-global-closing > .content-width { min-height: 220px; padding-left: var(--gutter); grid-template-columns: minmax(0,1fr) 82px; grid-template-rows: auto auto; gap: 18px 24px; }
  .cia-global-closing h2 { padding-top: 38px; grid-column: 1; grid-row: 1; }
  .cia-global-closing .text-link { margin-bottom: 38px; grid-column: 1; grid-row: 2; }
  .cia-global-closing .cia-mark { width: 82px; grid-column: 2; grid-row: 1 / 3; }
}

@media (max-width:660px) {
  .cia-native-trust-grid { padding: 0; grid-template-columns: repeat(2,1fr); }
  .cia-native-trust-grid > :first-child { grid-column: 1/-1; }
  .cia-native-trust-grid > :last-child:nth-child(even) { grid-column: 1/-1; }
  .page-home .cia-home-hero-visual .cia-image-panel { min-height: 520px; }
  .page-home .cia-home-materials-visual .cia-image-panel { min-height: 420px; }
  .cia-el-approach-process .cia-process-visual,.cia-el-approach-process .cia-image-panel { min-height: 88vh; }
  .cia-el-work-cta > .e-con-inner { padding: 42px 24px; }
  .cia-global-closing > .content-width { grid-template-columns: minmax(0,1fr) 68px; }
  .cia-global-closing .cia-mark { width: 68px; }
}
