.elementor-widget-section .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-section .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-673 .elementor-element.elementor-element-750a5991{padding:0px 0px 0px 0px;}.elementor-673 .elementor-element.elementor-element-300a058b > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:0px;}.elementor-widget-html .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-html .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-673 .elementor-element.elementor-element-1f4274a2{padding:0px 0px 0px 0px;}.elementor-673 .elementor-element.elementor-element-5bab0170 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:0px;}.elementor-673 .elementor-element.elementor-element-53cca861{padding:0px 0px 0px 0px;}.elementor-673 .elementor-element.elementor-element-740169d2 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:0px;}.elementor-673 .elementor-element.elementor-element-293b0e8d{padding:0px 0px 0px 0px;}.elementor-673 .elementor-element.elementor-element-5fc4a6b1 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:0px;}.elementor-widget-shortcode .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-shortcode .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-673 .elementor-element.elementor-element-2e4de529{padding:0px 0px 0px 0px;}.elementor-673 .elementor-element.elementor-element-c535208 > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:0px;}@media(max-width:1024px){.elementor-widget-section .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-section .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-html .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-html .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-shortcode .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-shortcode .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}}@media(max-width:767px){.elementor-widget-section .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-section .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-html .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-html .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-shortcode .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-shortcode .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}}/* Start custom CSS *//* FRAYMFUL WORK — DESIGN TOKENS */
:root{
  --bg:#0A1A25; --bg-1:#141414; --bg-2:#1E342C;
  --ink:#FEFFFF; --ink-dim:#DAE3E6; --ink-mute:rgba(218,227,230,0.55);
  --line:rgba(218,227,230,0.10); --line-strong:rgba(218,227,230,0.22);
  --accent:#FFF4DE;
  --display:'Björn',system-ui,sans-serif;
  --body:'Plus Jakarta Sans',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
body{ background: var(--bg); color: var(--ink); }

/* HERO */
.fr-hero{ position:relative; min-height:560px; overflow:hidden; isolation:isolate; }
@media (max-width:880px){ .fr-hero{ height:auto; min-height:0; } }
.fr-hero::before{
  content:""; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(180deg, rgba(10,26,37,0.45) 0%, rgba(10,26,37,0.28) 38%, rgba(10,26,37,0.85) 88%, var(--bg) 100%);
}
.fr-hero::after{
  content:""; position:absolute; inset:0; z-index:3; pointer-events:none; opacity:.6;
  background:radial-gradient(120% 80% at 50% 110%, rgba(10,26,37,0.9), transparent 55%);
}
.fr-hero > .elementor-container{ position:relative; z-index:4; }

.fr-hero-eyebrow .elementor-widget-container{
  font-family:var(--mono) !important; font-size:12px !important;
  letter-spacing:0.26em !important; text-transform:uppercase !important;
  color:var(--ink) !important; display:flex; align-items:center; gap:12px;
}
.fr-hero-eyebrow .elementor-widget-container::before{
  content:""; width:6px; height:6px; border-radius:50%;
  background:var(--accent); box-shadow:0 0 0 3px rgba(255,244,222,0.18);
  flex-shrink:0;
}
.fr-hero-title .elementor-heading-title{
  font-family:var(--display) !important; font-weight:400 !important;
  font-size:clamp(40px,6vw,100px) !important; line-height:0.96 !important;
  text-transform:uppercase !important; letter-spacing:-0.01em !important;
  margin:0 !important; max-width:16ch; color:var(--ink) !important;
}
.fr-hero-title .elementor-heading-title .light{ font-weight:100; color:var(--ink-dim); }
.fr-hero-oneliner .elementor-widget-container{
  font-family:var(--body) !important; font-size:clamp(15px,1.2vw,19px) !important;
  line-height:1.55 !important; font-weight:300 !important;
  color:var(--ink-dim) !important; font-style:italic; max-width:60ch;
}
.fr-hero-meta .elementor-widget-container{
  border-top:1px solid rgba(254,255,255,0.12); padding-top:24px; margin-top:24px;
  font-family:var(--mono) !important; font-size:11px !important;
  letter-spacing:0.22em !important; text-transform:uppercase !important;
  color:var(--ink-mute) !important;
}
.fr-hero-meta strong{ color:var(--ink); font-weight:400; }

/* SUB-HERO */
.fr-subhero{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.fr-subhero-title .elementor-heading-title{
  font-family:var(--display) !important; font-weight:400 !important;
  font-size:clamp(28px,3.2vw,40px) !important; line-height:1.05 !important;
  text-transform:uppercase !important; letter-spacing:-0.005em !important;
  margin:0 !important; max-width:14ch; color:var(--ink) !important;
}
.fr-subhero-text .elementor-widget-container{
  font-family:var(--body) !important; font-size:17px !important;
  line-height:1.7 !important; color:var(--ink-dim) !important;
  font-weight:300 !important; max-width:60ch;
}

/* ARCHIVE POSTS — CASES GRID */
.fr-cases .elementor-posts-container{
  display:grid !important; grid-template-columns:repeat(2,1fr) !important;
  gap:32px !important;
}
@media (max-width:880px){
  .fr-cases .elementor-posts-container{ grid-template-columns:1fr !important; gap:24px !important; }
}
.fr-cases article.elementor-post{
  border:1px solid var(--line); border-radius:2px; overflow:hidden;
  background:var(--bg); transition:border-color .55s; margin:0 !important;
}
.fr-cases article.elementor-post:hover{ border-color:var(--line-strong); }
.fr-cases article.elementor-post:first-child{ grid-column:1 / -1; }
.fr-cases .elementor-post__thumbnail__link{ display:block; overflow:hidden; border-bottom:1px solid var(--line); }
.fr-cases .elementor-post__thumbnail{ aspect-ratio:16/10; position:relative; overflow:hidden; }
.fr-cases .elementor-post__thumbnail img{
  width:100% !important; height:100% !important; object-fit:cover !important;
  transition:transform 1.4s cubic-bezier(.2,.7,.15,1); filter:saturate(.92);
}
.fr-cases article.elementor-post:hover .elementor-post__thumbnail img{
  transform:scale(1.04); filter:saturate(1.02);
}
.fr-cases .elementor-post__thumbnail::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(10,26,37,0.05) 0%, rgba(10,26,37,0.40) 100%);
}
.fr-cases .elementor-post__text{ padding:32px 28px !important; }
.fr-cases article.elementor-post:first-child .elementor-post__text{ padding:48px !important; }
.fr-cases .elementor-post__meta-data{
  font-family:var(--mono) !important; font-size:10.5px !important;
  letter-spacing:0.22em !important; color:var(--ink-mute) !important;
  text-transform:uppercase !important; margin-bottom:14px !important;
}
.fr-cases .elementor-post__title a{
  font-family:var(--display) !important; font-weight:400 !important;
  font-size:clamp(24px,2.4vw,32px) !important; line-height:1.02 !important;
  text-transform:uppercase !important; letter-spacing:-0.005em !important;
  color:var(--ink) !important;
}
.fr-cases article.elementor-post:first-child .elementor-post__title a{
  font-size:clamp(34px,4vw,54px) !important;
}
.fr-cases .elementor-post__excerpt p{
  font-family:var(--body) !important; font-size:15px !important;
  line-height:1.55 !important; color:var(--ink-dim) !important;
  max-width:48ch;
}
.fr-cases .elementor-post__read-more{
  font-family:var(--mono) !important; font-size:10.5px !important;
  letter-spacing:0.22em !important; text-transform:uppercase !important;
  color:var(--accent) !important; padding-top:18px !important;
  border-top:1px solid var(--line); display:inline-block; margin-top:8px;
}
.fr-cases .elementor-post__read-more::after{ content:" →"; }

