
/* chrome.css */
/* mc26 chrome-only: header, meny, footer og tokens for kit-sider */
500;600;700;800&family=Roboto:wght@300;400;500;700&family=Newsreader:ital,opsz,wght@1,6..72,200..500&display=swap");
@view-transition{ navigation: auto; }
:root{
  /* flater */
  --mc-bg:#03040C;
  --mc-bg-2:#000000;
  --mc-surface:rgba(255,255,255,.05);
  --mc-surface-2:rgba(255,255,255,.08);
  --mc-deep:#000000;

  /* blekk */
  --mc-ink:#FFFFFF;
  --mc-ink-2:rgba(255,255,255,.86);
  --mc-muted:#ADADAD;
  --mc-quiet:#7E8088;
  --mc-on-accent:#08080A;

  /* aksent */
  --mc-accent:#F26522;
  --mc-accent-soft:#FF8A4C;
  --mc-accent-deep:#D2500F;

  /* linjer */
  --mc-line:rgba(255,255,255,.10);
  --mc-line-2:rgba(255,255,255,.15);
  --mc-line-3:rgba(255,255,255,.22);
  --mc-btn-ghost:rgba(255,255,255,.08);

  /* form - hentet fra kitet */
  --mc-r-sm:10px;
  --mc-r-md:20px;
  --mc-r-lg:30px;
  --mc-r-xl:30px;
  --mc-r-pill:50px;
  --mc-r-arch:200px;
  --mc-max:1300px;

  --mc-ease:cubic-bezier(.22,1,.36,1);
  --mc-ease-soft:cubic-bezier(.33,.9,.24,1);

  /* dybde: paa moerk bunn kommer loeft fra lys, ikke fra skygge */
  --mc-sh-1:0 1px 2px rgba(0,0,0,.4);
  --mc-sh-2:0 18px 40px -22px rgba(0,0,0,.8);
  --mc-sh-3:0 30px 70px -30px rgba(0,0,0,.9);
  --mc-sh-accent:0 18px 44px -16px rgba(242,101,34,.55);

  /* bakoverkompatible navn saa grid.css og pages.css virker uendret */
  --mc-line-soft:var(--mc-line);
  --mc-accent-gfx:var(--mc-accent);
  --mc-accent-ink:var(--mc-accent);
  --mc-accent-btn:var(--mc-accent);
  --mc-accent-dark:var(--mc-accent-deep);
  --mc-accent-warm:var(--mc-accent-soft);
  --mc-glass:var(--mc-surface);
  --mc-glass-hi:var(--mc-surface-2);
  --mc-shadow:var(--mc-sh-3);
  --mc-shadow-sm:var(--mc-sh-2);
  --mc-surface-alt:var(--mc-surface-2);

  --mc-edge:max(0px, (100vw - var(--mc-max)) / 2);
}
.mc26-navlink a, .mc26-footlink a, .mc26-mail a, .mc26-crumb a{ color:inherit; text-decoration:none; }
.mc26-chrome-header{ position:sticky; top:0; z-index:200; view-transition-name:mc26-header; }
.mc26-chrome-header .elementor{ overflow:visible; }
.elementor-element-mch{
  position:relative;
  background:rgba(3,4,12,.72);
  backdrop-filter:saturate(160%) blur(18px);
  -webkit-backdrop-filter:saturate(160%) blur(18px);
  border-bottom:1px solid var(--mc-line);
}
@supports (animation-timeline: scroll()){
.elementor-element-mch{ animation:mc26-nav linear both; animation-timeline:scroll(root); animation-range:0 140px; }
@keyframes mc26-nav{ to{ background:rgba(3,4,12,.95); border-bottom-color:var(--mc-line-2); } }
}
.elementor-element-mch::after{
  content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px;
  background:linear-gradient(90deg, var(--mc-accent), var(--mc-accent-soft));
  transform:scaleX(0); transform-origin:0 50%; pointer-events:none;
}
@supports (animation-timeline: scroll()){
.elementor-element-mch::after{ animation:mc26-progress linear both; animation-timeline:scroll(root); }
}
.mc26-logo img{ transition:opacity .3s ease; }
.mc26-logo:hover img{ opacity:.72; }
.mc26-navlink a{
  display:inline-block; padding-bottom:4px;
  font-family:"Syne", sans-serif; font-weight:500;
  background-image:linear-gradient(var(--mc-accent),var(--mc-accent));
  background-repeat:no-repeat; background-position:0 100%; background-size:0% 2px;
  transition:background-size .38s var(--mc-ease), color .25s ease;
}
.mc26-navlink:hover a{ background-size:100% 2px; }
.elementor-element-mchdd{ position:relative; padding-block:16px; }
body .elementor-element.elementor-element-mchdd{ width:auto; }
.elementor-element-mchddp{
  position:absolute; top:100%; left:50%; translate:-50% 10px;
  min-width:246px; z-index:60;
  opacity:0; visibility:hidden; pointer-events:none;
  background:rgba(10,11,20,.97) !important;
  border:1px solid var(--mc-line-2);
  border-radius:var(--mc-r-md);
  box-shadow:var(--mc-sh-3);
  backdrop-filter:blur(14px);
  transition:opacity .24s ease, visibility .24s ease, translate .3s var(--mc-ease);
}
.elementor-element-mchdd:hover .elementor-element-mchddp,
.elementor-element-mchdd:focus-within .elementor-element-mchddp,
.elementor-element-mchdd.is-open .elementor-element-mchddp{
  opacity:1; visibility:visible; pointer-events:auto; translate:-50% 0;
}
.mc26-menu-toggle{ display:none; }
body .elementor.elementor-6584 .elementor-element.elementor-element-mchmob{ display:none; }
@media (max-width:1024px){
body .elementor-element.elementor-element-mchm{ display:none; }
.elementor-element-mchlogin{ display:none; }
.elementor-element-mchcta{ display:none; }
.mc26-menu-toggle{ display:block; }
body .elementor-element.elementor-element-mch > .e-con-inner{
    flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:space-between;
  }
body .elementor-element.elementor-element-mchl,
  body .elementor-element.elementor-element-mchr{ width:auto; }
body .elementor.elementor-6584 .elementor-element.elementor-element-mchmob{
    display:flex; position:fixed; inset:0; z-index:190; min-height:100vh;
    padding-top:212px; overflow-y:auto; overscroll-behavior:contain;
    /* Helt ugjennomsiktig: med backdrop-filter lyste sideinnholdet gjennom. */
    background:var(--mc-bg) !important;
    opacity:0; visibility:hidden; translate:0 -14px;
    transition:opacity .28s ease, visibility .28s ease, translate .36s var(--mc-ease);
  }
html.mc26-nav-open body .elementor.elementor-6584 .elementor-element.elementor-element-mchmob{ opacity:1; visibility:visible; translate:0 0; }
html.mc26-nav-open .mc26-menu-toggle .elementor-button{
    background:var(--mc-accent) !important; color:var(--mc-on-accent) !important; border-color:var(--mc-accent) !important;
  }
}
.mc26-chrome-footer{ background:var(--mc-bg-2); }
@media print{
.mc26-chrome-header{ position:static; }
}
.mc26-chrome-header{
  position:sticky; top:0; z-index:200;
  view-transition-name:mc26-header;
}
.mc26-chrome-header .elementor{ overflow:visible; }
.elementor-element-mch{ position:relative; }
.elementor-element-mchdd{ position:relative; padding-block:16px; }
body .elementor-element.elementor-element-mchdd{ width:auto; }
.elementor-element-mchddp{
  position:absolute; top:100%; left:50%;
  translate:-50% 10px;
  min-width:242px; z-index:60;
  opacity:0; visibility:hidden; pointer-events:none;
  border:1px solid rgba(26,26,26,.08);
  box-shadow:0 26px 54px -24px rgba(26,26,26,.42);
  transition:opacity .24s ease, visibility .24s ease, translate .3s var(--mc-ease);
}
.elementor-element-mchdd:hover .elementor-element-mchddp,
.elementor-element-mchdd:focus-within .elementor-element-mchddp{
  opacity:1; visibility:visible; pointer-events:auto; translate:-50% 0;
}
.mc26-menu-toggle{ display:none; }
body .elementor.elementor-6584 .elementor-element.elementor-element-mchmob{ display:none; }
@media (max-width:1024px){
body .elementor-element.elementor-element-mchm{ display:none; }
.elementor-element-mchlogin{ display:none; }
.elementor-element-mchcta{ display:none; }
.mc26-menu-toggle{ display:block; }
body .elementor-element.elementor-element-mch > .e-con-inner{
    flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:space-between;
  }
body .elementor-element.elementor-element-mchl,
  body .elementor-element.elementor-element-mchr{ width:auto; }
body .elementor.elementor-6584 .elementor-element.elementor-element-mchmob{
    display:flex;
    position:fixed; inset:0; z-index:190; min-height:100vh;
    padding-top:212px;
    overflow-y:auto; overscroll-behavior:contain;
    opacity:0; visibility:hidden; translate:0 -14px;
    transition:opacity .28s ease, visibility .28s ease, translate .36s var(--mc-ease);
  }
html.mc26-nav-open body .elementor.elementor-6584 .elementor-element.elementor-element-mchmob{
    opacity:1; visibility:visible; translate:0 0;
  }
html.mc26-nav-open .mc26-menu-toggle .elementor-button{
    background:var(--mc-ink); color:#fff; border-color:var(--mc-ink);
  }
}
@media (max-width:767px){
body .elementor.elementor-6584 .elementor-element.elementor-element-mchmob{ padding-top:212px; }
}

