/* 
 Theme Name:     INFORMA S.R.L
 Author:         MB
 Author URI:     https://www.marcobllare.com
 Template:       Divi
 Version:        2
 Description:    A Child Theme built for INFORMA s.r.l. by Marco Ballarè
*/ 

/* ----------- ORIGINAL DIVI CHILD THEME CSS ----------- */
@import url('https://fonts.googleapis.com/css?family=Roboto');
html[lang="ru-RU"] body,
html[lang="ru-RU"] h1,
html[lang="ru-RU"] h2,
html[lang="ru-RU"] h3,
html[lang="ru-RU"] h4,
html[lang="ru-RU"] h5,
html[lang="ru-RU"] h6{
   font-family: 'Roboto', sans-serif;
}
@media (max-width: 900px) {
.et_boxed_layout #page-container { 
width: 100%;
}
}
div#et-main-area {
overflow-x: hidden;
}
.blurb-big .et_pb_main_blurb_image {
width: 120px;
}
.blurb-big .et_pb_blurb_container {
padding-left: 40px;
}
.blurb-bigs .et_pb_main_blurb_image {
width: 110px;
}
.blurb-bigs .et_pb_blurb_container {
padding-left: 40px;
}   
.allineamento { 
    display: flex; 
    flex-direction: column; 
    justify-content: center;
} 
#logo {-webkit-transform: initial;}
.entry-content .darktxt  ul { list-style: none; }
.entry-content .darktxt  ul li:before { 
content:'\25A0';
display: block;
position: relative;
max-width: 0;
max-height: 0;
left: -18px;
top: 0;
color: #009899;
font-size: 12px; }
#left-area ul, .entry-content ul li:before { 
content:'\25A0';
display: block;
position: relative;
max-width: 0;
max-height: 0;
left: -18px;
top: 0;
color: #009899;
font-size: 12px; }
.et_pb_text li { margin-top: 11px; }
.entry-content .orangetxt ul { list-style: none; }
.entry-content .orangetxt ul li:before {
content:'\25A0';
display: block;
position: relative;
max-width: 0;
max-height: 0;
left: -18px;
top: 0;
color: #f38321;
font-size: 12px; }
    .nav li ul {
        width: 200px;
        padding: 0px;}
    .nav li li {
        line-height: 14px;}
    #top-menu li li {
        padding: 0 2px;}
    #top-menu li li a {
        width: 200px;
        padding: 20px 25px;
        }
#top-menu li li a:hover { background-color: rgba(0, 152, 153, 0.25) !important; }
.page-id-425 #footer-bottom {
display: none !important;
}
ul#top-menu li.menu-item:not(:last-child) { 
    padding-right: 13px !important; 
}
#et_top_search { 
    margin-left: 14px !important; 
}
@media (max-width: 1300px) {
 #et_mobile_nav_menu {
 display: block;
 }
 
#top-menu {
 display: none;
 }
 }

/* ----------- INFORMA CUSTOM PAGES CSS ----------- */

body {
    --teal-deep: #007068;
    --teal: #009990;
    --teal-mid: #00a89e;
    --teal-light: #00bcb0;
    --teal-pale: #e0f5f3;
    --teal-tint: #f2faf9;
    --facet-tl: #3daa98;
    --facet-tr: #8ed4cc;
    --facet-bl: #186860;
    --facet-br: #a8d4ce;
    --accent: #00a89e;
    --accent-soft: #00bcb0;
    --accent-dim: rgba(0,168,158,0.12);
    --white: #ffffff;
    --off-white: #f5fafa;
    --border: #c4e4e0;
    --border-dark: rgba(0,112,106,0.15);
    --text: #1c3230;
    --text-mid: #4a7570;
    --text-muted: #4f7671;
    --shadow-sm: 0 2px 8px rgba(0,112,106,0.07);
    --shadow-md: 0 8px 32px rgba(0,112,106,0.10);
    --shadow-lg: 0 24px 64px rgba(0,112,106,0.14);
}