/* INDUSTRIES */
.fr-industries{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,var(--bg) 0%, rgba(30,52,44,0.12) 50%, var(--bg) 100%);
}
.fr-industries-title .elementor-heading-title{
  font-family:var(--display) !important; font-weight:400 !important;
  font-size:clamp(34px,4vw,52px) !important; line-height:0.98 !important;
  text-transform:uppercase !important; letter-spacing:-0.005em !important;
  margin:0 !important; color:var(--ink) !important;
}
.fr-industries-eyebrow .elementor-widget-container{
  font-family:var(--mono) !important; font-size:11px !important;
  letter-spacing:0.28em !important; text-transform:uppercase !important;
  color:var(--ink-mute) !important; display:flex; align-items:center; gap:12px;
}
.fr-industries-eyebrow .elementor-widget-container::before{
  content:""; width:6px; height:6px; border-radius:50%;
  background:var(--accent); box-shadow:0 0 0 3px rgba(255,244,222,0.18);
  flex-shrink:0;
}
.fr-industries-intro .elementor-widget-container{
  font-family:var(--body) !important; font-size:15.5px !important;
  line-height:1.7 !important; color:var(--ink-dim) !important;
  max-width:42ch; font-weight:300 !important;
}
.fr-industries-grid > .elementor-container{
  background:var(--line); border:1px solid var(--line); gap:1px;
}
.fr-ind-cell{ background:var(--bg); min-height:130px; padding:24px 22px; }
.fr-ind-cell .fr-ind-role .elementor-heading-title{
  font-family:var(--display) !important; font-weight:100 !important;
  font-size:18px !important; text-transform:uppercase !important;
  letter-spacing:0.02em !important; color:var(--ink) !important;
  line-height:1.1 !important; margin:0 0 8px !important;
}
.fr-ind-cell .fr-ind-tag .elementor-widget-container{
  font-family:var(--mono) !important; font-size:11px !important;
  letter-spacing:0.22em !important; color:var(--accent) !important;
  text-transform:uppercase !important;
}