/* Keep boxed Elementor containers from applying the same editable padding twice. */
body .elementor .e-con-boxed{
  padding:0 var(--padding-right) 0 var(--padding-left) !important;
}

/* Header fallbacks keep Elementor typography and contrast visible on mobile. */
body .elementor.elementor-6584 .elementor-element.elementor-element-mchtoggle .elementor-button{
  font-family:var(--e-global-typography-primary-font-family, Syne), sans-serif !important;
  color:#FFFFFF !important;
}
html.mc26-nav-open body .elementor.elementor-6584 .elementor-element.elementor-element-mchtoggle .elementor-button{
  color:var(--mc-on-accent) !important;
}
body .elementor.elementor-6584 .elementor-element.elementor-element-mchlogin .elementor-heading-title,
body .elementor.elementor-6584 .elementor-element.elementor-element-mchlogin .elementor-heading-title a{
  font-family:var(--e-global-typography-primary-font-family, Syne), sans-serif !important;
}

/* Stable mobile navigation: keep the header above the drawer and lock the page beneath it. */
@media (max-width:1024px){
  body .elementor.elementor-6584 .elementor-element.elementor-mch{ z-index:220; }
  body .elementor.elementor-6584 .elementor-element.elementor-element-mchmob{
    box-sizing:border-box;
    height:100vh;
    height:100dvh;
    padding-top:112px;
    padding-bottom:max(32px, env(safe-area-inset-bottom));
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  html.mc26-nav-open,
  html.mc26-nav-open body{
    height:100%;
    overflow:hidden !important;
    overscroll-behavior:none;
  }
  .mc26-menu-toggle{ position:relative; z-index:221; }
  .mc26-menu-toggle .elementor-button{ touch-action:manipulation; }
}
@media (prefers-reduced-motion:reduce){
  body .elementor.elementor-6584 .elementor-element.elementor-element-mchmob,
  .mc26-menu-toggle .elementor-button{ transition:none !important; }
}

/* Home navigation: clear hierarchy, full-width touch targets, and no cramped mobile links. */
@media (max-width:1024px){
  body .elementor.elementor-6584 .elementor-element.elementor-element-mchmob{
    gap:2px;
    padding-top:calc(94px + env(safe-area-inset-top));
    padding-right:22px;
    padding-left:22px;
  }
  body .elementor.elementor-6584 .mc26-moblink{
    width:100%;
    margin:0;
    border-bottom:1px solid rgba(255,255,255,.09);
  }
  body .elementor.elementor-6584 .mc26-moblink .elementor-heading-title a{
    display:flex;
    align-items:center;
    width:100%;
    min-height:48px;
    padding:8px 12px;
    text-decoration:none;
    line-height:1.2;
    transition:color .2s ease, background-color .2s ease;
  }
  body .elementor.elementor-6584 .mc26-moblink:not(.mc26-moblink-sub) .elementor-heading-title a{
    font-size:clamp(22px,6vw,28px);
    font-weight:650;
  }
  body .elementor.elementor-6584 .mc26-moblink-sub .elementor-heading-title a{
    min-height:44px;
    padding-left:28px;
    color:var(--mc-muted);
    font-size:17px;
    font-weight:500;
  }
  body .elementor.elementor-6584 .mc26-moblink .elementor-heading-title a:hover,
  body .elementor.elementor-6584 .mc26-moblink .elementor-heading-title a:focus-visible{
    color:var(--mc-accent);
  }
}

/* Match the menu trigger's controls target and make the open state obvious. */
html.mc26-nav-open body .elementor.elementor-6584 .elementor-element-mchtoggle .elementor-button-text{font-size:0}
html.mc26-nav-open body .elementor.elementor-6584 .elementor-element-mchtoggle .elementor-button-text::after{
  content:"Lukk";
  font:inherit;
  font-size:14px;
  line-height:1;
}

/* The library wrapper scroll-clips the dropdown despite overflow on its header child. */
.mc26-chrome-header > .elementor.elementor-6584{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

/* mc27.css */
/* =========================================================================
   MATHISEN CREATIVE 2026 - "Prisme"
   Ett designsystem for hele nettstedet.

   Hvorfor klassene ser rare ut: Elementor 4.2 ignorerer _css_classes paa
   containere, saa rollen ligger i element-ID-en i stedet. Alle velgere er
   [class*="elementor-element-xNAVN"]. ID-en er klassen.

     xsecink / xsecbone / xsecsand / xsecplum / xsecteal / xsecdeep
       - seksjonsbunner. Fargen paa seksjonen ligger i navnet.
     xgrid4 / xgrid3 / xgrid2   rutenett
     xrow                       flex-rad
     xcard                      kort
     xgal                       murverksgalleri (bilder i eget format)
     xnum                       noekkeltall
     xshow                      interaktiv fagfeltliste
     xeye                       etikett over overskriften
     xlead                      ingress
     xfoto / xvideo / xweb / xmark  fagfeltfarge paa et element
   ========================================================================= */

:root{
  /* noytrale bunner */
  --mc-ink:#08080C;
  --mc-bone:#F2EFE9;
  --mc-sand:#EAE3D6;
  /* fargede bunner */
  --mc-plum:#120A1A;
  --mc-teal:#041614;
  --mc-deep:#0B0407;
  /* fagfeltfarger */
  --mc-foto:#F26522;
  --mc-video:#6473F5;
  --mc-web:#12A594;
  --mc-mark:#E0457B;
  /* dempede varianter for lys bunn */
  --mc-foto-d:#A64308;
  --mc-video-d:#3A46B8;
  --mc-web-d:#0A6B60;
  --mc-mark-d:#A32351;

  --mc-max:1280px;
  --mc-edge:clamp(20px,5vw,80px);
  --mc-blend:clamp(60px,7vw,118px);
  --mc-ease:cubic-bezier(.22,1,.36,1);
  --mc-r:22px;
}

/* ---------- paletter ---------- */
/* moerke bunner */
[class*="elementor-element-xsecink"],
[class*="elementor-element-xsecplum"],
[class*="elementor-element-xsecteal"],
[class*="elementor-element-xsecdeep"]{
  --fg:#FFFFFF;
  --fg-2:rgba(255,255,255,.66);
  --line:rgba(255,255,255,.13);
  --line-2:rgba(255,255,255,.24);
  --card:rgba(255,255,255,.05);
  --card-hi:rgba(255,255,255,.09);
  --acc:var(--mc-foto);
  --c-foto:var(--mc-foto); --c-video:var(--mc-video); --c-web:var(--mc-web); --c-mark:var(--mc-mark);
}
/* lyse bunner */
[class*="elementor-element-xsecbone"],
[class*="elementor-element-xsecsand"]{
  --fg:#14141A;
  --fg-2:rgba(20,20,26,.66);
  --line:rgba(20,20,26,.13);
  --line-2:rgba(20,20,26,.26);
  --card:rgba(255,255,255,.62);
  --card-hi:#FFFFFF;
  --acc:var(--mc-foto-d);
  --c-foto:var(--mc-foto-d); --c-video:var(--mc-video-d); --c-web:var(--mc-web-d); --c-mark:var(--mc-mark-d);
}

[class*="elementor-element-xsecink"]{ --sec:var(--mc-ink); }
[class*="elementor-element-xsecbone"]{ --sec:var(--mc-bone); }
[class*="elementor-element-xsecsand"]{ --sec:var(--mc-sand); }
[class*="elementor-element-xsecplum"]{ --sec:var(--mc-plum); --acc:var(--mc-video); }
[class*="elementor-element-xsecteal"]{ --sec:var(--mc-teal); --acc:var(--mc-web); }
[class*="elementor-element-xsecdeep"]{ --sec:var(--mc-deep); }

/* ---------- seksjonsbasis ---------- */
body.mc27 .elementor > .e-con{
  position:relative;
  display:flex; flex-direction:column; align-items:stretch;
  padding-block:clamp(74px,8.6vw,144px);
  padding-inline:max(var(--mc-edge), calc((100% - var(--mc-max)) / 2));
  background-color:var(--sec,var(--mc-ink));
  background-image:linear-gradient(to bottom, var(--prev,transparent) 0, var(--prev0,transparent) var(--mc-blend));
  color:var(--fg);
  isolation:isolate;
}
body.mc27 .elementor > .e-con > *{ width:100%; max-width:100%; }
body.mc27 .elementor > .e-con::before,
body.mc27 .elementor > .e-con::after{ content:none !important; }

/* Overgangsfargen males i toppen. Naar en seksjon har overgang, maa
   teksten starte nedenfor den, ellers staar moerk tekst paa moerk fade. */


/* ---------- typografi ---------- */
body.mc27 .elementor{ font-family:"Manrope",system-ui,-apple-system,sans-serif; overflow-x:hidden; }
body.mc27 h1,body.mc27 h2,body.mc27 h3,body.mc27 h4,body.mc27 h5,body.mc27 h6{
  font-family:"Syne",system-ui,sans-serif; margin:0; color:var(--fg);
}
body.mc27 .elementor-widget-text-editor,body.mc27 p,body.mc27 li{
  font-family:"Manrope",system-ui,sans-serif;
  color:var(--fg-2);
  font-size:clamp(15px,1.05vw,17px);
  line-height:1.68;
}
body.mc27 p{ margin:0 0 .8em; } body.mc27 p:last-child{ margin-bottom:0; }
body.mc27 h1{ font-size:clamp(42px,7.4vw,110px); font-weight:800; line-height:.94; letter-spacing:-.035em; }
body.mc27 h2{ font-size:clamp(26px,3.4vw,50px); font-weight:700; line-height:1.08; letter-spacing:-.022em; }
body.mc27 h3{ font-size:clamp(21px,2.1vw,30px); font-weight:700; line-height:1.15; letter-spacing:-.015em; }
body.mc27 h4{ font-size:clamp(17px,1.5vw,21px); font-weight:700; line-height:1.25; }
body.mc27 h6,
body.mc27 [class*="elementor-element-xeye"] .elementor-heading-title{
  font-family:"Manrope",sans-serif;
  font-size:11.5px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
  line-height:1.4;
  color:var(--acc);
}
/* etikett med prikk foran */
body.mc27 [class*="elementor-element-xeye"] .elementor-heading-title::before{
  content:""; display:inline-block; vertical-align:middle;
  width:7px; height:7px; border-radius:50%; background:var(--acc);
  margin-right:10px; margin-top:-2px;
}
body.mc27 [class*="elementor-element-xlead"] p{
  font-size:clamp(16px,1.35vw,20px); line-height:1.6; color:var(--fg-2);
}

/* fagfeltfarge paa enkeltelementer */
body.mc27 [class*="elementor-element-xfoto"]{ --acc:var(--c-foto); }
body.mc27 [class*="elementor-element-xvideo"]{ --acc:var(--c-video); }
body.mc27 [class*="elementor-element-xweb"]{ --acc:var(--c-web); }
body.mc27 [class*="elementor-element-xmark"]{ --acc:var(--c-mark); }
/* =========================================================================
   KOMPONENTER
   ========================================================================= */

/* ---------- rutenett og rader ---------- */
body.mc27 [class*="elementor-element-xgrid4"]{ display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(12px,1.3vw,20px); }
body.mc27 [class*="elementor-element-xgrid3"]{ display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(14px,1.6vw,26px); }
body.mc27 [class*="elementor-element-xgrid2"]{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(16px,2.4vw,44px); }
body.mc27 [class*="elementor-element-xgridw"]{ display:grid !important; grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr); gap:clamp(30px,5vw,80px); align-items:center; }
body.mc27 [class*="elementor-element-xrow"]{ display:flex !important; flex-direction:row !important; flex-wrap:wrap; gap:12px; width:auto !important; }
body.mc27 [class*="elementor-element-xrow"] > .elementor-widget{ width:auto !important; }
body.mc27 [class*="elementor-element-xsplit"]{ display:flex !important; flex-direction:row !important; justify-content:space-between; align-items:flex-end; gap:26px; flex-wrap:wrap; }
body.mc27 [class*="elementor-element-xstack"]{ display:flex !important; flex-direction:column !important; gap:clamp(14px,1.5vw,22px); align-items:flex-start; }
body.mc27 [class*="elementor-element-xhead"]{ display:flex !important; flex-direction:column !important; gap:14px; max-width:62ch; margin-bottom:clamp(34px,4vw,60px); }

/* ---------- knapper ---------- */
body.mc27 .elementor-button{
  display:inline-flex; align-items:center; gap:9px;
  font-family:"Manrope",sans-serif;
  font-size:14.5px; font-weight:600;
  padding:15px 27px; border-radius:999px; border:1px solid transparent;
  background:var(--mc-foto); color:#0B0B0F;
  text-decoration:none; line-height:1; position:relative; overflow:hidden;
  transition:transform .38s var(--mc-ease), background .35s ease, border-color .35s ease, color .35s ease, box-shadow .35s ease;
}
body.mc27 .elementor-button:hover{ transform:translateY(-2px); background:#FF8A4C; box-shadow:0 14px 34px -14px rgba(242,101,34,.7); }
body.mc27 [class*="elementor-element-xghost"] .elementor-button{
  background:transparent; color:var(--fg); border-color:var(--line-2);
}
body.mc27 [class*="elementor-element-xghost"] .elementor-button:hover{
  background:transparent; border-color:var(--acc); color:var(--acc); box-shadow:none;
}
body.mc27 [class*="elementor-element-xlink"] .elementor-button{
  background:transparent; border:0; padding:0; border-radius:0;
  color:var(--fg); font-size:13.5px;
}
body.mc27 [class*="elementor-element-xlink"] .elementor-button-text::after{
  content:"\2192"; margin-left:8px; display:inline-block;
  transition:transform .35s var(--mc-ease);
}
body.mc27 [class*="elementor-element-xlink"] .elementor-button:hover{
  transform:none; background:transparent; box-shadow:none; color:var(--acc);
}
body.mc27 [class*="elementor-element-xlink"] .elementor-button:hover .elementor-button-text::after{ transform:translateX(6px); }

/* ---------- kort med lysflekk under pekeren ---------- */
body.mc27 [class*="elementor-element-xcard"]{
  position:relative;
  display:flex !important; flex-direction:column !important; gap:10px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--mc-r);
  padding:clamp(22px,2.1vw,32px) !important;
  overflow:hidden;
  transition:transform .55s var(--mc-ease), border-color .4s ease, background .4s ease, box-shadow .5s ease;
}
body.mc27 [class*="elementor-element-xcard"]::after{
  content:"" !important;
  position:absolute; inset:0; z-index:0; pointer-events:none;
  border-radius:inherit;
  opacity:0; transition:opacity .45s ease;
  background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),
             color-mix(in srgb, var(--acc) 26%, transparent), transparent 68%);
}
body.mc27 [class*="elementor-element-xcard"]:hover::after{ opacity:1; }
body.mc27 [class*="elementor-element-xcard"] > *{ position:relative; z-index:1; }
body.mc27 [class*="elementor-element-xcard"]:hover{
  transform:translateY(-7px);
  border-color:color-mix(in srgb, var(--acc) 55%, transparent);
  background:var(--card-hi);
}
body.mc27 [class*="elementor-element-xcard"] .elementor-widget-button{ margin-top:auto; padding-top:14px; }
body.mc27 [class*="elementor-element-xcard"] h6{ color:var(--acc); }