/* NAV */
nav { position: fixed; top: 0; left: 0; right: 0; z-index: 10000; display: flex; align-items: center; justify-content: space-between; padding: 0 56px; height: 72px; background: rgba(255,255,255,0.97); backdrop-filter: blur(20px); border-bottom: 1px solid #c4e4e0; box-shadow: 0 2px 8px rgba(0,112,106,0.07); font-family: 'Outfit', sans-serif; }
.nav-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.nav-logo-gem { width: 36px; height: 40px; flex-shrink: 0; }
.nav-logo-name { font-size: 19px; font-weight: 900; color: #111; letter-spacing: 0.04em; line-height: 1; }
.nav-logo-tag { font-size: 7.5px; font-weight: 700; color: #777; letter-spacing: 0.22em; text-transform: uppercase; }
.nav-links { display: flex; align-items: center; gap: 36px; list-style: none; margin: 0; padding: 0; }
.nav-links a { color: #4a7570; text-decoration: none; font-size: 14px; font-weight: 500; }
.nav-links a:hover { color: #009990; }
.nav-cta { background: #009990 !important; color: #fff !important; padding: 9px 22px !important; font-weight: 600 !important; border-radius: 4px; }

/* HERO */
.hero { min-height: 0; background: linear-gradient(150deg, #007068 0%, #009990 45%, #00a89e 100%); display: flex; flex-direction: column; justify-content: center; padding: 88px 56px 40px; position: relative; overflow: hidden; font-family: 'Outfit', sans-serif; }
.hero-video-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.hero-video-overlay { position: absolute; inset: 0; background: linear-gradient(150deg, rgba(0,112,104,0.82) 0%, rgba(0,153,144,0.75) 45%, rgba(0,168,158,0.70) 100%); z-index: 1; }
.hero--video .hero-dots, .hero--video .hero-diamond-bg, .hero--video .hero-label, .hero--video h1, .hero--video .hero-sub, .hero--video .hero-btns, .hero--video .hero-stats, .hero--video .hero-glow { position: relative; z-index: 2; }
/* HERO SLIDESHOW */
.hero-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; animation: heroFade 20s infinite; z-index: 0; }
.hero-slide:nth-child(2) { animation-delay: 5s; }
.hero-slide:nth-child(3) { animation-delay: 10s; }
.hero-slide:nth-child(4) { animation-delay: 15s; }
@keyframes heroFade { 0% { opacity: 0; } 5% { opacity: 1; } 25% { opacity: 1; } 30% { opacity: 0; } 100% { opacity: 0; } }
.hero--slideshow .hero-video-overlay, .hero--slideshow .hero-dots, .hero--slideshow .hero-diamond-bg, .hero--slideshow .hero-label, .hero--slideshow h1, .hero--slideshow .hero-sub, .hero--slideshow .hero-btns, .hero--slideshow .hero-stats, .hero--slideshow .hero-glow { position: relative; z-index: 2; }
.hero-dots { position: absolute; inset: 0; background-image: radial-gradient(circle,rgba(255,255,255,0.08) 1px,transparent 1px); background-size: 40px 40px; pointer-events: none; }
.hero-label { font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: 0.2em; color: rgba(255,255,255,0.5); text-transform: uppercase; margin-bottom: 18px; display: flex; align-items: center; gap: 14px; }
.hero-label::before { content: ''; width: 28px; height: 1px; background: #8ed4cc; display: inline-block; }
.hero-heading { font-size: clamp(44px,6vw,88px); font-weight: 800; line-height: 1.0; letter-spacing: -0.02em; color: #fff; max-width: 800px; }
.hero-heading em { font-style: normal; color: #8ed4cc; }
.hero-sub { margin-top: 20px; font-size: 17px; font-weight: 300; color: rgba(255,255,255,0.65); max-width: 520px; line-height: 1.65; }
.hero-btns { margin-top: 30px; display: flex; gap: 14px; align-items: center; }
.hero-stats { display: flex; background: rgba(255,255,255,0.06); border-top: 1px solid rgba(255,255,255,0.1); }
.hero-stat { flex: 1; padding: 28px 40px; border-right: 1px solid rgba(255,255,255,0.08); }
.hero-stat:last-child { border-right: none; }
.stat-value { font-size: 40px; font-weight: 800; color: #fff; letter-spacing: -0.02em; line-height: 1; }
.stat-value span { color: #8ed4cc; }
.stat-label { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.14em; color: rgba(255,255,255,0.45); text-transform: uppercase; margin-top: 6px; }

/* BUTTONS */
.btn-primary { background: #00a89e; color: #fff; font-family: 'Outfit', sans-serif; font-size: 14px; font-weight: 600; padding: 14px 32px; border: none; cursor: pointer; text-decoration: none; border-radius: 4px; transition: background 0.2s, transform 0.15s; display: inline-block; box-shadow: 0 4px 16px rgba(0,168,158,0.35); }
.btn-primary:hover { background: #00bcb0; transform: translateY(-2px); color: #fff; }
.btn-outline-white { border: 1.5px solid rgba(255,255,255,0.3); color: rgba(255,255,255,0.85); font-size: 14px; font-weight: 500; padding: 13px 28px; text-decoration: none; border-radius: 4px; display: inline-block; }
.btn-outline-white:hover { border-color: rgba(255,255,255,0.7); background: rgba(255,255,255,0.08); color: #fff; }
.btn-outline-teal { border: 1.5px solid rgba(0,112,106,0.15); color: #009990; font-size: 14px; font-weight: 500; padding: 11px 24px; text-decoration: none; border-radius: 4px; display: inline-block; }
.btn-outline-teal:hover { border-color: #009990; background: #f2faf9; }

/* TICKER */
.ticker { background: #007068; overflow: hidden; padding: 13px 0; }
.ticker-track { display: flex; animation: ticker 35s linear infinite; width: max-content; }
.ticker-item { font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: 0.12em; color: rgba(255,255,255,0.4); text-transform: uppercase; padding: 0 48px; border-right: 1px solid rgba(255,255,255,0.1); white-space: nowrap; }
.ticker-item b { color: #8ed4cc; font-weight: 500; margin-right: 8px; }
@keyframes ticker { from { transform: translateX(0) } to { transform: translateX(-50%) } }

/* SECTIONS */
.section { padding: 64px 56px; font-family: 'Outfit', sans-serif; }
.section--tinted { background: #f5fafa; }
.section--teal { background: linear-gradient(135deg, #007068 0%, #009990 100%); color: #fff; }
.eyebrow { font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: 0.18em; color: #00bcb0; text-transform: uppercase; margin-bottom: 16px; display: flex; align-items: center; gap: 12px; }
.eyebrow::before { content: ''; width: 24px; height: 2px; background: #00a89e; display: inline-block; }
.eyebrow--light { color: rgba(255,255,255,0.5); }
.eyebrow--light::before { background: rgba(255,255,255,0.3); }
.section-title { font-size: clamp(36px,4.5vw,60px); font-weight: 800; letter-spacing: -0.025em; line-height: 1.08; color: #007068; }
.section-title--white { color: #fff; }
.section-lead { font-size: 18px; font-weight: 300; color: #4a7570; line-height: 1.75; margin-top: 20px; max-width: 560px; }
.section-lead strong { color: #009990; font-weight: 600; }
hr.divider { border: none; border-top: 1px solid #c4e4e0; margin: 0; }

/* ABOUT */
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.features-2x2 { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: #c4e4e0; border: 1px solid #c4e4e0; border-radius: 12px; overflow: hidden; }
.feat-cell { background: #fff; padding: 36px 32px; }
.feat-cell:hover { background: #f2faf9; }
.feat-icon { width: 44px; height: 44px; background: #e0f5f3; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 20px; margin-bottom: 18px; }
.feat-title { font-size: 14px; font-weight: 700; color: #009990; letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 8px; }
.feat-desc { font-size: 13.5px; color: #4f7671; line-height: 1.6; }

/* PRODUCTS */
.products-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 52px; }
.products-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.product-card { background: #fff; border: 1px solid #c4e4e0; border-radius: 12px; padding: 36px 32px; display: flex; flex-direction: column; text-decoration: none; color: inherit; transition: transform 0.25s, box-shadow 0.25s; box-shadow: 0 2px 8px rgba(0,112,106,0.07); position: relative; overflow: hidden; }
.product-card:hover { transform: translateY(-4px); box-shadow: 0 24px 64px rgba(0,112,106,0.14); }
.product-num { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.14em; color: #4f7671; text-transform: uppercase; margin-bottom: 20px; }
.product-icon { width: 68px; height: 68px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.product-name { font-size: 22px; font-weight: 700; color: #007068; margin-bottom: 10px; }
.product-desc { font-size: 14px; color: #4a7570; line-height: 1.65; flex: 1; }
.product-link { margin-top: 28px; display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: #00bcb0; }

/* PARTNERS */
.partners-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 52px; }
.partner-card { background: #fff; border: 1px solid #c4e4e0; border-radius: 12px; padding: 44px 40px; }
.partner-name { font-size: 28px; font-weight: 800; color: #007068; margin-bottom: 14px; }
.partner-desc { font-size: 15px; color: #4a7570; line-height: 1.7; }
.partner-link { margin-top: 24px; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: #00a89e; text-decoration: none; }

/* NEWS */
.news-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 24px; margin-top: 52px; align-items: start; }
.news-card { background: #fff; border: 1px solid #c4e4e0; border-radius: 12px; display: flex; flex-direction: column; text-decoration: none; color: inherit; box-shadow: 0 2px 8px rgba(0,112,106,0.07); transition: transform 0.25s, box-shadow 0.25s; overflow: hidden; }
.news-card:hover { transform: translateY(-3px); box-shadow: 0 8px 32px rgba(0,112,106,0.10); }
.news-img { width: 100%; position: relative; overflow: hidden; flex-shrink: 0; }
.news-card--featured .news-img { height: 230px; }
.news-card--small .news-img { height: 150px; }
.news-img-inner { position: absolute; inset: 0; background-size: cover; background-position: center; }
.news-body { padding: 24px 26px 28px; display: flex; flex-direction: column; flex: 1; }
.news-cat { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: #00a89e; margin-bottom: 10px; }
.news-title { font-size: 17px; font-weight: 600; line-height: 1.45; color: #007068; flex: 1; }
.news-card--small .news-title { font-size: 14.5px; }
.news-date { margin-top: 18px; font-size: 12px; color: #4f7671; font-family: 'DM Mono', monospace; }
.news-read-more { margin-top: 14px; font-size: 12px; font-weight: 600; color: #00bcb0; display: flex; align-items: center; gap: 4px; }

/* CTA */
.cta-wrap { text-align: center; padding: 100px 56px; background: #f5fafa; }
.cta-title { font-size: clamp(44px,6vw,80px); font-weight: 900; letter-spacing: -0.03em; line-height: 1.05; color: #007068; margin-bottom: 40px; }
.cta-sub { font-size: 18px; color: #4a7570; max-width: 460px; margin: 0 auto 44px; line-height: 1.65; font-weight: 300; }
.cta-actions { display: flex; gap: 14px; justify-content: center; }
.cta-band { background: #f5fafa; text-align: center; padding: 80px 56px; }

/* PAGE HERO */
.page-hero { background: linear-gradient(150deg, #007068 0%, #009990 55%, #00a89e 100%); padding: 140px 56px 90px; position: relative; overflow: hidden; font-family: 'Outfit', sans-serif; }
.page-hero::before { content: ''; position: absolute; inset: 0; background-image: radial-gradient(circle,rgba(255,255,255,0.07) 1px,transparent 1px); background-size: 36px 36px; pointer-events: none; }
.breadcrumb { font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: 0.12em; color: rgba(255,255,255,0.45); text-transform: uppercase; margin-bottom: 24px; display: flex; align-items: center; gap: 10px; }
.breadcrumb a { color: rgba(255,255,255,0.45); text-decoration: none; }
.page-hero-eyebrow { font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: 0.2em; color: #8ed4cc; text-transform: uppercase; margin-bottom: 14px; display: flex; align-items: center; gap: 12px; }
.page-hero-eyebrow::before { content: ''; width: 24px; height: 1px; background: #8ed4cc; display: inline-block; }
.page-hero-title { font-size: clamp(48px,7vw,88px); font-weight: 900; line-height: 1; letter-spacing: -0.03em; color: #fff; margin-bottom: 20px; }
.page-hero-sub { font-size: 18px; font-weight: 300; color: rgba(255,255,255,0.65); max-width: 520px; line-height: 1.7; }
.page-hero-num { font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: 0.2em; color: #8ed4cc; text-transform: uppercase; margin-bottom: 12px; display: flex; align-items: center; gap: 10px; }
.page-hero-num::before { content: ''; width: 22px; height: 1px; background: #8ed4cc; display: inline-block; }
.hero-inner { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 60px; }
.hero-icon-wrap { width: 180px; height: 180px; background: #fff; border: 1px solid rgba(255,255,255,0.12); border-radius: 24px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;   align-self: start;
  margin-top: 42px;
}

/* PRODUCT PAGES */
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.features-list { display: flex; flex-direction: column; gap: 16px; margin-top: 28px; }
.feature-item { display: flex; gap: 14px; align-items: flex-start; padding: 18px 20px; background: #fff; border: 1px solid #c4e4e0; border-radius: 10px; transition: box-shadow 0.2s; }
.feature-item:hover { box-shadow: 0 2px 8px rgba(0,112,106,0.07); }
.feature-dot { width: 10px; height: 10px; background: #00a89e; border-radius: 50%; flex-shrink: 0; margin-top: 5px; }
.feature-text h4 { font-size: 14px; font-weight: 700; color: #007068; margin-bottom: 4px; }
.feature-text p { font-size: 13.5px; color: #4a7570; line-height: 1.55; }
.cards-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 44px; }
.card { background: #fff; border: 1px solid #c4e4e0; border-radius: 12px; padding: 28px 24px; box-shadow: 0 2px 8px rgba(0,112,106,0.07); transition: transform 0.25s, box-shadow 0.25s; }
.card:hover { transform: translateY(-3px); box-shadow: 0 8px 32px rgba(0,112,106,0.10); }
.card-num { font-family: 'DM Mono', monospace; font-size: 28px; font-weight: 700; color: #009990; letter-spacing: -0.02em; line-height: 1; margin-bottom: 6px; }
.card-num span { font-size: 16px; }
.card-label { font-size: 13px; color: #4a7570; }
.also-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 16px; margin-top: 40px; }
.also-card { background: #fff; border: 1px solid #c4e4e0; border-radius: 10px; padding: 22px; text-decoration: none; color: inherit; transition: border-color 0.2s, box-shadow 0.2s; }
.also-card:hover { border-color: #009990; box-shadow: 0 2px 8px rgba(0,112,106,0.07); }
.also-name { font-size: 15px; font-weight: 700; color: #007068; margin-bottom: 5px; }
.also-desc { font-size: 12.5px; color: #4f7671; }

/* ARTICLE */
.article-hero { background: linear-gradient(150deg, #007068 0%, #009990 60%, #00a89e 100%); padding: 130px 56px 80px; position: relative; overflow: hidden; font-family: 'Outfit', sans-serif; }
.article-category { font-family: 'DM Mono', monospace; font-size: 11px; letter-spacing: 0.18em; color: #8ed4cc; text-transform: uppercase; margin-bottom: 14px; display: flex; align-items: center; gap: 10px; }
.article-category::before { content: ''; width: 20px; height: 1px; background: #8ed4cc; display: inline-block; }
.article-title { font-size: clamp(32px,5vw,68px); font-weight: 900; line-height: 1.05; letter-spacing: -0.03em; color: #fff; margin-bottom: 22px; max-width: 820px; }
.article-meta { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.meta-item { font-size: 13px; color: rgba(255,255,255,0.5); display: flex; align-items: center; gap: 6px; }
.article-body { max-width: 720px; margin: 0 auto; padding: 72px 56px; font-family: 'Outfit', sans-serif; }
.article-body p { font-size: 17px; color: #4a7570; line-height: 1.8; margin-bottom: 24px; font-weight: 300; }
.article-body p strong { color: #1c3230; font-weight: 600; }
.article-body h2 { font-size: 26px; font-weight: 800; color: #007068; letter-spacing: -0.02em; margin: 44px 0 16px; }
.pull-quote { background: #e0f5f3; border-left: 4px solid #009990; border-radius: 0 10px 10px 0; padding: 28px 32px; margin: 40px 0; font-size: 20px; font-style: italic; color: #007068; font-weight: 500; line-height: 1.5; }
.fact-box { background: #f5fafa; border: 1px solid #c4e4e0; border-radius: 12px; padding: 28px 32px; margin: 40px 0; }
.fact-box-title { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.18em; color: #009990; text-transform: uppercase; margin-bottom: 16px; }
.fact-list { list-style: none; display: flex; flex-direction: column; gap: 10px; padding: 0; }
.fact-list li { font-size: 14px; color: #4a7570; display: flex; gap: 10px; align-items: flex-start; }
.fact-list li::before { content: '—'; color: #009990; font-weight: 700; flex-shrink: 0; }
.article-tags { display: flex; gap: 8px; flex-wrap: wrap; margin: 48px 0 0; }
.tag { font-size: 12px; font-weight: 600; color: #009990; background: #e0f5f3; padding: 5px 12px; border-radius: 20px; text-decoration: none; }
.related-section { background: #f5fafa; padding: 72px 56px; }
.related-title { font-size: 24px; font-weight: 800; color: #007068; margin-bottom: 32px; }
.related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.related-card { background: #fff; border: 1px solid #c4e4e0; border-radius: 12px; padding: 24px; text-decoration: none; color: inherit; transition: box-shadow 0.2s, border-color 0.2s; }
.related-card:hover { box-shadow: 0 8px 32px rgba(0,112,106,0.10); border-color: #009990; }
.related-card-cat { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.15em; color: #009990; text-transform: uppercase; margin-bottom: 10px; }
.related-card-title { font-size: 15px; font-weight: 700; color: #007068; line-height: 1.35; }

/* CONTACT */
.contact-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: 64px; align-items: start; }
.contact-info h2 { font-size: 36px; font-weight: 800; color: #007068; letter-spacing: -0.02em; margin-bottom: 20px; }
.contact-info p { font-size: 16px; color: #4a7570; line-height: 1.7; margin-bottom: 32px; }
.contact-detail { display: flex; flex-direction: column; gap: 20px; margin-top: 8px; }
.contact-item { display: flex; gap: 14px; align-items: flex-start; }
.contact-item-icon { width: 42px; height: 42px; background: #e0f5f3; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.contact-item-label { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #4f7671; margin-bottom: 4px; }
.contact-item-value { font-size: 15px; color: #1c3230; font-weight: 500; }
.contact-item-value a { color: #009990; text-decoration: none; }
.contact-form { background: #fff; border: 1px solid #c4e4e0; border-radius: 16px; padding: 44px 40px; box-shadow: 0 8px 32px rgba(0,112,106,0.10); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-group { display: flex; flex-direction: column; gap: 7px; margin-bottom: 18px; }
.form-group label { font-size: 13px; font-weight: 600; color: #007068; }
.form-group input, .form-group select, .form-group textarea { font-family: 'Outfit', sans-serif; font-size: 15px; color: #1c3230; background: #f5fafa; border: 1.5px solid #c4e4e0; border-radius: 6px; padding: 11px 14px; outline: none; width: 100%; }
.form-group textarea { resize: vertical; min-height: 120px; }
.form-submit { background: #009990; color: #fff; font-family: 'Outfit', sans-serif; font-size: 15px; font-weight: 600; padding: 14px 36px; border: none; border-radius: 6px; cursor: pointer; width: 100%; margin-top: 6px; }
.support-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 52px; }
.support-card { background: #fff; border: 1px solid #c4e4e0; border-radius: 12px; padding: 32px 28px; text-align: center; }
.support-icon { font-size: 32px; margin-bottom: 16px; }
.support-title { font-size: 18px; font-weight: 700; color: #007068; margin-bottom: 10px; }
.support-desc { font-size: 14px; color: #4a7570; line-height: 1.6; }

/* TANGRAM */
.tangram-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.suite-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(0,168,158,0.12); border: 1px solid rgba(0,168,158,0.28); color: #00bcb0; font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; padding: 6px 14px; border-radius: 20px; margin-bottom: 24px; }
.module-list { border: 1px solid #c4e4e0; border-radius: 12px; overflow: hidden; }
.module-item { display: flex; align-items: center; gap: 16px; padding: 18px 24px; border-bottom: 1px solid #c4e4e0; background: #fff; }
.module-item:last-child { border-bottom: none; }
.module-item:hover { background: #f2faf9; }
.module-dot { width: 8px; height: 8px; background: #00bcb0; border-radius: 50%; flex-shrink: 0; }
.module-dot--accent { background: #00a89e; }
.module-name { font-size: 14px; font-weight: 600; color: #007068; flex: 1; }
.module-tag { font-size: 12px; color: #4f7671; font-style: italic; }
.modules-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 52px; }
.module-card { background: #fff; border: 1px solid #c4e4e0; border-radius: 12px; padding: 32px 28px; transition: transform 0.25s, box-shadow 0.25s; position: relative; overflow: hidden; text-decoration: none; color: inherit; display: block; }
.module-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #186860, #00a89e); }
.module-card:hover { transform: translateY(-4px); box-shadow: 0 8px 32px rgba(0,112,106,0.10); }
.module-card-num { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.14em; color: #4f7671; margin-bottom: 16px; }
.module-card-name { font-size: 20px; font-weight: 700; color: #007068; margin-bottom: 10px; }
.module-card-desc { font-size: 14px; color: #4a7570; line-height: 1.6; }
.module-card-tag { margin-top: 16px; display: inline-block; font-size: 11px; font-weight: 600; color: #009990; background: #e0f5f3; padding: 4px 12px; border-radius: 20px; }
.benefits-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 20px; margin-top: 52px; }
.benefit-item { text-align: center; padding: 36px 24px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; }
.benefit-num { font-size: 44px; font-weight: 900; color: #fff; letter-spacing: -0.03em; line-height: 1; }
.benefit-num span { color: #8ed4cc; }
.benefit-label { font-size: 13px; color: rgba(255,255,255,0.55); margin-top: 8px; line-height: 1.4; }
.partner-row { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 52px; }
.partner-block { background: #fff; border: 1px solid #c4e4e0; border-radius: 12px; padding: 44px 40px; box-shadow: 0 2px 12px rgba(0,112,106,0.09); transition: transform 0.25s, box-shadow 0.25s; }
.partner-block-logo { font-size: 26px; font-weight: 900; color: #007068; margin-bottom: 8px; }
.partner-block-sub { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.14em; color: #4f7671; text-transform: uppercase; margin-bottom: 20px; }
.partner-block-desc { font-size: 15px; color: #4a7570; line-height: 1.7; }
.industry-features { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 52px; }
.industry-feat { padding: 28px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; }
.industry-feat-title { font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 8px; }
.industry-feat-desc { font-size: 13.5px; color: rgba(255,255,255,0.55); line-height: 1.6; }
.partner-callout { background: #e0f5f3; border: 1px solid #c4e4e0; border-radius: 12px; padding: 32px 36px; margin-top: 48px; display: flex; gap: 28px; align-items: flex-start; }
.partner-callout-icon { width: 48px; height: 48px; background: #009990; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.partner-callout-body h4 { font-size: 16px; font-weight: 700; color: #007068; margin-bottom: 6px; }
.partner-callout-body p { font-size: 14px; color: #4a7570; line-height: 1.6; }
.scope-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 40px 0; }
.scope-item { background: #e0f5f3; border: 1px solid #c4e4e0; border-radius: 10px; padding: 18px 20px; }
.scope-item-label { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.15em; color: #009990; text-transform: uppercase; margin-bottom: 6px; }
.scope-item-value { font-size: 15px; font-weight: 700; color: #007068; }
.benefit-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.chip { font-size: 12px; font-weight: 500; background: #e0f5f3; color: #009990; padding: 6px 14px; border-radius: 20px; border: 1px solid #c4e4e0; }
.customers-inner { display: grid; grid-template-columns: 1fr 2fr; gap: 80px; align-items: center; margin-top: 52px; }
.since-num { font-size: 80px; font-weight: 900; line-height: 1; color: #fff; letter-spacing: -0.03em; }
.since-label { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.16em; color: rgba(255,255,255,0.4); text-transform: uppercase; margin-top: 8px; }
.customers-quote { font-size: 20px; font-weight: 300; font-style: italic; color: rgba(255,255,255,0.7); line-height: 1.65; margin-top: 24px; }
.customers-quote strong { color: #fff; font-style: normal; font-weight: 600; }
.industry-band { background: linear-gradient(135deg, #007068 0%, #00a89e 100%); border-radius: 16px; padding: 60px 56px; display: flex; align-items: center; justify-content: space-between; gap: 48px; }
.industry-title { font-size: 34px; font-weight: 800; color: #fff; letter-spacing: -0.02em; margin-bottom: 12px; }
.industry-desc { font-size: 15px; color: rgba(255,255,255,0.6); max-width: 480px; line-height: 1.7; }
.overview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.overview-visual { background: #e0f5f3; border-radius: 16px; padding: 48px 40px; border: 1px solid #c4e4e0; }

/* FOOTER */
footer { background: #007068; color: rgba(255,255,255,0.6); padding: 72px 56px 40px; display: grid; grid-template-columns: 1.8fr 1fr 1fr 1fr; gap: 48px; font-family: 'Outfit', sans-serif; }
.footer-logo { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.footer-gem { width: 32px; height: 36px; flex-shrink: 0; }
.footer-logo-name { font-size: 18px; font-weight: 900; color: #fff; letter-spacing: 0.04em; line-height: 1; }
.footer-logo-tag { font-size: 6.5px; font-weight: 700; color: rgba(255,255,255,0.35); letter-spacing: 0.22em; text-transform: uppercase; }
.footer-tagline { font-size: 13.5px; line-height: 1.7; max-width: 240px; }
.footer-col-head { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 0.18em; color: rgba(255,255,255,0.3); text-transform: uppercase; margin-bottom: 20px; }
.footer-links { list-style: none; display: flex; flex-direction: column; gap: 10px; padding: 0; margin: 0; }
.footer-links a { font-size: 14px; color: rgba(255,255,255,0.55); text-decoration: none; }
.footer-links a:hover { color: #fff; }
.footer-bottom { grid-column: 1/-1; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 28px; margin-top: 8px; display: flex; justify-content: space-between; align-items: center; }
.footer-copy { font-size: 12px; color: rgba(255,255,255,0.3); }
.footer-legal a { font-size: 12px; color: rgba(255,255,255,0.3); text-decoration: none; }

/* ANIMATIONS */
@keyframes slideUp { from { opacity: 0; transform: translateY(22px) } to { opacity: 1; transform: translateY(0) } }
@keyframes fadeIn { from { opacity: 0 } to { opacity: 1 } }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

/* RESPONSIVE */
@media (max-width: 960px) {
    nav { padding: 0 24px; }
    .nav-links { display: none; }
    .hero, .section, .cta-wrap, .cta-band, .page-hero, .article-hero, .related-section { padding-left: 24px !important; padding-right: 24px !important; }
    .about-grid, .tangram-inner, .customers-inner, .two-col, .hero-inner, .contact-grid, .overview-grid, .partner-row { grid-template-columns: 1fr; gap: 40px; }
    .products-grid, .news-grid, .partners-grid, .modules-grid, .cards-grid, .also-grid, .support-grid, .related-grid, .benefits-grid, .industry-features { grid-template-columns: 1fr; }
    .hero-icon-wrap { display: none; }
    footer { grid-template-columns: 1fr 1fr; padding: 48px 24px 32px; }
    .industry-band { flex-direction: column; padding: 40px 32px; }
    .form-row, .scope-grid { grid-template-columns: 1fr; }
    .article-body { padding: 48px 24px; }
}

/* Force reveal elements visible — disable scroll animation in WordPress */
.reveal {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Fix hero diamond size */
.hero-diamond-bg {
    width: 420px !important;
    height: 420px !important;
    opacity: 0.18 !important;  /* visible but still subtle */
}

/* Fix nav overlap — push content down */
body > section:first-of-type,
body > .hero:first-of-type {
    padding-top: 80px !important;
}
/* Hero height follows its content so browser zoom scales it uniformly */
.hero { min-height: 0 !important; padding-bottom: 24px !important; padding-top: 84px !important; }
body > .hero:first-of-type { padding-top: 84px !important; }
.hero-diamond-bg { display: none !important; }
.hero-label { margin-bottom: 10px !important; font-size: 10px !important; }
.hero-heading { font-size: clamp(32px, 3.8vw, 52px) !important; line-height: 1.05 !important; max-width: 700px !important; }
.hero-sub { margin-top: 12px !important; font-size: 15px !important; line-height: 1.55 !important; max-width: 480px !important; }
.hero-btns { margin-top: 18px !important; }
.hero-stats { padding: 0 !important; margin-top: 22px !important; }
.hero-stat { padding: 10px 20px !important; }
.stat-value { font-size: 22px !important; line-height: 1 !important; }
.stat-label { font-size: 9px !important; letter-spacing: 0.12em !important; }

/* Tighter About section so its full content fits above the fold.
   Hero now does the viewport-filling work, so About uses natural height. */
#about.section, section.section.reveal:nth-of-type(1) {
    padding-top: 56px !important;
    padding-bottom: 64px !important;
}
.about-grid { gap: 48px !important; width: 100%; }
.about-grid .section-title { font-size: clamp(28px, 3vw, 44px) !important; line-height: 1.08 !important; }
.about-grid .section-lead { font-size: 15px !important; line-height: 1.55 !important; margin-top: 14px !important; }
/* Hide the divider line between About and Products so the empty space below About reads as one block */
#about + hr.divider, section.section + hr.divider { display: none !important; }
/* ---- UPLOADED ASSETS ---- */
.feat-icon { width: 72px !important; height: 72px !important; background: transparent !important; border-radius: 0 !important; }
.feat-icon img { width: 100%; height: 100%; object-fit: contain; border-radius: 8px; }
.product-icon img { width: 68px; height: 68px; object-fit: contain; }

/* Language flag switcher */
.nav-flags { display: flex; gap: 6px; align-items: center; margin-left: 16px; padding-left: 16px; border-left: 1px solid rgba(255,255,255,0.18); }
.nav-flags a { display: flex; opacity: 0.65; transition: opacity 0.2s; }
.nav-flags a:hover { opacity: 1; }
.nav-flags img { width: 22px; height: auto; border-radius: 2px; display: block; }

/* Tangram module icon image */
.module-icon-img { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.module-icon-img img { width: 100%; height: 100%; object-fit: contain; }


/* Remove thin white line below nav on news/archive pages */
#main-header, #main-header.et-fixed-header { box-shadow: none !important; border-bottom: 0 !important; }
#et-main-area { box-shadow: none !important; border-top: 0 !important; }
#main-content, #main-content > .container { box-shadow: none !important; border-top: 0 !important; padding-top: 0 !important; }
#page-container { box-shadow: none !important; }
body.archive #main-content, body.single-news #main-content, body.blog #main-content { background: #fff; }


/* Hide Divi sidebar on news/archive—kills the vertical white line */
body.archive #sidebar, body.single-news #sidebar, body.blog #sidebar, body.post-type-archive-news #sidebar { display: none !important; }
body.archive #left-area, body.single-news #left-area, body.blog #left-area, body.post-type-archive-news #left-area {
    width: 100% !important; float: none !important; margin: 0 auto !important; padding-right: 0 !important; max-width: 1080px;
}
#content-area, #content-area.clearfix, #main-content, #main-content .container { box-shadow: none !important; border-left: 0 !important; border-right: 0 !important; }
body.archive #content-area, body.single-news #content-area, body.post-type-archive-news #content-area { display: block !important; }
#page-container { box-shadow: none !important; }


/* =========================================================
   INFORMA Motion Layer (2026-06) — micro-interactions,
   spring easing, gesture feedback, a11y. Transform/opacity
   only (GPU-friendly); fully gated by prefers-reduced-motion.
   ========================================================= */
:root{
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-spring: cubic-bezier(0.34, 1.4, 0.5, 1);
  --dur-fast: 140ms; --dur: 240ms; --dur-slow: 420ms;
  --elev-hover: 0 18px 48px rgba(0,112,106,0.16);
}

/* Accessibility: visible keyboard focus */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible,
.btn-primary:focus-visible, .btn-outline-teal:focus-visible,
.btn-outline-white:focus-visible, .nav-links a:focus-visible, .form-submit:focus-visible{
  outline: 3px solid #00bcb0; outline-offset: 3px; border-radius: 6px;
}

/* Buttons: spring hover lift + tactile press */
.btn-primary, .btn-outline-teal, .btn-outline-white, .form-submit, .nav-cta{
  transition: transform var(--dur) var(--ease-spring),
              box-shadow var(--dur) var(--ease-out),
              background var(--dur) var(--ease-out),
              color var(--dur) var(--ease-out),
              border-color var(--dur) var(--ease-out);
}
.btn-primary:hover, .form-submit:hover{ transform: translateY(-2px); box-shadow: 0 10px 28px rgba(0,168,158,0.45); }
.btn-primary:active, .form-submit:active, .nav-cta:active{ transform: translateY(0) scale(0.97); }
.btn-outline-teal:hover{ background:#009990; color:#fff; border-color:#009990; transform: translateY(-2px); }
.btn-outline-white:hover{ background: rgba(255,255,255,0.12); color:#fff; border-color: rgba(255,255,255,0.6); transform: translateY(-2px); }
.nav-cta:hover{ transform: translateY(-1px); box-shadow: 0 8px 22px rgba(0,153,144,0.40); }

/* Nav links: animated underline grow */
.nav-links a:not(.nav-cta){ position: relative; transition: color var(--dur) var(--ease-out); }
.nav-links a:not(.nav-cta)::after{
  content:""; position:absolute; left:0; right:0; bottom:-4px; height:2px;
  background: currentColor; border-radius:2px; opacity:0;
  transform: scaleX(0); transform-origin: left;
  transition: transform var(--dur) var(--ease-out), opacity var(--dur) var(--ease-out);
}
.nav-links a:not(.nav-cta):hover{ color:#009990; }
.nav-links a:not(.nav-cta):hover::after{ transform: scaleX(1); opacity:1; }

/* Cards: smoother springy lift */
.product-card, .news-card{
  transition: transform var(--dur-slow) var(--ease-spring), box-shadow var(--dur-slow) var(--ease-out);
}
.partner-card, .support-card, .also-card, .related-card, .module-card, .cust{
  transition: transform var(--dur-slow) var(--ease-spring),
              box-shadow var(--dur-slow) var(--ease-out),
              border-color var(--dur) var(--ease-out);
}
.partner-card:hover, .support-card:hover, .also-card:hover, .related-card:hover, .module-card:hover, .cust:hover{
  transform: translateY(-4px); box-shadow: var(--elev-hover); border-color: rgba(0,153,144,0.45);
}

/* News card image zoom on hover */
.news-img-inner{ transition: transform var(--dur-slow) var(--ease-out); }
.news-card:hover .news-img-inner{ transform: scale(1.06); }

/* "Read more" link nudge on card hover */
.product-link, .news-read-more, .partner-link{ transition: transform var(--dur) var(--ease-out); }
.product-card:hover .product-link, .news-card:hover .news-read-more, .partner-card:hover .partner-link{ transform: translateX(4px); }

/* Divisions / feature cells: icon pop */
.feat-cell{ transition: background var(--dur) var(--ease-out); }
.feat-icon{ transition: transform var(--dur) var(--ease-spring); }
.feat-cell:hover .feat-icon{ transform: translateY(-2px) scale(1.08); }

/* Count-up: prevent width jitter */
.stat-value, .stat-num, .benefit-num{ font-variant-numeric: tabular-nums; }

/* Respect reduced-motion */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration: 0.01ms !important; animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important; scroll-behavior: auto !important;
  }
  .news-card:hover .news-img-inner, .feat-cell:hover .feat-icon,
  .product-card:hover, .news-card:hover, .btn-primary:hover{ transform: none !important; }
}

/* INFORMA global font default — prevents serif fallback for any text
   outside a font-scoped container (e.g. .cta-band CTAs). DM Mono / explicit
   font-family declarations still override where set. */
body{ font-family: 'Outfit', sans-serif; }


/* ===== Scroll choreography: GSAP ScrollTrigger reveals + Lenis smooth scroll =====
   Reveal targets are hidden ONLY under html.motion-on, a class set pre-paint by an
   inline script (added only when JS runs AND reduced-motion is off). If GSAP fails to
   load, a safety timer removes motion-on so content always appears. No flash, no risk
   of permanently hidden content. */
html.motion-on :is(.eyebrow,.section-title,.section-lead,.product-card,.feat-cell,.support-card,.partner-card,.module-card,.benefit-item,.also-card,
.related-card,.cta-title,.cta-sub){
  opacity:0; transform: translateY(30px);
}
@media (prefers-reduced-motion: reduce){
  html.motion-on :is(.eyebrow,.section-title,.section-lead,.product-card,.feat-cell,.support-card,.partner-card,.module-card,.benefit-item,.also-card,
  .related-card,.cta-title,.cta-sub){ opacity:1 !important; transform:none !important; }
}
/* Lenis smooth-scroll required styles */
html.lenis, html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }
.lenis.lenis-smooth [data-lenis-prevent]{ overscroll-behavior:contain; }
.lenis.lenis-stopped{ overflow:hidden; }

/* lang-menu close-state fix: page-fullwidth.php injects an emergency rule
   `div{visibility:visible!important;opacity:1!important}` that kept the CLOSED language
   menu visible (Close button / outside-click appeared to do nothing). Re-assert the
   closed state with higher specificity so it actually hides, while keeping the fade. */
.lang-menu:not(.open){ opacity:0 !important; visibility:hidden !important; pointer-events:none !important; }

/* Boxed page layout: content capped at 1280px like the classic site, side margins grow as you zoom out */
body { max-width: 1280px; margin-left: auto !important; margin-right: auto !important; }
body > nav { max-width: 1280px; margin-left: auto; margin-right: auto; box-sizing: border-box; }


/* ------------------------------------------------------------------
   Font fallback fix (2026-07): the Divi customizer stylesheet still
   references 'clan-narrow-medium' / 'clan-narrow-book', fonts that
   are not loaded anywhere. Give headings and body text the brand
   font (Outfit) with higher specificity so nothing falls back to
   the generic system font (visible e.g. on the About page hero).
   ------------------------------------------------------------------ */
body h1, body h2, body h3, body h4, body h5, body h6 {
  font-family: 'Outfit', sans-serif;
}
body, body input, body textarea, body select {
  font-family: 'Outfit', sans-serif;
}


/* ------------------------------------------------------------------
   Accessibility polish (2026-07): visible keyboard focus and reduced
   motion for users who request it. No visual change for mouse users.
   ------------------------------------------------------------------ */
a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible {
  outline: 3px solid #00a89e;
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* A11y: visible keyboard focus (July 2026) */
a:focus-visible, button:focus-visible, [role="button"]:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #009990; outline-offset: 2px; }

/* Product icon set — consistent SVG line icons replacing legacy JPG/PNG (July 2026) */


/* Uniform screenshot boxes in "See It in Action" grids */
.shots-grid figure img{aspect-ratio:1.9/1;object-fit:contain;}

/* News articles: featured image sits fully below the hero band */
.article-feature{margin-top:40px !important;}