/* CTA */
.fr-cta{ position:relative; overflow:hidden; text-align:center; }
.fr-cta::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(80% 80% at 50% 100%, rgba(30,52,44,0.30), transparent 60%);
}
.fr-cta > .elementor-container{ position:relative; z-index:1; }
.fr-cta-eyebrow .elementor-widget-container{
  font-family:var(--mono) !important; font-size:11px !important;
  letter-spacing:0.28em !important; color:var(--accent) !important;
  text-transform:uppercase !important; text-align:center;
}
.fr-cta-title .elementor-heading-title{
  font-family:var(--display) !important; font-weight:400 !important;
  font-size:clamp(40px,6vw,88px) !important; line-height:0.96 !important;
  text-transform:uppercase !important; letter-spacing:-0.01em !important;
  margin:0 auto !important; max-width:18ch; color:var(--ink) !important;
  text-align:center;
}
.fr-cta-sub .elementor-widget-container{
  font-family:var(--body) !important; font-size:17px !important;
  line-height:1.6 !important; color:var(--ink-dim) !important;
  font-weight:300 !important; max-width:50ch; margin:0 auto; text-align:center;
}
.fr-cta-primary .elementor-button,
.fr-cta-ghost .elementor-button{
  font-family:var(--body) !important; font-weight:600 !important;
  font-size:12px !important; letter-spacing:0.22em !important;
  text-transform:uppercase !important; padding:18px 34px !important;
  border-radius:999px !important; color:#fff !important;
  transition:all .55s cubic-bezier(.2,.7,.15,1) !important;
}
.fr-cta-primary .elementor-button{
  background:rgba(10,26,37,0.55) !important;
  border:1px solid rgba(255,255,255,0.9) !important;
}
.fr-cta-primary .elementor-button:hover{
  background:var(--accent) !important; border-color:var(--accent) !important;
  color:var(--bg-1) !important; transform:translateY(-1px);
  box-shadow:0 14px 36px -12px rgba(255,244,222,0.55) !important;
}
.fr-cta-ghost .elementor-button{
  background:rgba(10,26,37,0.35) !important;
  border:1px solid rgba(255,255,255,0.42) !important;
}
.fr-cta-ghost .elementor-button:hover{
  border-color:rgba(255,255,255,0.95) !important;
  background:rgba(255,255,255,0.06) !important;
}

/* FONT LOADING */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');
@font-face{ font-family:'Björn'; font-weight:400; font-display:swap;
  src:url('https://fraymful.com/wp-content/uploads/2026/03/bjorn_regular-webfont.woff2') format('woff2'); }
@font-face{ font-family:'Björn'; font-weight:100; font-display:swap;
  src:url('https://fraymful.com/wp-content/uploads/2026/03/bjorn_light-webfont.woff2') format('woff2'); }
@font-face{ font-family:'Björn'; font-weight:300; font-display:swap;
  src:url('https://fraymful.com/wp-content/uploads/2026/03/bjorn_halftone-webfont.woff2') format('woff2'); }/* End custom CSS */