/* nummer i hjornet paa kortet */
body.mc27 [class*="elementor-element-xnr"] .elementor-heading-title{
  font-family:"Syne",sans-serif;
  font-size:13px; font-weight:700;
  letter-spacing:.1em;
  color:var(--acc); text-transform:none;
}
body.mc27 [class*="elementor-element-xnr"] .elementor-heading-title::before{ content:none; }

/* ---------- noekkeltall ---------- */
body.mc27 [class*="elementor-element-xnums"]{
  display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0 !important; border-top:1px solid var(--line);
  margin-top:clamp(52px,6.5vw,100px) !important;
}
body.mc27 [class*="elementor-element-xnum0"]{
  display:flex !important; flex-direction:column !important; gap:8px;
  border-left:1px solid var(--line);
  padding:clamp(22px,2.1vw,30px) clamp(16px,1.8vw,26px) !important;
  background:transparent !important;
}
body.mc27 [class*="elementor-element-xnums"] > .e-con:first-child{ border-left:0; padding-left:0 !important; }
body.mc27 [class*="elementor-element-xnum0"] .elementor-counter,
body.mc27 [class*="elementor-element-xnum0"] h3{
  font-family:"Syne",sans-serif;
  font-size:clamp(30px,3.4vw,46px); font-weight:800;
  line-height:1; color:var(--acc);
}
body.mc27 [class*="elementor-element-xnum0"] .elementor-counter-number-wrapper{
  font-family:"Syne",sans-serif;
  font-size:clamp(30px,3.4vw,46px); font-weight:800;
  color:var(--acc); line-height:1;
}
body.mc27 [class*="elementor-element-xnum0"] .elementor-counter-title{
  font-family:"Manrope",sans-serif;
  font-size:12.5px; font-weight:500;
  letter-spacing:.05em; color:var(--fg-2);
  text-align:left; margin-top:8px;
}
body.mc27 [class*="elementor-element-xnum0"] h6{ color:var(--fg-2); text-transform:none; letter-spacing:.05em; font-size:12.5px; }
body.mc27 [class*="elementor-element-xnum0"] h6::before{ content:none; }

/* ---------- galleri: murverk, hvert bilde i sitt eget format ---------- */
body.mc27 [class*="elementor-element-xgal"]{
  display:block !important;
  columns:3; column-gap:clamp(12px,1.2vw,18px);
  margin-top:clamp(34px,4vw,62px);
}
body.mc27 [class*="elementor-element-xgal"] > .elementor-widget{
  display:block; width:100% !important;
  break-inside:avoid; -webkit-column-break-inside:avoid; page-break-inside:avoid;
  margin:0 0 clamp(12px,1.2vw,18px);
  border-radius:16px; overflow:hidden; position:relative;
}
body.mc27 .elementor-widget-image img{ width:100%; height:auto; display:block; border-radius:16px; }
body.mc27 [class*="elementor-element-xgal"] img{
  transition:transform .8s var(--mc-ease), filter .6s ease;
}
body.mc27 [class*="elementor-element-xgal"] > .elementor-widget:hover img{
  transform:scale(1.035); filter:saturate(1.12) contrast(1.03);
}
body.mc27 .elementor-widget-image figure,
body.mc27 .elementor-widget-image .elementor-widget-container{ margin:0; }
body.mc27 img{ max-width:100%; height:auto; }
/* ---------- nordlys som folger pekeren ---------- */
body.mc27 [class*="elementor-element-xsecinkaura"],
body.mc27 [class*="elementor-element-xsecdeepaura"],
body.mc27 [class*="elementor-element-xsecplumaura"],
body.mc27 [class*="elementor-element-xsectealaura"]{
  background-image:
    radial-gradient(700px circle at var(--mx,72%) var(--my,16%), color-mix(in srgb, var(--mc-foto) 26%, transparent), transparent 62%),
    radial-gradient(560px circle at calc(100% - var(--mx,72%)) 86%, color-mix(in srgb, var(--mc-video) 20%, transparent), transparent 62%),
    radial-gradient(460px circle at 10% 34%, color-mix(in srgb, var(--mc-web) 16%, transparent), transparent 60%);
  transition:background-position .2s linear;
}

/* ---------- rulletekst i fire farger ---------- */
body.mc27 [class*="elementor-element-xmarq"]{
  padding-block:clamp(16px,2.2vw,30px) !important;
  padding-inline:0 !important;
  border-block:1px solid var(--line);
  overflow:hidden;
}
body.mc27 [class*="elementor-element-xtrack"]{
  display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important;
  width:max-content !important; max-width:none !important; gap:0 !important;
  animation:mc-marq 42s linear infinite;
}
body.mc27 [class*="elementor-element-xtrack"] > .elementor-widget{ width:auto !important; }
body.mc27 [class*="elementor-element-xtrack"] h2{
  font-size:clamp(30px,5.4vw,78px); font-weight:800;
  white-space:nowrap; padding-right:.3em; margin:0 !important;
  background:linear-gradient(96deg, var(--mc-foto) 0%, var(--mc-mark) 32%, var(--mc-video) 62%, var(--mc-web) 100%);
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
}
@keyframes mc-marq{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ---------- interaktiv fagfeltliste ---------- */
body.mc27 [class*="elementor-element-xshow"]{ display:flex !important; flex-direction:column !important; gap:0 !important; }
body.mc27 [class*="elementor-element-xrw"]{
  position:relative;
  display:grid !important;
  grid-template-columns:clamp(48px,5vw,84px) minmax(0,1fr) minmax(0,26ch) auto;
  align-items:center; gap:clamp(14px,2vw,30px);
  padding:clamp(22px,2.6vw,38px) 0 !important;
  border-top:1px solid var(--line);
  transition:padding-left .5s var(--mc-ease);
}
body.mc27 [class*="elementor-element-xshow"] > .e-con:last-child{ border-bottom:1px solid var(--line); }
body.mc27 [class*="elementor-element-xrw"]:hover{ padding-left:clamp(8px,1.4vw,22px) !important; }
body.mc27 [class*="elementor-element-xrw"] h3{
  font-size:clamp(26px,3.6vw,54px);
  transition:color .4s ease;
}
body.mc27 [class*="elementor-element-xrw"]:hover h3{ color:var(--acc); }
body.mc27 [class*="elementor-element-xrw"] .elementor-widget-image{
  position:absolute; z-index:4; pointer-events:none;
  right:clamp(10px,6vw,90px); top:50%;
  width:min(320px,26vw);
  opacity:0;
  transform:translateY(-50%) translateX(calc((var(--mxr,.5) - .5) * 46px)) scale(.94) rotate(-3deg);
  transition:opacity .45s ease, transform .7s var(--mc-ease);
}
body.mc27 [class*="elementor-element-xrw"]:hover .elementor-widget-image{
  opacity:1;
  transform:translateY(-50%) translateX(calc((var(--mxr,.5) - .5) * 46px)) scale(1) rotate(0deg);
}
body.mc27 [class*="elementor-element-xrw"] .elementor-widget-image img{
  border-radius:14px; box-shadow:0 30px 70px -30px rgba(0,0,0,.85);
}

/* ---------- trekkspill ---------- */
body.mc27 .elementor-accordion{ border:0; }
body.mc27 .elementor-accordion .elementor-accordion-item{
  border:0; border-top:1px solid var(--line); background:transparent;
}
body.mc27 .elementor-accordion .elementor-accordion-item:last-child{ border-bottom:1px solid var(--line); }
body.mc27 .elementor-accordion .elementor-tab-title{
  background:transparent !important; border:0 !important;
  padding:clamp(18px,2vw,26px) 0 !important;
  font-family:"Syne",sans-serif;
  font-size:clamp(17px,1.7vw,23px); font-weight:700;
  color:var(--fg); letter-spacing:-.01em;
  transition:color .35s ease;
}
body.mc27 .elementor-accordion .elementor-tab-title:hover,
body.mc27 .elementor-accordion .elementor-tab-title.elementor-active{ color:var(--acc); }
body.mc27 .elementor-accordion .elementor-tab-title .elementor-accordion-icon{ color:var(--acc); }
body.mc27 .elementor-accordion .elementor-tab-content{
  background:transparent !important; border:0 !important;
  padding:0 0 clamp(20px,2vw,28px) !important;
  max-width:70ch;
}

/* ---------- sitat ---------- */
body.mc27 [class*="elementor-element-xquote"] .elementor-heading-title{
  font-family:"Syne",sans-serif;
  font-size:clamp(24px,3.2vw,46px); font-weight:600;
  font-style:italic; line-height:1.16; letter-spacing:-.02em;
  max-width:22ch;
}
body.mc27 [class*="elementor-element-xquote"] .elementor-heading-title::before{ content:none; }

/* ---------- prisliste ---------- */
body.mc27 [class*="elementor-element-xcard"] ul{ list-style:none; margin:0; padding:0; display:grid; gap:9px; }
body.mc27 [class*="elementor-element-xcard"] li{ position:relative; padding-left:22px; }
body.mc27 [class*="elementor-element-xcard"] li::before{
  content:""; position:absolute; left:0; top:.62em;
  width:8px; height:8px; border-radius:50%; background:var(--acc);
}

/* ---------- e-postlenke ---------- */
body.mc27 [class*="elementor-element-xmail"] a{
  color:var(--acc); text-decoration:none;
  border-bottom:1px solid color-mix(in srgb, var(--acc) 40%, transparent);
  padding-bottom:4px; transition:border-color .3s ease;
}
body.mc27 [class*="elementor-element-xmail"] a:hover{ border-bottom-color:var(--acc); }

/* ---------- sentrert seksjon ---------- */
body.mc27 [class*="elementor-element-xsecdeep"]{ align-items:center; text-align:center; }
body.mc27 [class*="elementor-element-xsecdeep"] > *{ margin-inline:auto; }
body.mc27 [class*="elementor-element-xsecdeep"] [class*="elementor-element-xeye"] .elementor-heading-title::before{ margin-right:10px; }
/* =========================================================================
   BEVEGELSE - alt er scroll-drevet CSS, ingen bibliotek
   ========================================================================= */
@media (prefers-reduced-motion: reduce){
  body.mc27 [class*="elementor-element-xtrack"]{ animation:none !important; }
}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    body.mc27 .elementor > .e-con > *:not([class*="elementor-element-xtrack"]){
      animation:mc-rise linear both; animation-timeline:view(); animation-range:entry 2% entry 40%;
    }
    body.mc27 [class*="elementor-element-xgal"] > .elementor-widget,
    body.mc27 [class*="elementor-element-xgrid4"] > .e-con,
    body.mc27 [class*="elementor-element-xgrid3"] > .e-con,
    body.mc27 [class*="elementor-element-xgrid2"] > .e-con,
    body.mc27 [class*="elementor-element-xnums"] > .e-con,
    body.mc27 [class*="elementor-element-xshow"] > .e-con{
      animation:mc-rise linear both; animation-timeline:view(); animation-range:entry 2% entry 38%;
    }
    body.mc27 [class*="elementor-element-ximg"]{
      animation:mc-reveal linear both; animation-timeline:view(); animation-range:entry 0% entry 46%;
    }
    body.mc27 [class*="elementor-element-xrw"] .elementor-widget-image{ animation:none !important; }
  }
}
@keyframes mc-rise{ from{ opacity:0; transform:translateY(28px); } to{ opacity:1; transform:none; } }
@keyframes mc-reveal{ from{ opacity:0; clip-path:inset(18% 0 0 0 round 16px); } to{ opacity:1; clip-path:inset(0 round 16px); } }

/* =========================================================================
   HEADER OVER SIDENE
   ========================================================================= */
body.mc27 .mc26-chrome-header{
  background:rgba(8,8,12,.72);
  backdrop-filter:blur(16px) saturate(1.25);
  -webkit-backdrop-filter:blur(16px) saturate(1.25);
  border-bottom:1px solid rgba(255,255,255,.09);
}
body.mc27 .mc26-chrome-footer{ background:#000; }

/* =========================================================================
   RESPONSIVT
   ========================================================================= */
@media (max-width:1080px){
  body.mc27 [class*="elementor-element-xgrid4"]{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.mc27 [class*="elementor-element-xgal"]{ columns:2; }
  body.mc27 [class*="elementor-element-xnums"]{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.mc27 [class*="elementor-element-xnums"] > .e-con:nth-child(3){ border-left:0; padding-left:0 !important; }
  body.mc27 [class*="elementor-element-xnums"] > .e-con:nth-child(n+3){ border-top:1px solid var(--line); }
}
@media (max-width:900px){
  body.mc27 [class*="elementor-element-xgridw"]{ grid-template-columns:minmax(0,1fr); gap:32px; }
  body.mc27 [class*="elementor-element-xgrid3"]{ grid-template-columns:minmax(0,1fr); }
  body.mc27 [class*="elementor-element-xgrid2"]{ grid-template-columns:minmax(0,1fr); }
  body.mc27 [class*="elementor-element-xrw"]{ grid-template-columns:minmax(0,1fr); gap:10px; }
  body.mc27 [class*="elementor-element-xrw"] .elementor-widget-image{
    position:relative; right:auto; top:auto; width:100%;
    opacity:1; transform:none; margin-top:14px;
  }
  body.mc27 [class*="elementor-element-xrw"]:hover .elementor-widget-image{ transform:none; }
}
@media (max-width:600px){
  body.mc27 [class*="elementor-element-xgrid4"]{ grid-template-columns:minmax(0,1fr); }
  body.mc27 [class*="elementor-element-xgal"]{ columns:1; }
  body.mc27 [class*="elementor-element-xnums"]{ grid-template-columns:minmax(0,1fr); }
  body.mc27 [class*="elementor-element-xnums"] > .e-con{ border-left:0 !important; padding-left:0 !important; border-top:1px solid var(--line); }
  body.mc27 [class*="elementor-element-xnums"] > .e-con:first-child{ border-top:0; }
  body.mc27 [class*="elementor-element-xrow"]{ width:100% !important; }
  body.mc27 [class*="elementor-element-xrow"] > .elementor-widget{ flex:1 1 100%; width:100% !important; }
  body.mc27 [class*="elementor-element-xrow"] .elementor-button{ width:100%; justify-content:center; }
  body.mc27 .elementor > .e-con{ padding-block:clamp(40px,9vw,54px); }
}

/* ---------- smaadetaljer ---------- */
body.mc27 ::selection{ background:var(--mc-foto); color:#0B0B0F; }
body.mc27 a{ color:inherit; }
body.mc27 .elementor > .e-con > .e-con{ background-color:transparent; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
/* =========================================================================
   FARGEVEKSLING - kort og rader arver ikke samme aksent, de gaar i syklus
   gjennom de fire fagfeltfargene. Da blir ikke et rutenett en vegg av
   samme farge.
   ========================================================================= */
body.mc27 [class*="elementor-element-xgrid4"] > .e-con:nth-child(4n+1),
body.mc27 [class*="elementor-element-xgrid3"] > .e-con:nth-child(4n+1),
body.mc27 [class*="elementor-element-xgrid2"] > .e-con:nth-child(4n+1),
body.mc27 [class*="elementor-element-xspec"] > .e-con:nth-child(4n+1),
body.mc27 [class*="elementor-element-xshow"] > .e-con:nth-child(4n+1){ --acc:var(--c-foto); }
body.mc27 [class*="elementor-element-xgrid4"] > .e-con:nth-child(4n+2),
body.mc27 [class*="elementor-element-xgrid3"] > .e-con:nth-child(4n+2),
body.mc27 [class*="elementor-element-xgrid2"] > .e-con:nth-child(4n+2),
body.mc27 [class*="elementor-element-xspec"] > .e-con:nth-child(4n+2),
body.mc27 [class*="elementor-element-xshow"] > .e-con:nth-child(4n+2){ --acc:var(--c-video); }
body.mc27 [class*="elementor-element-xgrid4"] > .e-con:nth-child(4n+3),
body.mc27 [class*="elementor-element-xgrid3"] > .e-con:nth-child(4n+3),
body.mc27 [class*="elementor-element-xgrid2"] > .e-con:nth-child(4n+3),
body.mc27 [class*="elementor-element-xspec"] > .e-con:nth-child(4n+3),
body.mc27 [class*="elementor-element-xshow"] > .e-con:nth-child(4n+3){ --acc:var(--c-web); }
body.mc27 [class*="elementor-element-xgrid4"] > .e-con:nth-child(4n+4),
body.mc27 [class*="elementor-element-xgrid3"] > .e-con:nth-child(4n+4),
body.mc27 [class*="elementor-element-xgrid2"] > .e-con:nth-child(4n+4),
body.mc27 [class*="elementor-element-xspec"] > .e-con:nth-child(4n+4),
body.mc27 [class*="elementor-element-xshow"] > .e-con:nth-child(4n+4){ --acc:var(--c-mark); }

/* =========================================================================
   SPESIFIKASJONSARK - for lister som "hva som er med".
   Nummer, etikett i fagfeltfarge, setning. Leses som et datablad,
   ikke som ti like bokser.
   ========================================================================= */
body.mc27 [class*="elementor-element-xspec"]{
  display:flex !important; flex-direction:column !important; gap:0 !important;
  border-top:1px solid var(--line);
}
body.mc27 [class*="elementor-element-xsprow"]{
  position:relative;
  display:grid !important;
  grid-template-columns:3.4ch minmax(0,15ch) minmax(0,1fr);
  gap:clamp(14px,2.4vw,38px);
  align-items:baseline;
  padding:clamp(15px,1.7vw,23px) 0 !important;
  border-bottom:1px solid var(--line);
  background:transparent !important;
  transition:padding-left .45s var(--mc-ease), background .4s ease;
}
body.mc27 [class*="elementor-element-xsprow"]:hover{
  padding-left:clamp(8px,1.2vw,18px) !important;
  background:color-mix(in srgb, var(--acc) 7%, transparent) !important;
}
body.mc27 [class*="elementor-element-xsprow"] h6{
  color:var(--fg-2); letter-spacing:.06em;
  font-size:12px;
}
body.mc27 [class*="elementor-element-xsprow"] h6::before{ content:none; }
body.mc27 [class*="elementor-element-xsprow"] h4{
  color:var(--acc);
  font-size:clamp(15px,1.35vw,19px);
  letter-spacing:-.01em;
}
body.mc27 [class*="elementor-element-xsprow"] .elementor-widget-text-editor{ max-width:62ch; }
@media (max-width:760px){
  body.mc27 [class*="elementor-element-xsprow"]{ grid-template-columns:3.4ch minmax(0,1fr); gap:6px 14px; }
  body.mc27 [class*="elementor-element-xsprow"] .elementor-widget-text-editor{ grid-column:2; }
}

/* stor sitatlinje mellom seksjoner */
body.mc27 [class*="elementor-element-xbig"] .elementor-heading-title{
  font-size:clamp(28px,4.6vw,68px); font-weight:800;
  line-height:1.02; letter-spacing:-.03em; max-width:18ch;
}
body.mc27 [class*="elementor-element-xbig"] .elementor-heading-title::before{ content:none; }
/* =========================================================================
   KONTAKTSKJEMA (Contact Form 7)
   ========================================================================= */
body.mc27 .wpcf7{ font-family:"Manrope",sans-serif; }
body.mc27 .wpcf7 p{ margin:0 0 16px; color:var(--fg-2); }
body.mc27 .wpcf7 label{
  display:block; font-size:11.5px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--fg-2); margin-bottom:9px;
}
body.mc27 .wpcf7 input:not([type=submit]):not([type=checkbox]):not([type=radio]),
body.mc27 .wpcf7 textarea,
body.mc27 .wpcf7 select{
  width:100%; display:block; box-sizing:border-box;
  background:var(--card-hi);
  border:1px solid var(--line-2); border-radius:14px;
  padding:13px 16px;
  color:var(--fg); font-family:"Manrope",sans-serif; font-size:15px; line-height:1.4;
  transition:border-color .3s ease, box-shadow .3s ease;
}
body.mc27 .wpcf7 textarea{ min-height:150px; resize:vertical; }
body.mc27 .wpcf7 input::placeholder,
body.mc27 .wpcf7 textarea::placeholder{ color:var(--fg-2); opacity:.7; }
body.mc27 .wpcf7 input:focus,
body.mc27 .wpcf7 textarea:focus,
body.mc27 .wpcf7 select:focus{
  outline:none; border-color:var(--mc-foto);
  box-shadow:0 0 0 3px color-mix(in srgb, var(--mc-foto) 22%, transparent);
}
body.mc27 .wpcf7 input[type=submit],
body.mc27 .wpcf7 button[type=submit]{
  width:auto; display:inline-flex; align-items:center;
  background:var(--mc-foto); color:#0B0B0F;
  border:0; border-radius:999px; padding:15px 30px;
  font-family:"Manrope",sans-serif; font-size:14.5px; font-weight:600;
  cursor:pointer;
  transition:transform .35s var(--mc-ease), background .3s ease, box-shadow .3s ease;
}
body.mc27 .wpcf7 input[type=submit]:hover,
body.mc27 .wpcf7 button[type=submit]:hover{
  transform:translateY(-2px); background:#FF8A4C;
  box-shadow:0 14px 34px -14px rgba(242,101,34,.7);
}
body.mc27 .wpcf7-not-valid-tip{ color:#E0457B; font-size:12.5px; margin-top:6px; }
body.mc27 .wpcf7 form .wpcf7-response-output{
  border-radius:14px; border-color:var(--line-2);
  color:var(--fg); margin:18px 0 0; padding:14px 16px; font-size:14px;
}
body.mc27 .wpcf7-spinner{ filter:invert(.5); }
body.mc27 [class*="elementor-element-xform"]{ padding:clamp(24px,2.6vw,40px) !important; }

/* ---- Elementor editing and polished image interaction ---- */
/* Widget-level typography settings stay editable in Elementor. */
body.mc27 .elementor .elementor-widget,
body.mc27 .elementor .elementor-widget-heading .elementor-heading-title,
body.mc27 .elementor .elementor-widget-text-editor,
body.mc27 .elementor .elementor-button{font-synthesis:none;}

/* Keep the footer compact and the email close to its studio description. */
body.mc27 footer.elementor-element-mcf{padding-top:34px;padding-bottom:28px;}
body.mc27 footer .elementor-element-mcfa{row-gap:3px !important;}
body.mc27 footer .elementor-element-mcflogo{min-height:0 !important;}
body.mc27 footer .elementor-element-mcflogo img{display:block;width:100px;height:auto;max-height:40px;object-fit:contain;object-position:left center;}
body.mc27 footer .elementor-element-mcfrow{row-gap:24px !important;}
@media(max-width:767px){
  body.mc27 footer.elementor-element-mcf{padding-top:24px;padding-bottom:20px;}
  body.mc27 footer .elementor-element-mcfrow{row-gap:18px !important;}
}

/* Pointer-controlled gallery: restrained depth, soft light and image parallax. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  body.mc27 .elementor-element-8dbff352 > .e-con{
    transform-style:preserve-3d;will-change:transform;
    transition:transform .42s cubic-bezier(.22,1,.36,1),box-shadow .45s ease,filter .4s ease;
    box-shadow:0 12px 34px -26px rgba(0,0,0,.72);
  }
  body.mc27 .elementor-element-8dbff352 > .e-con::after{
    content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;
    opacity:0;transition:opacity .35s ease;
    background:radial-gradient(280px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.23),transparent 62%),
               linear-gradient(135deg,rgba(255,255,255,.13),transparent 38%,rgba(0,0,0,.12));
  }
  body.mc27 .elementor-element-8dbff352 > .e-con:hover{
    transform:perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)) translateY(-4px);
    box-shadow:0 26px 52px -26px rgba(0,0,0,.78);
  }
  body.mc27 .elementor-element-8dbff352 > .e-con:hover::after{opacity:1;}
  body.mc27 .elementor-element-8dbff352 img{
    transform:translate3d(var(--img-x,0px),var(--img-y,0px),0) scale(1);
    transition:transform .65s cubic-bezier(.22,1,.36,1),filter .5s ease;will-change:transform;
  }
  body.mc27 .elementor-element-8dbff352 > .e-con:hover img{
    transform:translate3d(var(--img-x,0px),var(--img-y,0px),0) scale(1.045);
    filter:saturate(1.13) contrast(1.035);
  }
}
@media (prefers-reduced-motion:reduce){
  body.mc27 .elementor-element-8dbff352 > .e-con,
  body.mc27 .elementor-element-8dbff352 img{transition:none !important;transform:none !important;}
}


/* Preserve each portrait/landscape frame while filling its own card. */
body.mc27 .elementor-element-8dbff352 > .e-con > .elementor-widget-image{
  width:100% !important;height:100% !important;align-self:stretch;
}
body.mc27 .elementor-element-8dbff352 > .e-con > .elementor-widget-image .elementor-widget-container,
body.mc27 .elementor-element-8dbff352 > .e-con > .elementor-widget-image figure{
  width:100%;height:100%;
}
body.mc27 .elementor-element-8dbff352 > .e-con > .elementor-widget-image img{
  width:100%;height:100% !important;object-fit:cover !important;object-position:center;
}
