@import url("/home/hexabit/phosphor/style.css");
@import url("/home/hexabit/phosphor/fill.css");
/* remove the page loading spinner/preloader */
.preloader,#loader-wrapper{display:none !important;}
/* =====================================================================
   PRODEXX — "Echo" design layer  (v2 — matched to the real echo.ancorathemes.com)
   Echo's actual language: heavy geometric SANS headings, high black/white
   contrast, warm gradient blooms bleeding from the edges, Title-Case nav +
   solid rounded accent buttons, big bold section titles, sharp white cards.
   Brand accent kept PURPLE (#2f2484) in place of Echo's orange; the warm
   bloom is retained as ambient signature. Loaded AFTER style.css.
   ===================================================================== */

/* --- Zona Pro: self-hosted, full Greek coverage. Bold = titles, Regular =
    body copy, Light/Thin = eyebrows and micro-labels. --- */
@font-face{font-family:'Zona Pro';font-style:normal;font-weight:100;font-display:swap;src:url('../font/zona-pro/ZonaPro-Hairline.woff2') format('woff2');}
@font-face{font-family:'Zona Pro';font-style:normal;font-weight:200;font-display:swap;src:url('../font/zona-pro/ZonaPro-Thin.woff2') format('woff2');}
@font-face{font-family:'Zona Pro';font-style:normal;font-weight:300;font-display:swap;src:url('../font/zona-pro/ZonaPro-Light.woff2') format('woff2');}
@font-face{font-family:'Zona Pro';font-style:normal;font-weight:400;font-display:swap;src:url('../font/zona-pro/ZonaPro-Regular.woff2') format('woff2');}
@font-face{font-family:'Zona Pro';font-style:normal;font-weight:600;font-display:swap;src:url('../font/zona-pro/ZonaPro-SemiBold.woff2') format('woff2');}
@font-face{font-family:'Zona Pro';font-style:normal;font-weight:700;font-display:swap;src:url('../font/zona-pro/ZonaPro-Bold.woff2') format('woff2');}
@font-face{font-family:'Zona Pro';font-style:normal;font-weight:800;font-display:swap;src:url('../font/zona-pro/ZonaPro-ExtraBold.woff2') format('woff2');}
@font-face{font-family:'Zona Pro';font-style:normal;font-weight:900;font-display:swap;src:url('../font/zona-pro/ZonaPro-Black.woff2') format('woff2');}
@font-face{font-family:'Zona Pro';font-style:italic;font-weight:100;font-display:swap;src:url('../font/zona-pro/ZonaPro-HairlineItalic.woff2') format('woff2');}
@font-face{font-family:'Zona Pro';font-style:italic;font-weight:200;font-display:swap;src:url('../font/zona-pro/ZonaPro-ThinItalic.woff2') format('woff2');}
@font-face{font-family:'Zona Pro';font-style:italic;font-weight:300;font-display:swap;src:url('../font/zona-pro/ZonaPro-LightItalic.woff2') format('woff2');}
@font-face{font-family:'Zona Pro';font-style:italic;font-weight:400;font-display:swap;src:url('../font/zona-pro/ZonaPro-RegularItalic.woff2') format('woff2');}
@font-face{font-family:'Zona Pro';font-style:italic;font-weight:600;font-display:swap;src:url('../font/zona-pro/ZonaPro-SemiBoldItalic.woff2') format('woff2');}
@font-face{font-family:'Zona Pro';font-style:italic;font-weight:700;font-display:swap;src:url('../font/zona-pro/ZonaPro-BoldItalic.woff2') format('woff2');}
@font-face{font-family:'Zona Pro';font-style:italic;font-weight:800;font-display:swap;src:url('../font/zona-pro/ZonaPro-ExtraBoldItalic.woff2') format('woff2');}
@font-face{font-family:'Zona Pro';font-style:italic;font-weight:900;font-display:swap;src:url('../font/zona-pro/ZonaPro-BlackItalic.woff2') format('woff2');}

/* the incumbent theme still names the old Hexabit faces in ~50 rules; alias them
   onto Zona Pro so nothing is left rendering the previous type. */
@font-face{font-family:'Hexabit-Bold';font-style:normal;font-weight:400;font-display:swap;src:url('../font/zona-pro/ZonaPro-Bold.woff2') format('woff2');}
@font-face{font-family:'Hexabit-Bold';font-style:normal;font-weight:700;font-display:swap;src:url('../font/zona-pro/ZonaPro-Bold.woff2') format('woff2');}
@font-face{font-family:'Hexabit-bold';font-style:normal;font-weight:400;font-display:swap;src:url('../font/zona-pro/ZonaPro-Bold.woff2') format('woff2');}
@font-face{font-family:'Hexabit-bold';font-style:normal;font-weight:700;font-display:swap;src:url('../font/zona-pro/ZonaPro-Bold.woff2') format('woff2');}
@font-face{font-family:'Hexabit-book';font-style:normal;font-weight:400;font-display:swap;src:url('../font/zona-pro/ZonaPro-Regular.woff2') format('woff2');}
@font-face{font-family:'Hexabit-book';font-style:normal;font-weight:400;font-display:swap;src:url('../font/zona-pro/ZonaPro-Regular.woff2') format('woff2');}
@font-face{font-family:'Hexabit-Book';font-style:normal;font-weight:400;font-display:swap;src:url('../font/zona-pro/ZonaPro-Regular.woff2') format('woff2');}
@font-face{font-family:'Hexabit-Book';font-style:normal;font-weight:400;font-display:swap;src:url('../font/zona-pro/ZonaPro-Regular.woff2') format('woff2');}
@font-face{font-family:'Hexabit-Light';font-style:normal;font-weight:400;font-display:swap;src:url('../font/zona-pro/ZonaPro-Light.woff2') format('woff2');}
@font-face{font-family:'Hexabit-Light';font-style:normal;font-weight:300;font-display:swap;src:url('../font/zona-pro/ZonaPro-Light.woff2') format('woff2');}
@font-face{font-family:'Hexabit-light';font-style:normal;font-weight:400;font-display:swap;src:url('../font/zona-pro/ZonaPro-Light.woff2') format('woff2');}
@font-face{font-family:'Hexabit-light';font-style:normal;font-weight:300;font-display:swap;src:url('../font/zona-pro/ZonaPro-Light.woff2') format('woff2');}
@font-face{font-family:'Hexabit-thin';font-style:normal;font-weight:400;font-display:swap;src:url('../font/zona-pro/ZonaPro-Thin.woff2') format('woff2');}
@font-face{font-family:'Hexabit-thin';font-style:normal;font-weight:200;font-display:swap;src:url('../font/zona-pro/ZonaPro-Thin.woff2') format('woff2');}

:root{
  --ink:#595959;        /* darkest text on the site — the client wants no black type */
  --ink-2:#595959;
  --muted:#8b8894;
  --paper:#ffffff;
  --paper-2:#f5f3ef;
  --brand:#2f2484;
  --brand-700:#2a2464;
  --brand-100:#ecebf6;
  --gold:#fac51c;
  --rect:#f9ee41;      /* the marker yellow: nav/hero/category rectangles */
  --gold-2:#fbd585;
  --dark:#14120f;
  --line:rgba(20,18,15,.14);
  --line-soft:rgba(20,18,15,.08);
  --radius:3px;
  --shadow:0 34px 64px -34px rgba(20,18,15,.34);
  --display:'Zona Pro', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --sans:'Zona Pro', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* --- Base + the signature warm blooms bleeding from the edges --- */
body{
  font-family:var(--sans);
  color:var(--ink-2);
  font-size:1.0625rem;
  line-height:1.7;
  letter-spacing:0;
  background:linear-gradient(155deg, #ffffff 30%, rgba(47, 36, 132, 0.22) 130%);
  background-attachment:fixed;
  min-height:100vh;
}
p{letter-spacing:0 !important;}
::selection{background:var(--brand);color:#fff;}

/* Kill the old ornamental blobs / curved masks — Echo is flat + rectangular,
   and its own warmth comes from the blooms above, not from theme graphics. */
body::before,
.carouselMain-wrap::before,.carouselMain-wrap::after,
.footer-wrap::before,.footer-wrap::after{background-image:none !important;content:none !important;}
.carouselMain-mega-wrap{background-image:none !important;background-color:transparent !important;}
.carouselMain-wrap{-webkit-mask-image:none !important;mask-image:none !important;background:transparent !important;padding-bottom:4rem !important;}
.stats-analysis-mega-wrap,.faq-mega-wrap,.faq-wrap{
  -webkit-mask-image:none !important;mask-image:none !important;background-image:none !important;margin-bottom:0 !important;
}
.stats-analysis-mega-wrap{background:transparent !important;padding:5.5rem 0 !important;}
.faq-mega-wrap{background:transparent !important;padding:5.5rem 0 !important;}
.faq-wrap{background:transparent !important;padding-bottom:0 !important;}
.parallax{background-image:none !important;background:transparent !important;background-attachment:scroll !important;height:auto !important;padding:0 !important;}

/* --- Typography: heavy geometric sans, high contrast --- */
h1,h2,h3,h4,h5,h6,
.title-style,.section-title>h2,.section-title h2,.white-title,.contact-name,.slogan-title-text-wrap{
  font-family:var(--display) !important;
  color:var(--ink);
  font-weight:700 !important;
  letter-spacing:-.03em !important;
  line-height:1.08;
  text-transform:none !important;
}
h1{font-size:clamp(2.6rem,5.6vw,5rem);}
h2{font-size:clamp(2.1rem,3.9vw,3.4rem);}
h3{font-size:clamp(1.45rem,2.3vw,2rem);}
h4{font-size:1.35rem;}
h5{font-size:1.1rem;}
.lead,.head-landing-text-wrap p{font-size:1.16rem;line-height:1.7;color:var(--ink-2);}

a{color:var(--ink);transition:color .3s var(--ease);}
a:hover{color:var(--brand);}

/* --- Hero: big bold centered headline + feature image band (Echo) --- */
.carouselMain-wrap{padding-top:3rem !important;}
.carouselMain-items-main-wrap{flex-direction:column !important;align-items:center !important;text-align:center;gap:1.5rem;width:100%;max-width:100%;}
.carouselMain-left-side-wrap{max-width:min(960px,100%);width:100%;text-align:center;padding:0 1rem;}
.head-landing-title-wrap{justify-content:center !important;margin-bottom:1.25rem;}
.head-landing-title-wrap>h1,.head-landing-title-wrap>h2,
.title-style.purple-title{
  font-family:var(--display) !important;font-weight:700 !important;
  font-size:clamp(2.7rem,6vw,5.5rem) !important;line-height:1.02 !important;
  letter-spacing:-.035em !important;color:var(--ink) !important;
  display:block !important;
}
.title-style.purple-title span{font-size:inherit !important;}
.title-style.purple-title strong{font-weight:700 !important;}
.echo-hi{color:var(--brand) !important;background:linear-gradient(transparent 60%, var(--gold-2) 0);padding:0 .04em;}
.echo-eyebrow{display:block;font-family:var(--display);font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 1rem;}
.carouselMain-left-side-wrap .head-landing-text-wrap p{max-width:60ch;margin:0 auto;font-size:1.18rem;color:var(--ink-2);}
@media (max-width:600px){
  .head-landing-title-wrap>h1,.head-landing-title-wrap>h2,.title-style.purple-title{font-size:clamp(2rem,8.5vw,2.9rem) !important;overflow-wrap:break-word;}
}
/* Mobile overflow guard: flex children default to min-width:auto (their
   content size), so the portrait hero image refused to shrink and dragged
   the column past the viewport. Allow them to shrink and cap to 100%. */
@media (max-width:768px){
  body{overflow-x:hidden;}
  .carouselMain-mega-wrap,.carouselMain-wrap,.carouselMain-inner-wrap,
  .carouselMain-items-main-wrap,.carouselMain-left-side-wrap,.carouselMain-right-side-wrap,
  .carouselMain-left-side-wrap .head-landing-text-wrap{max-width:100% !important;min-width:0 !important;}
  .carouselMain-mega-wrap .container{width:100% !important;max-width:100% !important;padding-left:16px;padding-right:16px;}
  /* Viewport-relative caps so nothing can exceed the screen width */
  .carouselMain-left-side-wrap .head-landing-text-wrap p{max-width:90vw !important;margin-inline:auto;}
  .head-landing-title-wrap>h1,.head-landing-title-wrap>h2,.title-style.purple-title{max-width:92vw !important;}
  .carouselMain-right-side-wrap .carousel-item img{max-width:min(420px,86vw) !important;}
  .carouselMain-right-side-wrap #carouselMain{max-width:88vw !important;}
}
.carouselMain-right-side-wrap{width:100% !important;max-width:100%;margin-top:2.5rem;display:flex;justify-content:center;}
.carouselMain-right-side-wrap #carouselMain{width:100%;max-width:min(900px,100%);}
.carouselMain-right-side-wrap .carousel-item img{max-height:560px;max-width:100%;width:auto;margin:0 auto;}

/* --- Header / nav — Title Case, dark, tight (like Echo) --- */
#headmenu .navbar{position:relative;transition:box-shadow .4s var(--ease);padding-top:.9rem;padding-bottom:.9rem;}
/* header glass on a ::before layer (a sibling of the menu content, NOT an
   ancestor of the dropdown) so it doesn't break the dropdown's own
   backdrop-filter when scrolled. Same glass recipe as the dropdown. */
.nav-glass{position:absolute;inset:0;z-index:0;background:rgba(255,255,255,0);-webkit-backdrop-filter:none;backdrop-filter:none;transition:background-color .4s var(--ease);pointer-events:none;}
#headmenu .navbar>.container{position:relative;z-index:1;}
#headmenu .navbar{background:transparent !important;box-shadow:none !important;}
#headmenu.backdrop .navbar{background:transparent !important;box-shadow:0 8px 30px -18px rgba(20,18,15,.22) !important;}
#headmenu.backdrop .nav-glass{background:rgba(255,255,255,.85);-webkit-backdrop-filter:saturate(1.8) blur(26px);backdrop-filter:saturate(1.8) blur(26px);}
/* the homepage nav sits on the hero video, so it keeps its glass at rest too */
.has-video-hero .nav-glass{background:rgba(255,255,255,.85);-webkit-backdrop-filter:saturate(1.8) blur(26px);backdrop-filter:saturate(1.8) blur(26px);}
.menu>.nav-item>.nav-link,.navbar .nav-link{
  font-family:var(--display) !important;text-transform:none !important;letter-spacing:0;
  font-size:1.12rem;font-weight:500 !important;color:var(--brand) !important;padding-left:1.05rem;padding-right:1.05rem;
}
/* remove old purple hover/active rectangle */
#mainNavbar .nav-link:hover,#mainNavbar .nav-item:last-child .nav-link:hover,
#mainNavbar .nav-item.active>.nav-link,#mainNavbar .nav-item.current>.nav-link{background-color:transparent !important;color:var(--brand) !important;}
#headmenu .navbar-brand img{width:216px;height:auto;}
/* yellow-rectangle highlight (like hero "ideas") on hover + active */
.menu>.nav-item>.nav-link{position:relative;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Crect width='16' height='16' rx='2' fill='%23f9ee41'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem bottom .5rem;background-size:0 0;transition:background-size .25s var(--ease),color .25s var(--ease);}
.menu>.nav-item>.nav-link:hover,
.menu>.nav-item.active>.nav-link,
.menu>.nav-item.current>.nav-link,
.menu>.nav-item>.nav-link.active{background-size:1em 1em;}
.navbar .nav-link:hover{color:var(--brand) !important;}

/* 3-column header: logo | menu | social+phone */
@media (min-width:992px){
  #headmenu .navbar>.container{display:flex;align-items:center;justify-content:space-between;gap:24px;}
  #headmenu #mainNavbar{flex:0 1 auto;display:flex !important;justify-content:center;}
  #headmenu .menu{margin:0;display:flex;align-items:center;gap:.15rem;}
  #headmenu .head-social-wrap{flex:0 0 auto;display:flex;align-items:center;gap:16px;margin:0;}
}
/* login button (outline pill, clearly a login) */
.head-login{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-weight:600;font-size:.9rem;color:var(--brand);white-space:nowrap;padding:.5rem 1.05rem;border-radius:999px;border:1.5px solid var(--brand);background:transparent;transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease);}
.head-login em{font-size:1.2rem;line-height:1;}
.head-login:hover{background:var(--brand);color:#fff;transform:translateY(-2px);}
/* social icon circles (bolder fill icons) */
.head-socials{display:flex;align-items:center;gap:9px;}
#headmenu .head-socials .social-item{margin:0;}
#headmenu .head-socials .social-item a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--brand);background:var(--brand-100);border:0;transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease);}
#headmenu .head-socials .social-item a em{font-size:1.15rem;line-height:1;}
#headmenu .head-socials .social-item a:hover{background:var(--brand);color:#fff;transform:translateY(-2px);}
/* phone: gradient pill */
.head-phone{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:.92rem;color:#fff;white-space:nowrap;padding:.6rem 1.25rem;border-radius:999px;background:linear-gradient(120deg,var(--brand) 0%,#5b4fb8 55%,#ffffff 165%);box-shadow:0 13px 26px -14px rgba(57,49,134,.7);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.head-phone em,.head-phone i{color:#fff;font-size:1.15rem;}
.head-phone:hover{color:#fff;transform:translateY(-2px);box-shadow:0 17px 32px -14px rgba(57,49,134,.78);}
@media (max-width:991px){.head-social-wrap{display:none;}}
/* dropdown: no caret, rounded, borderless, arrow-on-hover items, safe hover bridge */
.navbar .dropdown-toggle::after{display:none !important;}
.dropdown-menu{border:0 !important;border-radius:16px;padding:.55rem 0;box-shadow:0 30px 60px -28px rgba(20,18,15,.4);margin-top:0;background:rgba(255,255,255,.5) !important;-webkit-backdrop-filter:saturate(1.8) blur(26px);backdrop-filter:saturate(1.8) blur(26px);}
.dropdown-item{position:relative;text-transform:none;letter-spacing:0;font-size:.96rem;font-weight:600;padding:.58rem 1.5rem .58rem 2.5rem;color:var(--ink-2);transition:color .25s ease-in,transform .25s ease-in;}
.dropdown-item::before{content:"";position:absolute;left:1.4rem;top:50%;width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f2484' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;opacity:0;transform:translate(-8px,-50%);transition:opacity .25s ease-in,transform .25s ease-in;}
.dropdown-item:hover,.dropdown-item:focus,.dropdown-item:active,.dropdown-item.active,.dropdown-menu .nav-item.active>.dropdown-item,.dropdown-menu .nav-item.current>.dropdown-item{background:transparent !important;color:var(--brand) !important;}
.dropdown-item:hover,.dropdown-item.active,.dropdown-menu .nav-item.active>.dropdown-item,.dropdown-menu .nav-item.current>.dropdown-item{transform:translateX(5px);}
.dropdown-item:hover::before,.dropdown-item.active::before,.dropdown-menu .nav-item.active>.dropdown-item::before,.dropdown-menu .nav-item.current>.dropdown-item::before{opacity:1;transform:translate(0,-50%);}
@media (min-width:992px){
  .navbar .nav-item.dropdown>.dropdown-menu{display:block;opacity:0;visibility:hidden;transform:translateY(10px);pointer-events:none;margin-top:0;padding-top:16px;transition:opacity .28s ease-in,transform .28s ease-in,visibility .28s ease-in;}
  .navbar .nav-item.dropdown:hover>.dropdown-menu,
  .navbar .nav-item.dropdown>.dropdown-menu:hover{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;}
}
.head-social-wrap .social-item a:hover{color:var(--brand);}

/* --- Buttons: solid accent, rounded, bold Title Case (Echo pills) --- */
.purple-rounded-btn,.btn-primary,.btn.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--display) !important;text-transform:none !important;letter-spacing:0;
  font-size:.98rem !important;font-weight:700;
  background:var(--brand) !important;color:#fff !important;border:0 !important;
  border-radius:999px !important;padding:.95rem 2rem !important;
  box-shadow:0 16px 30px -16px rgba(57,49,134,.75);
  transition:background .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);
}
.purple-rounded-btn:hover,.btn-primary:hover,.btn.btn-primary:hover{
  background:var(--brand-700) !important;color:#fff !important;transform:translateY(-2px);
  box-shadow:0 22px 38px -16px rgba(57,49,134,.7);opacity:1 !important;
}

/* --- Section titles: big bold, left or centered as authored --- */
.section-title{display:block;}
.section-title>h2,.section-title h2{
  background:none !important;background-image:none !important;color:var(--ink) !important;
  padding:0 !important;margin-bottom:2.5rem !important;box-shadow:none !important;
  font-size:clamp(2.1rem,3.9vw,3.4rem) !important;
}
.contact-name{color:var(--brand) !important;}

/* --- Dark inverse block: the counters band (Echo's black boxes) --- */
.stats-analysis-counters-wrap{
  background:var(--dark);color:#fff;border-radius:var(--radius);padding:3.5rem 2rem;
  box-shadow:0 50px 90px -55px rgba(20,18,15,.85);
}
.stats-analysis-counters-wrap .purecounter,
.stats-analysis-counters-wrap h2,.stats-analysis-counters-wrap h3{color:#fff !important;font-family:var(--display) !important;font-weight:700 !important;}
.stats-analysis-counters-wrap p,.stats-analysis-counters-wrap span{color:rgba(255,255,255,.72) !important;}
.stats-analysis-mega-wrap .section-title-wrap{display:none !important;}
.stats-analysis-mega-wrap .text-style{color:var(--ink) !important;background:transparent !important;letter-spacing:0 !important;text-align:center;max-width:60ch;margin:2.5rem auto 0;}

/* --- Cards: sharp, flat Echo cards --- */
.blog-item-wrap,.ipiresia-item-wrap,.portfolio-right-img-wrap,.portfolio-left-side-wrap{
  background:#fff;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;position:relative;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease);
}
.blog-item-wrap:hover,.ipiresia-item-wrap:hover,.portfolio-right-img-wrap:hover{
  transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--line);
}
.blog-item-wrap img,.portfolio-right-img-wrap img{transition:transform .7s var(--ease);}
.blog-item-wrap:hover img,.portfolio-right-img-wrap:hover img{transform:scale(1.05);}

/* Echo service card: icon top-left, title, text, drawn arrow bottom-left */
.ipiresia-item-wrap{text-align:left;padding:0 0 3.6rem;min-height:236px;}
.ipiresia-item-wrap .newsflash-image{margin:0;}
.ipiresia-item-wrap .newsflash-image img{height:50px;width:auto;max-width:130px;object-fit:contain;margin:1.7rem 0 .2rem 1.7rem;}
.ipiresia-item-wrap .newsflash-title{font-family:var(--display);font-weight:700;font-size:1.26rem;letter-spacing:-.02em;color:var(--ink);padding:.9rem 1.7rem .4rem;line-height:1.12;}
.ipiresia-item-wrap .introtext-wrap{padding:0 1.7rem;color:var(--ink-2);font-size:.95rem;line-height:1.6;}
.ipiresia-item-wrap::after{content:"";position:absolute;left:1.7rem;bottom:1.5rem;width:28px;height:18px;background:no-repeat left center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141210' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 5l7 7-7 7'/%3E%3C/svg%3E");opacity:.85;transition:transform .3s var(--ease);pointer-events:none;}
.ipiresia-item-wrap:hover::after{transform:translateX(6px);}

/* --- Footer: near-black (Echo) --- */
.footer-wrap{background:var(--dark);color:rgba(255,255,255,.7);padding-top:6rem;padding-bottom:2.5rem;}
.footer-wrap h1,.footer-wrap h2,.footer-wrap h3,.footer-wrap h4,.footer-wrap h5{color:#fff !important;}
.footer-wrap a{color:rgba(255,255,255,.72);}
.footer-wrap a:hover{color:#fff;}
.footer-wrap .footer-logo-wrap img{filter:brightness(0) invert(1);}
.footer-address-text,.footer-phone-a{color:rgba(255,255,255,.72) !important;}
.footer-phone-a:hover{color:#fff !important;}
.footer-social-wrap a{color:rgba(255,255,255,.7);}
.footer-social-wrap a:hover{color:#fff;}
.footer-contact-btn-wrap .purple-rounded-btn{background:#fff !important;color:var(--brand) !important;}
.footer-contact-btn-wrap .purple-rounded-btn:hover{background:var(--brand-100) !important;color:var(--brand) !important;}

/* --- Forms --- */
input,textarea,select{border-radius:var(--radius) !important;}
input:focus,textarea:focus,select:focus{border-color:var(--brand) !important;box-shadow:0 0 0 3px var(--brand-100) !important;outline:none !important;}
a:focus-visible,button:focus-visible,.btn:focus-visible,.nav-link:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:4px;}

/* --- FAQ accordion --- */
.accordion-button{font-family:var(--display);font-weight:700;}

/* --- Service landing: flat Echo two-column (sticky menu + flowing products) --- */
.materials-info-tabs-mega-wrap{-webkit-mask-image:none !important;mask-image:none !important;height:auto !important;margin-bottom:0 !important;background:transparent !important;padding:3.5rem 0 5.5rem !important;}
.materials-info-tabs-inner-wrap{height:auto !important;align-items:flex-start !important;gap:3.5rem;max-width:1200px;margin:0 auto;padding:0 1.5rem;}
.materials-left-side-wrap{background:transparent !important;height:auto !important;flex-basis:28% !important;flex-shrink:0;position:sticky;top:100px;align-self:flex-start;padding:1rem 0 !important;align-items:stretch !important;justify-content:flex-start !important;overflow:visible !important;}
.materials-right-side-wrap{height:auto !important;overflow:visible !important;flex-basis:72% !important;padding:0 !important;}
.materials-right-side-wrap::before{display:none !important;}
.list-item-wrap{margin-bottom:4.5rem !important;padding-top:0 !important;min-height:0 !important;height:auto !important;border-bottom:1px solid var(--line-soft);padding-bottom:3.5rem !important;}
.list-item-wrap:last-child{border-bottom:0;}
.list-item-wrap img{max-height:320px;object-fit:contain;}
.materials-left-side-wrap .list-group{gap:.15rem;width:100%;}
.materials-left-side-wrap .list-group a,.materials-left-side-wrap .list-group-item{border:0 !important;background:transparent !important;padding:.6rem .25rem !important;font-size:.98rem;font-weight:600;color:var(--ink-2) !important;border-bottom:1px solid var(--line-soft) !important;border-radius:0 !important;transition:color .3s var(--ease),transform .3s var(--ease);}
.materials-left-side-wrap .list-group a:hover,.materials-left-side-wrap .list-group-item:hover{color:var(--brand) !important;transform:translateX(6px);}
.materials-left-side-wrap .list-group a.active,.materials-left-side-wrap .list-group-item.active{color:var(--brand) !important;font-weight:700;background:transparent !important;}

/* --- Motion: one authored entrance --- */
@media (prefers-reduced-motion:no-preference){
  .carouselMain-inner-wrap,.head-landing-text-wrap{animation:echoRise 1s var(--ease) both;}
  .head-landing-title-wrap>h1,.head-landing-title-wrap>h2{animation:echoRise 1s var(--ease) .08s both;}
}
@keyframes echoRise{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}

hr{border:0;border-top:1px solid var(--line);opacity:1;}

/* ===================================================================
   HOMEPAGE — Echo-layout rebuild (eh-* scope)
   Mirrors echo.ancorathemes.com section-for-section, brand blue accent.
   =================================================================== */
/* clip the full-bleed sections horizontally WITHOUT turning <main> into a scroll
   container: overflow-x:hidden forces overflow-y to auto, which gave the page a
   second vertical scrollbar. overflow-x:clip leaves the y axis visible.
   The hidden line stays first as the fallback for browsers without clip. */
main{overflow-x:hidden;overflow-x:clip;}
.eh-wrap{max-width:1240px;margin:0 auto;padding:0 28px;position:relative;z-index:2;}
.eh-eyebrow{font-family:var(--display);font-size:.74rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:14px;}
.eh-sec{padding:72px 0;}
.eh-sec-tight{padding:44px 0;}

/* hero */
.eh-hero{padding:142px 0 88px;}
.eh-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;position:relative;z-index:2;}
.eh-hero-title{font-family:var(--display);font-weight:700;letter-spacing:-.04em;line-height:1.02;font-size:clamp(2.4rem,4.6vw,4.4rem);margin:0;color:var(--ink);text-align:left;}
.eh-hero-title .hl{color:var(--brand);position:relative;z-index:0;}
.eh-hero-title .hl::after{content:"";position:absolute;right:-.09em;bottom:.15em;width:.4em;height:.4em;background:var(--rect);z-index:-1;border-radius:2px;}
.eh-hero-sub{max-width:54ch;margin:24px 0 0;font-size:1.1rem;line-height:1.75;color:var(--ink-2);text-align:left;}
.eh-hero-ph{position:relative;width:100%;height:clamp(360px,40vw,520px);border-radius:16px;background:linear-gradient(135deg,#f1f0f6,#f7f6f3);overflow:hidden;box-shadow:0 22px 54px -30px rgba(20,18,15,.30);}
.eh-hero-ph img{width:100%;height:100%;object-fit:contain;display:block;padding:20px;will-change:transform;}
.eh-hero-ph .eh-hslide{position:absolute;inset:0;opacity:0;transition:opacity .9s var(--ease);pointer-events:none;}
.eh-hero-ph .eh-hslide.is-active{opacity:1;}
.eh-hdots{display:flex;justify-content:center;gap:9px;margin-top:22px;}
.eh-hdots button{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:rgba(57,49,134,.28);cursor:pointer;transition:background .3s var(--ease);}
.eh-hdots button:hover{background:rgba(57,49,134,.55);}
.eh-hdots button.is-active{width:26px;background:var(--brand);}
@media (max-width:900px){.eh-hero{padding-top:104px;}.eh-hero-grid{grid-template-columns:1fr;gap:30px;}.eh-hero-ph{height:clamp(230px,56vw,360px);}}

/* section header: title/eyebrow left, description + arrows right */
.eh-head{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:end;margin-bottom:44px;}
.eh-head--top{align-items:start;}
.eh-head h2{font-family:var(--display);font-weight:700;letter-spacing:-.03em;font-size:clamp(2rem,3.6vw,3rem);color:var(--brand);line-height:1.05;}
.eh-head .desc{color:var(--ink-2);font-size:1rem;}
.eh-arrows{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;}
.eh-arrow{width:46px;height:46px;border:1px solid var(--line);background:var(--paper);border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);}
.eh-arrow:hover{background:var(--brand);color:#fff;border-color:var(--brand);}
.eh-arrow svg{width:20px;height:20px;}

/* services card row */
.eh-slider{overflow:hidden;padding:30px 32px 94px 32px;margin-top:-30px;margin-bottom:-94px;margin-left:-32px;margin-right:calc(50% - 50vw);
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46'%3E%3Ccircle cx='23' cy='23' r='22' fill='%232f2484'/%3E%3Cg stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 23h18'/%3E%3Cpath d='M18 18l-5 5 5 5'/%3E%3Cpath d='M28 18l5 5-5 5'/%3E%3C/g%3E%3C/svg%3E") 23 23, grab;}
.eh-slider.dragging{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46'%3E%3Ccircle cx='23' cy='23' r='22' fill='%232a2464'/%3E%3Cg stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 23h18'/%3E%3Cpath d='M18 18l-5 5 5 5'/%3E%3Cpath d='M28 18l5 5-5 5'/%3E%3C/g%3E%3C/svg%3E") 23 23, grabbing;}
.eh-track{display:flex;gap:52px;transition:transform .55s cubic-bezier(.4,0,.2,1);will-change:transform;}
.eh-card{flex:0 0 calc((100% - 3 * 52px) / 4);border:0;border-radius:16px;background:var(--paper);box-shadow:0 14px 32px -24px rgba(20,18,15,.26);padding:46px 38px 34px;min-height:344px;display:flex;flex-direction:column;transition:transform .45s var(--ease),box-shadow .45s var(--ease);position:relative;color:inherit;cursor:inherit;}
.eh-card *{cursor:inherit;}
.eh-card:hover{transform:translateY(-8px);box-shadow:0 24px 44px -28px rgba(20,18,15,.34);z-index:2;}
@media (max-width:1100px){.eh-card{flex-basis:calc((100% - 52px) / 2);}}
@media (max-width:640px){.eh-card{flex-basis:100%;}}
.eh-card .ic{width:50px;height:50px;color:var(--ink);margin-bottom:32px;}
.eh-card .ic-img{height:52px;width:auto;max-width:132px;object-fit:contain;object-position:left center;display:block;margin-bottom:28px;}
.eh-card h3{font-family:var(--display);font-weight:700;font-size:1.28rem;letter-spacing:-.02em;color:var(--brand);line-height:1.14;margin-bottom:11px;}
.eh-card .sub{color:var(--ink-2);font-size:.92rem;line-height:1.6;}
.eh-card .go{margin-top:auto;padding-top:24px;color:var(--ink);display:inline-flex;}
.eh-card:hover .go{color:var(--brand);}
.eh-card .go svg{width:26px;height:16px;transition:transform .3s var(--ease);}
.eh-card:hover .go svg{transform:translateX(6px);}

/* feature: image + caption box | numbered list */
.eh-feature{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.eh-capimg{position:relative;min-height:450px;background-size:cover;background-position:center;border-radius:16px;overflow:hidden;box-shadow:0 22px 54px -30px rgba(20,18,15,.30);}
.eh-capbox{position:absolute;left:0;bottom:0;background:linear-gradient(135deg,var(--brand) 0%,#5b4fb8 55%,#ffffff 165%);color:#fff;padding:28px 34px;max-width:78%;border-top-right-radius:16px;}
.eh-capbox b{font-family:var(--display);display:block;font-size:1.7rem;font-weight:700;letter-spacing:-.02em;line-height:1.1;}
.eh-feature h2{font-family:var(--display);font-weight:700;letter-spacing:-.03em;font-size:clamp(1.9rem,3.4vw,2.8rem);color:var(--brand);margin:14px 0 12px;line-height:1.05;}
.eh-feature p{color:var(--ink-2);}
.eh-numlist{margin:22px 0 26px;}
.eh-numlist .r{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line);}
.eh-numlist .n{font-family:var(--display);font-weight:700;color:var(--brand);font-size:1.1rem;line-height:1.4;}
.eh-numlist .t{display:flex;flex-direction:column;gap:4px;}
.eh-numlist .t b{font-family:var(--display);font-weight:700;color:var(--brand);font-size:1.08rem;letter-spacing:-.01em;line-height:1.3;}
.eh-numlist .t>span{font-family:var(--sans);font-weight:500;color:var(--ink-2);font-size:.9rem;line-height:1.55;}
.eh-numlist .r:last-child{border-bottom:0;}
.eh-feat-left{display:flex;flex-direction:column;align-items:flex-start;gap:30px;}
.eh-feat-left .eh-capimg{width:100%;}

/* client logos */
.eh-clients{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:34px;}
.eh-clients img{height:44px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.55;transition:filter .4s var(--ease),opacity .4s var(--ease);}
.eh-clients img:hover{filter:grayscale(0);opacity:1;}

/* portfolio masonry */
.eh-portfolio{columns:4;column-gap:16px;}
.eh-portfolio--full{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:0 clamp(16px,3vw,48px);columns:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.eh-portfolio.eh-portfolio--full .eh-ph{position:relative;width:auto;margin:0;aspect-ratio:1/1;border-radius:16px;overflow:hidden;display:block;}
.eh-portfolio--full .eh-ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.eh-portfolio--full .eh-ph:hover img{transform:scale(1.06);}
.eh-portfolio--full .eh-ph-ov{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:5px;padding:24px;background:rgba(255,255,255,0);-webkit-backdrop-filter:blur(0) saturate(1);backdrop-filter:blur(0) saturate(1);-webkit-mask-image:linear-gradient(to top,#000 0%,#000 22%,rgba(0,0,0,0) 60%);mask-image:linear-gradient(to top,#000 0%,#000 22%,rgba(0,0,0,0) 60%);transition:background-color .45s var(--ease),-webkit-backdrop-filter .45s var(--ease),backdrop-filter .45s var(--ease);}
.eh-portfolio--full .eh-ph:hover .eh-ph-ov{background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(18px) saturate(1.8);backdrop-filter:blur(18px) saturate(1.8);}
.eh-portfolio--full .eh-ph-ov .cat{color:var(--brand);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease),transform .45s var(--ease);}
.eh-portfolio--full .eh-ph-ov .ttl{color:var(--ink);font-family:var(--display);font-weight:700;font-size:1.15rem;letter-spacing:-.01em;line-height:1.2;opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease) .04s,transform .45s var(--ease) .04s;}
.eh-portfolio--full .eh-ph:hover .eh-ph-ov .cat,.eh-portfolio--full .eh-ph:hover .eh-ph-ov .ttl{opacity:1;transform:translateY(0);}
.eh-portfolio a{display:block;margin:0 0 16px;overflow:hidden;break-inside:avoid;border-radius:3px;background:var(--paper-2);}
.eh-portfolio img{width:100%;display:block;transition:transform .6s var(--ease);}
.eh-portfolio a:hover img{transform:scale(1.05);}

/* achievements (Echo "Awards") */
.eh-awards{display:grid;grid-template-columns:1fr 1fr;gap:0 64px;}
.eh-aw{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line);}
.eh-aw .nm{font-family:var(--display);font-weight:700;color:var(--ink);font-size:1.16rem;}
.eh-aw .ds{color:var(--muted);font-size:.88rem;margin-top:5px;max-width:36ch;}
.eh-aw .num{font-family:var(--display);font-weight:700;color:var(--brand);font-size:2.1rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1;}

/* FAQ accordion */
.eh-faq{border-top:1px solid var(--line);}
.eh-faq-item{border-bottom:1px solid var(--line);}
.eh-faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:28px;background:none;border:0;cursor:pointer;text-align:left;padding:26px 2px;font-family:var(--display);font-weight:700;letter-spacing:-.01em;font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.3;color:var(--ink);transition:color .3s var(--ease);}
.eh-faq-q:hover{color:var(--brand);}
.eh-faq-item.open>.eh-faq-q{color:var(--brand);}
.eh-faq-ic{position:relative;flex:0 0 42px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);color:var(--ink);display:grid;place-items:center;transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease);}
.eh-faq-ic::before,.eh-faq-ic::after{content:"";position:absolute;background:currentColor;border-radius:2px;transition:transform .3s var(--ease),opacity .3s var(--ease);}
.eh-faq-ic::before{width:14px;height:2px;}
.eh-faq-ic::after{width:2px;height:14px;}
.eh-faq-q:hover .eh-faq-ic{border-color:var(--brand);color:var(--brand);}
.eh-faq-item.open .eh-faq-ic{background:var(--brand);border-color:var(--brand);color:#fff;}
.eh-faq-item.open .eh-faq-ic::after{transform:rotate(90deg);opacity:0;}
.eh-faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease);}
.eh-faq-item.open .eh-faq-a{grid-template-rows:1fr;}
.eh-faq-a-in{overflow:hidden;}
.eh-faq-a-in p{color:var(--ink-2);font-size:1rem;line-height:1.75;max-width:88ch;margin:0;padding:0 2px 28px;}

/* latest blog cards */
.eh-blog{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.eh-bcard{display:flex;flex-direction:column;background:var(--paper);border-radius:16px;overflow:hidden;box-shadow:0 14px 32px -24px rgba(20,18,15,.26);transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
.eh-bcard:hover{transform:translateY(-8px);box-shadow:0 24px 44px -28px rgba(20,18,15,.34);}
.eh-bcard-img{display:block;aspect-ratio:16/10;background-size:cover;background-position:center;transition:transform .6s var(--ease);}
.eh-bcard:hover .eh-bcard-img{transform:scale(1.05);}
.eh-bcard-body{display:flex;flex-direction:column;gap:11px;padding:26px 26px 28px;flex:1;}
.eh-bcard-cat{font-size:.72rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);}
.eh-bcard-ttl{font-family:var(--display);font-weight:700;font-size:1.18rem;line-height:1.25;color:var(--ink);letter-spacing:-.01em;}
.eh-bcard-ex{color:var(--ink-2);font-size:.94rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.eh-bcard-more{margin-top:auto;padding-top:6px;display:inline-flex;align-items:center;gap:8px;color:var(--brand);font-weight:700;font-size:.9rem;}
.eh-bcard-more svg{width:16px;height:16px;transition:transform .3s var(--ease);}
.eh-bcard:hover .eh-bcard-more svg{transform:translateX(4px);}
@media (max-width:1000px){.eh-blog{grid-template-columns:1fr 1fr;}}
@media (max-width:660px){.eh-blog{grid-template-columns:1fr;}}

/* CTA band */
.eh-cta{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(120deg,var(--brand) 0%,#5b4fb8 52%,#ffffff 160%);color:#fff;padding:clamp(38px,4.6vw,64px);display:grid;grid-template-columns:1.3fr .9fr;gap:48px;align-items:center;box-shadow:0 30px 70px -34px rgba(57,49,134,.6);}
.eh-cta-copy .eh-eyebrow{color:var(--rect);}
.eh-cta h2{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.14;margin:12px 0 14px;color:#fff;}
.eh-cta p{color:rgba(255,255,255,.85);max-width:48ch;line-height:1.7;margin:0;}
.eh-cta-actions{display:flex;flex-direction:column;gap:26px;align-items:flex-start;}
.eh-cta-btns{display:flex;gap:14px;flex-wrap:wrap;}
.eh-cta-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:1rem;padding:.95rem 2.1rem;border-radius:999px;transition:transform .3s var(--ease),background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);}
.eh-cta-btn--solid{background:#fff;color:var(--brand);}
.eh-cta-btn--solid:hover{background:var(--ink);color:#fff;transform:translateY(-2px);}
.eh-cta-btn--ghost{border:1.5px solid rgba(255,255,255,.6);color:#fff;}
.eh-cta-btn--ghost:hover{background:#fff;color:var(--brand);border-color:#fff;transform:translateY(-2px);}
.eh-cta-phone{display:inline-flex;align-items:center;gap:14px;color:#fff;}
.eh-cta-phone .ic{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.16);display:grid;place-items:center;flex:0 0 48px;transition:background .3s var(--ease);}
.eh-cta-phone:hover .ic{background:rgba(255,255,255,.28);}
.eh-cta-phone .ic svg{width:20px;height:20px;}
.eh-cta-phone small{display:block;font-size:.8rem;color:rgba(255,255,255,.78);letter-spacing:.03em;}
.eh-cta-phone b{font-family:var(--display);font-size:1.42rem;font-weight:700;letter-spacing:.01em;transition:color .3s var(--ease);}
.eh-cta-phone:hover b{color:var(--rect);}
@media (max-width:820px){.eh-cta{grid-template-columns:1fr;gap:30px;}}

/* footer (Echo dark) */
.eh-footer{position:relative;background:linear-gradient(180deg,#2f2484 0%,#2a2464 100%);color:rgba(255,255,255,.72);margin-top:56px;padding:78px 0 32px;}
.eh-foot-grid{display:grid;grid-template-columns:1.25fr 1.05fr 1.4fr .75fr 1.05fr;gap:40px;}
.eh-foot-logo{display:inline-block;}
.eh-foot-logo img{height:52px;width:auto;display:block;}
.eh-foot-tag{margin:22px 0 0;font-size:.95rem;line-height:1.75;max-width:36ch;color:rgba(255,255,255,.55);}
.eh-foot-h{font-family:var(--display);font-weight:700;color:#fff;font-size:1.04rem;letter-spacing:.005em;margin:0 0 18px;}
.eh-foot-col p{margin:0 0 10px;line-height:1.7;font-size:.95rem;font-weight:400;color:rgba(255,255,255,.68);}
.eh-foot-link{color:#fff;font-weight:600;transition:color .3s var(--ease);}
.eh-foot-alt{color:rgba(255,255,255,.68);font-weight:400;transition:color .3s var(--ease);}
.eh-foot-link:hover,.eh-foot-alt:hover,.eh-foot-links a:hover{color:var(--rect);}
.eh-foot-links{list-style:none;margin:0;padding:0;}
.eh-foot-links li{margin-bottom:11px;}
.eh-foot-links a{color:rgba(255,255,255,.68);font-size:.95rem;font-weight:400;line-height:1.5;transition:color .3s var(--ease);}
.eh-foot-socials{display:flex;gap:12px;margin-top:18px;}
.eh-foot-socials a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.18);display:grid;place-items:center;color:#fff;font-size:.95rem;transition:background .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease);}
.eh-foot-socials a:hover{background:var(--brand);border-color:var(--brand);transform:translateY(-3px);}
.eh-foot-bottom{margin-top:58px;padding-top:26px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.86rem;color:rgba(255,255,255,.48);}
.eh-foot-bottom a{color:rgba(255,255,255,.72);transition:color .3s var(--ease);}
.eh-foot-bottom a:hover{color:var(--rect);}
.eh-footer .scrolltop-wrap{position:absolute;right:clamp(16px,3vw,48px);bottom:96px;}

@media (max-width:1199px) and (min-width:901px){.eh-foot-grid{grid-template-columns:repeat(3,1fr);gap:36px;}.eh-foot-brand{grid-column:1 / -1;}}
@media (max-width:900px){
  .eh-foot-grid{grid-template-columns:1fr 1fr;gap:36px;}
  .eh-foot-brand{grid-column:1 / -1;}
  .eh-foot-bottom{flex-direction:column;gap:8px;}
  .eh-head,.eh-feature,.eh-contact-grid,.eh-awards{grid-template-columns:1fr;gap:28px;}
  .eh-portfolio{columns:2;}
  .eh-portfolio--full{grid-template-columns:repeat(3,1fr);}
  .eh-form .frow{grid-template-columns:1fr;}
  .eh-arrows{justify-content:flex-start;}
  .eh-capbox{max-width:90%;}
}
@media (max-width:560px){.eh-portfolio{columns:1;}.eh-portfolio--full{grid-template-columns:repeat(2,1fr);}.eh-foot-grid{grid-template-columns:1fr;gap:32px;}}

/* content-neutral placeholders (no external assets) */
.eh-ph{background:linear-gradient(135deg,#edebf3 0%,#f6f4f1 100%);display:flex;align-items:center;justify-content:center;color:#c6c1d6;overflow:hidden;}
.eh-ph svg{width:56px;height:56px;opacity:.75;}
/* stats counters */
.eh-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;text-align:center;background:linear-gradient(120deg,var(--brand) 0%,#5b4fb8 52%,#ffffff 160%);border-radius:24px;padding:48px 28px;box-shadow:0 26px 60px -32px rgba(57,49,134,.6);}
.eh-stat{padding:16px 20px;}
.eh-stat+.eh-stat{border-left:1px solid rgba(255,255,255,.22);}
.eh-stat-num{font-family:var(--display);font-weight:700;color:#fff;font-size:clamp(2.6rem,4.4vw,3.6rem);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;}
.eh-stat-lb{margin-top:12px;color:rgba(255,255,255,.85);font-weight:600;font-size:1rem;}
@media (max-width:720px){.eh-stats{grid-template-columns:1fr 1fr;gap:34px 0;padding:38px 20px;}.eh-stat:nth-child(3){border-left:0;}}
.eh-portfolio .eh-ph{width:100%;margin:0 0 16px;break-inside:avoid;border-radius:3px;}

/* ============================================================
   SERVICE / PRODUCT-CATEGORY PAGES  (business-cards, flyer, …)
   Echo restyle driven entirely by CSS over the scraped markup.
   ============================================================ */

/* --- Page head: breadcrumb + title grouped, left-aligned --- */
#ipiresia.article-ipiresia-mega-wrap{position:relative;background:transparent;}
.breadcrumbs-wrap{position:static !important;left:auto !important;right:auto !important;top:auto !important;padding:130px 0 0 !important;background:transparent !important;color:var(--muted) !important;}
.breadcrumbs-wrap .moduletable{margin:0;}
.breadcrumbs-wrap .mod-breadcrumbs__wrapper{max-width:none;}
.breadcrumbs-wrap ol.mod-breadcrumbs,.breadcrumbs-wrap ol.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;margin:0 !important;padding:0 !important;background:transparent !important;font-family:var(--display);font-size:.76rem;font-weight:300;letter-spacing:.13em;text-transform:uppercase;}
.breadcrumbs-wrap .mod-breadcrumbs__here{display:none !important;}
.breadcrumbs-wrap .breadcrumb-item{color:var(--muted);}
.breadcrumbs-wrap .breadcrumb-item a,.breadcrumbs-wrap a.pathway{color:var(--muted) !important;transition:color .3s var(--ease);}
.breadcrumbs-wrap .breadcrumb-item a:hover,.breadcrumbs-wrap a.pathway:hover{color:var(--brand) !important;}
.breadcrumbs-wrap .breadcrumb-item.active,.breadcrumbs-wrap .breadcrumb-item:last-child a{color:var(--brand) !important;}
.breadcrumbs-wrap .breadcrumb-item+.breadcrumb-item::before{content:"\203A" !important;color:var(--muted) !important;padding:0 .7em !important;font-weight:600;float:none;}
.ipiresia-wrap{display:none !important;}

/* the products section carries the H1 page title */
.related-products-section{padding-top:16px !important;padding-bottom:24px !important;}
.related-products-section .row>.col-12:first-child{margin-bottom:2.6rem !important;}
.related-products-section h1.title-style{font-family:var(--display) !important;font-weight:700 !important;letter-spacing:-.03em !important;font-size:clamp(2rem,3.6vw,3rem) !important;line-height:1.05 !important;color:var(--brand) !important;text-align:left !important;margin:.4rem 0 0 !important;}

/* --- Product cards: soft shadow + radius like the homepage cards --- */
.related-products-section .product{height:100%;display:flex;flex-direction:column;background:var(--paper);border:0;border-radius:18px;box-shadow:0 18px 40px -18px rgba(20,18,15,.28),0 4px 12px -6px rgba(20,18,15,.12);overflow:hidden;transition:transform .45s var(--ease),box-shadow .45s var(--ease);}
.related-products-section .product:hover{transform:translateY(-8px);box-shadow:0 32px 60px -22px rgba(20,18,15,.36),0 8px 18px -8px rgba(20,18,15,.16);}
.related-products-section .product-image{padding:22px 22px 0 !important;height:240px;background:#fff;border-radius:0 !important;overflow:hidden;justify-content:center;}
.related-products-section .product-image img{height:100% !important;width:100% !important;object-fit:contain;cursor:pointer;transition:transform .5s var(--ease) !important;}
.related-products-section .product-image:after{display:none !important;}
.related-products-section .product:hover .product-image img{transform:scale(1.05);}
.related-products-section:not(.related-products-section--archive) .product-title{flex:1 1 auto;padding:20px 22px 24px !important;text-align:left !important;text-transform:none !important;color:#fff !important;background:linear-gradient(120deg,var(--brand) 0%,#5b4fb8 52%,#ffffff 160%) !important;}
.related-products-section:not(.related-products-section--archive) .product .product-title h2{font-family:var(--display) !important;font-weight:700 !important;font-size:1.12rem !important;letter-spacing:-.005em !important;text-align:left !important;color:#fff !important;margin:0 !important;line-height:1.25;text-transform:uppercase;}
.related-products-section .product .product-title h2 span{cursor:pointer;transition:color .3s var(--ease);}
.related-products-section:not(.related-products-section--archive) .product .product-title h2:hover span{color:var(--gold) !important;}
.related-products-section:not(.related-products-section--archive) .product .product-title .product-short-description p{text-align:left !important;font-size:.9rem !important;line-height:1.55 !important;color:rgba(255,255,255,.85) !important;margin:8px 0 0 !important;padding:0 !important;font-family:var(--sans) !important;}

/* --- Single product page --- */
.related-products-section a.product,.related-products-section a.product:hover{text-decoration:none;color:inherit;}
.related-products-section--product{padding-bottom:72px !important;}
.eh-crumbs-current{color:var(--ink);}
.eh-product{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:clamp(28px,4vw,64px);align-items:start;margin:2.2rem 0 3.2rem;}
@media(max-width:900px){.eh-product{grid-template-columns:1fr;gap:28px;}}
.eh-pg-main{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 18px 40px -22px rgba(20,18,15,.28);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:clamp(20px,3vw,40px);}
.eh-pg-main img{max-width:100%;max-height:100%;object-fit:contain;}
.eh-pg-thumbs{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;}
.eh-pg-thumb{width:76px;height:76px;border-radius:12px;overflow:hidden;background:#fff;border:2px solid var(--line-soft);padding:6px;cursor:pointer;transition:border-color .25s var(--ease),transform .25s var(--ease);}
.eh-pg-thumb img{width:100%;height:100%;object-fit:contain;}
.eh-pg-thumb.is-active,.eh-pg-thumb:hover{border-color:var(--brand);transform:translateY(-2px);}
.eh-pg-extra{margin-top:20px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.eh-pg-extra img{max-height:44px;width:auto;}
.eh-product-summary{padding-top:4px;}
.eh-product-title{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.08;color:var(--brand);margin:0 0 .6rem;}
.eh-product-code{font-family:var(--display);font-size:.9rem;letter-spacing:.03em;color:var(--muted);margin:0 0 1.1rem;}
.eh-product-code a{color:var(--brand);font-weight:700;}
.eh-meta-sep{color:var(--line);margin:0 .35em;}
.eh-product-lead{color:var(--ink-2);font-size:1.08rem;line-height:1.7;margin-bottom:1.7rem;}
.eh-product-cta{margin-bottom:1.6rem;}
.eh-btn-quote{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:1rem;color:#fff !important;text-decoration:none;padding:.95rem 2.1rem;border-radius:999px;background:linear-gradient(120deg,var(--brand) 0%,#5b4fb8 55%,#ffffff 165%);box-shadow:0 16px 30px -14px rgba(57,49,134,.7);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.eh-btn-quote:hover{transform:translateY(-2px);box-shadow:0 22px 40px -16px rgba(57,49,134,.75);color:#fff !important;}
.eh-product-meta{font-size:.95rem;color:var(--muted);border-top:1px solid var(--line-soft);padding-top:1.3rem;}
.eh-product-meta a{color:var(--brand);}
.eh-product-tabs{margin:.5rem 0 3.2rem;}
.eh-prose{color:var(--ink-2);line-height:1.75;font-size:1.02rem;}
.eh-prose p{margin:0 0 1rem;}
.eh-prose ul{color:var(--ink-2);line-height:1.7;padding-left:1.1rem;}
.eh-spec{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1.6rem;margin:0;}
.eh-spec dt{font-family:var(--display);font-weight:700;color:var(--ink);}
.eh-spec dd{margin:0;color:var(--ink-2);}
@media(max-width:560px){.eh-spec{grid-template-columns:1fr;gap:.15rem 0;}.eh-spec dd{margin-bottom:.9rem;}}
.eh-info-cols{display:flex;flex-wrap:wrap;gap:28px;}
.eh-info-cols>div{flex:1 1 280px;min-width:0;}
.eh-related{margin-top:1.5rem;}
.eh-related .eh-cat-title{margin-bottom:1.6rem;}
.eh-specs{margin:1.7rem 0;border-top:1px solid var(--line-soft);}
.eh-spec-row{display:grid;grid-template-columns:135px 1fr;gap:6px 22px;padding:14px 0;border-bottom:1px solid var(--line-soft);}
@media(max-width:560px){.eh-spec-row{grid-template-columns:1fr;gap:2px;}}
.eh-spec-k{font-family:var(--display);font-weight:700;color:var(--ink);font-size:.95rem;}
.eh-spec-v{color:var(--ink-2);line-height:1.6;font-size:.98rem;}
.eh-price-block{margin:1.9rem 0;border:1px solid var(--line-soft);border-radius:16px;padding:22px 24px;background:#fff;}
.eh-price-h{font-family:var(--display);font-weight:700;font-size:1.2rem;letter-spacing:-.01em;color:var(--ink);margin:0 0 16px;}
.eh-price-pick label{display:block;font-family:var(--display);font-weight:700;font-size:.8rem;letter-spacing:.04em;color:var(--muted);margin-bottom:8px;text-transform:uppercase;}
.eh-price-controls{display:flex;flex-wrap:wrap;align-items:center;gap:18px;}
.eh-price-select{appearance:none;-webkit-appearance:none;font-family:var(--display);font-weight:600;font-size:1rem;color:var(--ink);background:var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f2484' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/16px;border:1px solid var(--line-soft);border-radius:12px;padding:.7rem 2.6rem .7rem 1rem;cursor:pointer;min-width:160px;transition:border-color .25s var(--ease),box-shadow .25s var(--ease);}
.eh-price-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100);}
.eh-price-out{display:flex;align-items:baseline;gap:6px;}
.eh-price-val{font-family:var(--display);font-weight:700;font-size:1.9rem;line-height:1;color:var(--brand);}
.eh-price-unit{font-size:.95rem;color:var(--muted);}
.eh-price-extra,.eh-price-notes,.eh-price-inner>.eh-prose{margin-top:16px;font-size:.9rem;}
.eh-price-extra img{max-width:100%;height:auto;}
.eh-price-block .eh-prose ul{margin:0;padding-left:1.1rem;}
.eh-price-block .eh-prose li{margin-bottom:4px;}
.eh-price-locked{display:flex;align-items:flex-start;gap:12px;color:var(--ink-2);}
.eh-price-locked em{font-size:1.4rem;color:var(--brand);line-height:1;margin-top:2px;}
.eh-price-locked p{margin:0;line-height:1.6;}
.eh-price-locked a{color:var(--brand);font-weight:700;}

/* --- Buy area: qty stepper + live pricing + pricelist modal --- */
.eh-price-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 18px;}
.eh-price-head .eh-price-h{margin:0;}
.eh-pricelist-btn{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-weight:700;font-size:.85rem;color:var(--brand);background:var(--paper);border:1px solid var(--brand-100);border-radius:999px;padding:.5rem 1rem;cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease);}
.eh-pricelist-btn:hover{background:var(--brand-100);border-color:var(--brand);}
.eh-pricelist-btn em{font-size:1.05rem;}
.eh-buy-grid{display:flex;flex-wrap:wrap;align-items:stretch;gap:20px;background:var(--paper);border:1px solid var(--line-soft);border-radius:14px;padding:18px 20px;}
.eh-buy-qty{display:flex;flex-direction:column;align-items:flex-start;}
.eh-buy-lbl{font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.05em;color:var(--muted);text-transform:uppercase;margin:0 0 5px;}
.eh-min-note{display:flex;align-items:center;gap:7px;margin:0 0 12px;font-size:.82rem;color:var(--ink-2);}
.eh-min-ic{color:var(--brand);font-size:1rem;line-height:1;flex:0 0 auto;}
.eh-min-note strong{color:var(--brand);font-weight:700;}
.eh-buy .eh-qty{align-self:flex-start;border-color:rgba(20,18,15,.14);}
.eh-buy .eh-qty-btn{width:40px;height:44px;}
.eh-buy .eh-qty-input{width:58px;height:44px;font-size:1.05rem;}
.eh-buy-out{display:flex;flex-direction:column;justify-content:center;gap:7px;margin-left:auto;text-align:right;padding-left:22px;border-left:1px solid var(--line-soft);}
.eh-buy-unit{display:flex;align-items:baseline;gap:5px;justify-content:flex-end;}
.eh-unit-val{font-family:var(--display);font-weight:700;font-size:2rem;line-height:1;color:var(--brand);}
.eh-unit-lbl{font-size:.9rem;color:var(--muted);}
.eh-buy-total{display:flex;align-items:baseline;gap:6px;justify-content:flex-end;font-family:var(--display);padding-top:7px;border-top:1px dashed var(--line-soft);}
.eh-total-lbl{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700;margin-right:auto;}
.eh-total-val,.eh-total-cur{font-weight:700;font-size:1.2rem;color:var(--ink);}
.eh-vat-note{display:flex;align-items:center;gap:7px;margin:16px 0 0;font-size:.82rem;color:var(--ink-2);}
.eh-buy .eh-addcart-btn{margin-top:14px;align-self:flex-start;padding:.72rem 1.5rem;font-size:.92rem;}
@media(max-width:560px){.eh-buy-out{margin-left:0;text-align:left;padding-left:0;border-left:0;border-top:1px solid var(--line-soft);padding-top:16px;}.eh-buy-unit,.eh-buy-total{justify-content:flex-start;}.eh-total-lbl{margin-right:8px;}}

/* --- Order-level option fields --- */
.eh-ofield{margin:0 0 16px;}
.eh-ofield .eh-buy-lbl{display:block;margin-bottom:6px;}
.eh-order-select,.eh-otext,.eh-file,.eh-batch-select{width:100%;font-family:var(--sans);font-size:.98rem;color:var(--ink);background:#fff;border:1px solid rgba(20,18,15,.16);border-radius:12px;padding:.7rem 1rem;transition:border-color .25s var(--ease),box-shadow .25s var(--ease);}
.eh-order-select,.eh-batch-select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:2.6rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f2484' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;}
.eh-order-select:focus,.eh-batch-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100);}
.eh-batch{margin:2px 0 4px;}
.eh-batch .eh-buy-lbl{display:block;margin-bottom:6px;}
.eh-order-select:focus,.eh-otext:focus,.eh-file:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100);}
.eh-file{cursor:pointer;font-size:.9rem;padding:.5rem .6rem;border-radius:12px;}
.eh-file::-webkit-file-upload-button{margin-right:12px;padding:.5rem 1rem;border:0;border-radius:10px;background:var(--brand-100);color:var(--brand);font-family:var(--display);font-weight:700;font-size:.85rem;cursor:pointer;transition:background .2s var(--ease);}
.eh-file::file-selector-button{margin-right:12px;padding:.5rem 1rem;border:0;border-radius:10px;background:var(--brand-100);color:var(--brand);font-family:var(--display);font-weight:700;font-size:.85rem;cursor:pointer;transition:background .2s var(--ease);}
.eh-file::-webkit-file-upload-button:hover{background:#e0def2;}
.eh-file::file-selector-button:hover{background:#e0def2;}
/* add-on service checkboxes */
.eh-checks{display:flex;flex-direction:column;gap:8px;}
.eh-check-row{display:flex;align-items:center;gap:10px;padding:.65rem .85rem;border:1px solid rgba(20,18,15,.16);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease);}
.eh-check-row:hover{border-color:var(--brand);}
.eh-check-row:has(.eh-addon-check:checked){border-color:var(--brand);background:var(--brand-100);}
.eh-check-row input{width:18px;height:18px;accent-color:var(--brand);flex:0 0 auto;cursor:pointer;}
.eh-check-lbl{flex:1 1 auto;font-size:.96rem;color:var(--ink);}
.eh-check-price{font-family:var(--display);font-weight:700;font-size:.9rem;color:var(--brand);white-space:nowrap;}
.eh-ofield-help{margin:5px 0 0;font-size:.8rem;color:var(--muted);}

/* --- Variant row builder (card per line, fully responsive) --- */
.eh-variants{margin:10px 0 2px;}
.eh-variant-rows{display:flex;flex-direction:column;gap:12px;}
.eh-variant-row{position:relative;border:1px solid var(--line-soft);border-radius:14px;padding:14px 14px 12px;background:var(--paper);}
.eh-vrow-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:12px 14px;}
.eh-vf{display:flex;flex-direction:column;gap:6px;min-width:0;}
.eh-vf-label{font-family:var(--display);font-weight:700;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);}
.eh-v-select{width:100%;appearance:none;-webkit-appearance:none;font-family:var(--display);font-weight:600;font-size:.92rem;color:var(--ink);border:1px solid rgba(20,18,15,.16);border-radius:12px;padding:.6rem 2rem .6rem .7rem;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f2484' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/14px;}
.eh-v-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100);}
.eh-vf-qty .eh-qty{height:44px;width:max-content;}
.eh-variant-row .eh-qty-btn{width:38px;height:42px;font-size:1.1rem;}
.eh-variant-row .eh-qty-input{width:48px;height:42px;font-size:1rem;}
.eh-vrow-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:11px;border-top:1px dashed var(--line-soft);}
.eh-vrow-total{display:flex;align-items:baseline;gap:8px;}
.eh-vrow-sub-lbl{font-family:var(--display);font-weight:700;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);}
.eh-v-sub{font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--brand);white-space:nowrap;}
.eh-row-x{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--muted);cursor:pointer;font-family:var(--display);font-weight:600;font-size:.82rem;padding:4px 8px;border-radius:8px;transition:background .2s var(--ease),color .2s var(--ease);}
.eh-row-x:hover{background:#fdeceb;color:#a12420;}
.eh-row-x em{font-size:1rem;}
.eh-add-row{margin-top:12px;display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-weight:700;font-size:.9rem;color:var(--brand);background:var(--brand-100);border:0;border-radius:999px;padding:.55rem 1.2rem;cursor:pointer;transition:background .2s var(--ease);}
.eh-add-row:hover{background:#e0def2;}
/* keep the ✕ from overlapping the last field on narrow cards */
@media(max-width:420px){.eh-vrow-fields{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));}}

/* --- Order summary --- */
.eh-order-sum{margin-top:18px;padding-top:15px;border-top:1px solid var(--line-soft);display:flex;flex-direction:column;gap:7px;}
.eh-order-sum .eh-min-note{margin:0 0 3px;}
.eh-sum-row{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--display);font-size:.92rem;color:var(--ink-2);}
.eh-sum-row strong{color:var(--ink);}
.eh-sum-grand{margin-top:2px;padding-top:9px;border-top:1px dashed var(--line-soft);font-size:1.02rem;}
.eh-sum-grand strong{color:var(--ink);}
.eh-sum-grand strong .eh-sum-grand-val{color:var(--brand);}
.eh-sum-grand strong{color:var(--brand);}
.eh-min-warn{color:#a12420 !important;}
.eh-min-warn .eh-min-ic,.eh-min-warn strong{color:#a12420 !important;}

/* --- Cart cards (options-aware) --- */
.eh-cart-card{background:var(--paper);border:1px solid var(--line-soft);border-radius:16px;padding:16px 18px;margin-bottom:14px;}
.eh-cart-card-head{display:flex;align-items:center;gap:16px;}
.eh-cart-card-head form{margin:0 0 0 auto;}
.eh-cart-qtytag{font-size:.8rem;color:var(--brand);font-weight:700;}
.eh-cart-batch{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:10px 14px;border-radius:12px;background:var(--paper-2);font-size:.95rem;color:var(--ink);}
.eh-cart-batch b{font-weight:700;}
.eh-cart-batch-price{font-family:var(--display);font-weight:700;color:var(--brand);white-space:nowrap;}
.eh-cart-lines{width:100%;border-collapse:collapse;margin-top:12px;}
.eh-cart-lines td{padding:8px 0;border-top:1px solid var(--line-soft);font-size:.9rem;vertical-align:top;}
.eh-cart-lopts{width:58%;}
.eh-cart-opt{display:inline-block;margin-right:12px;color:var(--ink-2);}
.eh-cart-opt b{color:var(--ink);font-weight:700;}
.eh-cart-lqty{white-space:nowrap;color:var(--ink);font-weight:600;}
.eh-cart-lsub{text-align:right;white-space:nowrap;font-weight:700;color:var(--ink);}
.eh-cart-lunit{display:block;font-weight:500;color:var(--muted);font-size:.78rem;}
.eh-cart-oopts{margin-top:12px;display:flex;flex-direction:column;gap:5px;font-size:.9rem;color:var(--ink-2);}
.eh-cart-oopt b{color:var(--ink);}
.eh-cart-oopt a{color:var(--brand);font-weight:600;}
.eh-cart-addon{color:var(--muted);}
.eh-cart-total{margin-top:12px;text-align:right;font-family:var(--display);color:var(--ink-2);}
.eh-cart-total strong{color:var(--brand);font-size:1.1rem;}
.eh-cart-total--req{color:var(--muted);font-style:italic;}
.eh-cart-grand{margin:6px 0 20px;text-align:right;font-family:var(--display);font-size:1.15rem;color:var(--ink);}
.eh-cart-grand strong{color:var(--brand);}
.eh-cart-submit{max-width:560px;margin-left:auto;}
.eh-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;}
.eh-modal[hidden]{display:none;}
.eh-modal-back{position:absolute;inset:0;background:rgba(20,18,15,.55);}
.eh-modal-card{position:relative;z-index:1;width:100%;max-width:440px;max-height:85vh;overflow:auto;background:var(--paper);border-radius:18px;padding:28px 28px 24px;box-shadow:0 30px 80px -30px rgba(20,18,15,.5);animation:eh-modal-in .25s var(--ease);}
@keyframes eh-modal-in{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.eh-modal-x{position:absolute;top:14px;right:14px;width:34px;height:34px;border:0;border-radius:50%;background:var(--paper-2);color:var(--ink-2);font-size:1.2rem;line-height:1;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease);}
.eh-modal-x:hover{background:var(--brand-100);color:var(--brand);}
.eh-modal-h{font-family:var(--display);font-weight:700;font-size:1.25rem;color:var(--ink);margin:0 0 4px;}
.eh-modal-sub{margin:0 0 14px;font-size:.85rem;color:var(--ink-2);line-height:1.5;}
.eh-pl-table{width:100%;border-collapse:collapse;font-family:var(--display);}
.eh-pl-table th{text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;padding:0 0 10px;border-bottom:2px solid var(--line-soft);}
.eh-pl-table th:last-child{text-align:right;}
.eh-pl-table td{padding:11px 0;font-size:.98rem;color:var(--ink);border-bottom:1px solid var(--line-soft);}
.eh-pl-table td:last-child{text-align:right;font-weight:700;color:var(--brand);}
.eh-pl-table tr:last-child td{border-bottom:0;}
.eh-modal-note{margin:14px 0 0;font-size:.8rem;color:var(--muted);line-height:1.5;}
body.eh-modal-open{overflow:hidden;}

/* --- Buttons / alerts / forms / auth / cart --- */
.eh-btn-block{display:flex;width:100%;justify-content:center;border:0;cursor:pointer;}
.eh-btn-ghost{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:.98rem;color:var(--ink) !important;text-decoration:none;padding:.8rem 1.7rem;border-radius:999px;background:transparent;border:1px solid var(--line-soft);cursor:pointer;transition:border-color .25s var(--ease),color .25s var(--ease);}
.eh-btn-ghost:hover{border-color:var(--brand);color:var(--brand) !important;}
.eh-btn-register{margin-top:2px;}
.eh-alert{border-radius:12px;padding:12px 16px;margin:0 0 16px;font-size:.96rem;line-height:1.5;}
.eh-alert--ok{background:#eaf7ee;color:#1c6b34;border:1px solid #bfe6ca;}
.eh-alert--err{background:#fdeceb;color:#a12420;border:1px solid #f2c4c1;}
.eh-alert ul{margin:0;padding-left:1.1rem;}
.eh-auth{display:flex;justify-content:center;padding:1rem 0 2rem;}
.eh-auth-card{width:100%;max-width:560px;background:var(--paper);border:1px solid var(--line-soft);border-radius:20px;box-shadow:0 24px 60px -34px rgba(20,18,15,.3);padding:clamp(28px,4vw,44px);}
.eh-auth-card--center{text-align:center;max-width:520px;}
.eh-auth-ic{font-size:2.6rem;color:var(--brand);display:block;margin-bottom:.6rem;}
.eh-auth-title{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(1.6rem,2.6vw,2.1rem);color:var(--ink);margin:0 0 .5rem;}
.eh-auth-sub{color:var(--ink-2);line-height:1.6;margin:0 0 1.6rem;}
.eh-auth-alt{margin:1.4rem 0 0;color:var(--ink-2);font-size:.96rem;}
.eh-auth-alt a,.eh-auth-card a{color:var(--brand);font-weight:700;}
.eh-auth-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:1.4rem;}
.eh-auth-actions form{margin:0;}
.eh-form{display:flex;flex-direction:column;gap:16px;}
.eh-field{display:flex;flex-direction:column;gap:6px;}
.eh-field label{font-family:var(--display);font-weight:700;font-size:.85rem;color:var(--ink);}
.eh-field input,.eh-field textarea{font-family:var(--sans);font-size:1rem;color:var(--ink);background:#fff;border:1px solid rgba(20,18,15,.16);border-radius:12px;padding:.75rem 1rem;transition:border-color .25s var(--ease),box-shadow .25s var(--ease);width:100%;}
.eh-field input:focus,.eh-field textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100);}
.eh-field-row{display:flex;gap:16px;}
.eh-field-row .eh-field{flex:1 1 0;min-width:0;}
@media(max-width:560px){.eh-field-row{flex-direction:column;}}
.eh-check{display:flex;align-items:center;gap:8px;font-size:.92rem;color:var(--ink-2);cursor:pointer;}
.eh-addcart{margin:1.6rem 0 0;}
.eh-addcart-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px;}
.eh-qty{display:inline-flex;align-items:center;border:1px solid var(--line-soft);border-radius:999px;background:var(--paper);overflow:hidden;}
.eh-qty-btn{width:40px;height:44px;border:0;background:transparent;color:var(--ink);font-size:1.2rem;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease);}
.eh-qty-btn:hover{background:var(--brand-100);color:var(--brand);}
.eh-qty-input{width:64px;height:44px;border:0;text-align:center;font-family:var(--display);font-weight:700;font-size:1rem;color:var(--ink);background:transparent;-moz-appearance:textfield;}
.eh-qty-input::-webkit-outer-spin-button,.eh-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.eh-addcart-btn{border:0;cursor:pointer;}
.eh-cart-empty{text-align:center;padding:2rem 0 3rem;color:var(--ink-2);}
.eh-cart-empty p{margin:0 0 1.2rem;font-size:1.1rem;}
.eh-cart{margin:1rem 0 1.5rem;}
.eh-cart-items{display:flex;flex-direction:column;gap:14px;}
.eh-cart-item{display:grid;grid-template-columns:88px 1fr auto auto;align-items:center;gap:18px;background:var(--paper);border:1px solid var(--line-soft);border-radius:16px;padding:14px 18px;}
.eh-cart-img{width:88px;height:88px;border-radius:12px;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;padding:8px;}
.eh-cart-img img{max-width:100%;max-height:100%;object-fit:contain;}
.eh-cart-info{display:flex;flex-direction:column;gap:4px;min-width:0;}
.eh-cart-name{font-family:var(--display);font-weight:700;color:var(--ink) !important;text-decoration:none;font-size:1.05rem;}
.eh-cart-name:hover{color:var(--brand) !important;}
.eh-cart-code{font-size:.85rem;color:var(--muted);}
.eh-cart-qty{display:flex;flex-direction:column;gap:4px;}
.eh-cart-qty label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-family:var(--display);font-weight:700;}
.eh-cart-qty input{width:88px;border:1px solid var(--line-soft);border-radius:10px;padding:.5rem .7rem;font-family:var(--display);font-weight:700;color:var(--ink);text-align:center;}
.eh-cart-remove{width:40px;height:40px;border:0;border-radius:50%;background:var(--paper-2);color:var(--ink-2);cursor:pointer;font-size:1.1rem;display:grid;place-items:center;transition:background .2s var(--ease),color .2s var(--ease);}
.eh-cart-remove:hover{background:#fdeceb;color:#a12420;}
@media(max-width:640px){.eh-cart-item{grid-template-columns:64px 1fr auto;}.eh-cart-img{width:64px;height:64px;}.eh-cart-qty{grid-column:2;}}
.eh-cart-actions{display:flex;justify-content:flex-end;margin-top:16px;}
.eh-cart-submit{margin-top:1.6rem;max-width:560px;}
.eh-cart-submit .eh-field{margin-bottom:14px;}
.head-cart{position:relative;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--brand);background:var(--brand-100);border:0;transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease);text-decoration:none;}
.head-cart em{font-size:1.15rem;line-height:1;}
.head-cart:hover{background:var(--brand);color:#fff;transform:translateY(-2px);}
.head-cart-count{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--rect);color:var(--brand);font-family:var(--display);font-weight:700;font-size:.68rem;line-height:18px;text-align:center;}
.head-logout-form{margin:0;}
.head-logout{background:transparent;border:0;cursor:pointer;}

/* --- FAQ: Bootstrap accordion restyled to match homepage .eh-faq --- */
.section-faq-wrap{-webkit-mask-image:none !important;mask-image:none !important;background:transparent !important;margin-bottom:0 !important;overflow:visible !important;}
.section-faq-wrap .faq-wrap{-webkit-mask-image:none !important;mask-image:none !important;background:transparent !important;padding-bottom:80px !important;}
.section-faq-wrap .section-title-wrap{margin-bottom:2.4rem !important;}
.section-faq-wrap .section-title-wrap .title-style{font-family:var(--display) !important;font-weight:700 !important;letter-spacing:-.03em !important;font-size:clamp(2rem,3.6vw,3rem) !important;line-height:1.05 !important;color:var(--ink) !important;margin:0 !important;}
.section-faq-wrap .section-title-wrap .title-style::before{content:"FAQ";display:block;font-family:var(--display);font-size:.74rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.section-faq-wrap .section-title-wrap .text-style{color:var(--ink-2) !important;font-size:1rem !important;line-height:1.7 !important;margin-top:14px !important;}
.section-faq-wrap .accordion,.section-faq-wrap .accordion-flush{border-top:1px solid var(--line);max-width:none;}
.section-faq-wrap .accordion-item{border:0 !important;border-bottom:1px solid var(--line) !important;margin-bottom:0 !important;background:transparent !important;}
.section-faq-wrap .accordion-collapse{max-width:none !important;margin:0 !important;}
.section-faq-wrap .accordion-button{background:transparent !important;box-shadow:none !important;border-radius:0 !important;color:var(--ink) !important;font-family:var(--display) !important;font-weight:700 !important;letter-spacing:-.01em !important;font-size:clamp(1.05rem,1.5vw,1.28rem) !important;line-height:1.3 !important;padding:26px 2px !important;}
.section-faq-wrap .accordion-button:hover{color:var(--brand) !important;}
.section-faq-wrap .accordion-button:not(.collapsed){color:var(--brand) !important;background:transparent !important;box-shadow:none !important;}
.section-faq-wrap .accordion-button:focus{box-shadow:none !important;border-color:transparent !important;}
.section-faq-wrap .accordion-button::after{flex:0 0 42px;width:42px;height:42px;margin-left:24px;border-radius:50%;border:1px solid var(--line);background-color:transparent;background-position:center;background-size:15px;background-repeat:no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314120f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");transition:background-color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease);}
.section-faq-wrap .accordion-button:hover::after{border-color:var(--brand);}
.section-faq-wrap .accordion-button:not(.collapsed)::after{transform:rotate(180deg);background-color:var(--brand);border-color:var(--brand);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");}
.section-faq-wrap .accordion-body{color:var(--ink-2) !important;font-size:1rem !important;line-height:1.75 !important;padding:0 2px 28px !important;max-width:94ch;}

/* --- Product quote modal: soften to match --- */
.related-products-section .modal-content{border:0;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);}
.related-products-section .modal-content .product-title{padding:0 !important;}
.related-products-section .modal-content h3.product-title{font-family:var(--display) !important;font-weight:700 !important;font-size:1.5rem !important;color:var(--ink) !important;text-align:left !important;text-transform:none !important;}

/* --- Service landing = category ARCHIVE: category cards linking to product pages --- */
.related-products-section--archive,.related-products-section--head{padding-top:128px !important;}
.related-products-section--archive a.product,.related-products-section--archive a.product:hover{text-decoration:none;color:inherit;}
.related-products-section--archive .product-image{background:#fff !important;}
.related-products-section--archive .product-title{display:flex;align-items:center;justify-content:center;padding:18px 18px 20px !important;text-align:center !important;background:var(--paper) !important;}
.related-products-section--archive .product .product-title h2{text-transform:none !important;font-size:1.14rem !important;text-align:center !important;color:var(--brand) !important;}
.related-products-section--archive .product .product-title h2::before{content:"";display:inline-block;vertical-align:-.08em;width:0;height:.82em;margin-right:0;border-radius:2px;background:var(--rect);transition:width .28s var(--ease),margin-right .28s var(--ease);}
.related-products-section--archive .product:hover .product-title h2::before{width:.82em;margin-right:.45em;}
.related-products-section--archive .product .product-title h2 span{color:var(--brand) !important;}
.related-products-section--archive .product .product-title h2:hover span{color:var(--brand) !important;}

/* breadcrumb + intro sitting in the same container as the title */
.related-products-section .eh-crumbs,.eh-hero-copy .eh-crumbs{display:flex;flex-wrap:wrap;align-items:center;font-family:var(--display);font-size:.76rem;font-weight:300;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.related-products-section .eh-crumbs a,.eh-hero-copy .eh-crumbs a{color:var(--muted);transition:color .3s var(--ease);}
.related-products-section .eh-crumbs a:hover,.eh-hero-copy .eh-crumbs a:hover{color:var(--brand);}
.related-products-section .eh-crumbs span,.eh-hero-copy .eh-crumbs span{padding:0 .7em;color:var(--muted);}
.related-products-section--archive .eh-archive-intro{max-width:none;margin:1.1rem 0 0;color:var(--ink-2);font-size:1.06rem;line-height:1.75;text-align:left;}
.related-products-section .eh-cat-title{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.15;color:var(--ink);text-align:left;margin:1.6rem 0 1rem;}
/* --- Gallery slider: single row, prev/next arrows --- */
.eh-gal-head{align-items:center;margin-bottom:28px;}
.eh-gal-nav{display:flex;gap:10px;justify-content:flex-end;align-self:center;}
.eh-gal-arrow{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-soft);background:var(--paper);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:1.15rem;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease);}
.eh-gal-arrow:hover{background:var(--brand);color:#fff;border-color:var(--brand);transform:translateY(-2px);}
.eh-gal-slider{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding:4px clamp(16px,3vw,48px);overflow:hidden;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46'%3E%3Ccircle cx='23' cy='23' r='22' fill='%232f2484'/%3E%3Cg stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 23h18'/%3E%3Cpath d='M18 18l-5 5 5 5'/%3E%3Cpath d='M28 18l5 5-5 5'/%3E%3C/g%3E%3C/svg%3E") 23 23, grab;}
.eh-gal-slider.dragging{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='46'%3E%3Ccircle cx='23' cy='23' r='22' fill='%232a2464'/%3E%3Cg stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 23h18'/%3E%3Cpath d='M18 18l-5 5 5 5'/%3E%3Cpath d='M28 18l5 5-5 5'/%3E%3C/g%3E%3C/svg%3E") 23 23, grabbing;}
.eh-gal-track{display:flex;gap:16px;transition:transform .55s cubic-bezier(.4,0,.2,1);will-change:transform;}
.eh-gal-track .eh-ph{position:relative;flex:0 0 auto;width:clamp(280px,32vw,420px);aspect-ratio:1/1;border-radius:16px;overflow:hidden;display:block;cursor:inherit;}
.eh-gal-track .eh-ph *{cursor:inherit;}
.eh-gal-track .eh-ph img{pointer-events:none;}
.eh-gal-track .eh-ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.eh-gal-track .eh-ph:hover img{transform:scale(1.06);}
.eh-gal-track .eh-ph-ov{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:5px;padding:24px;background:rgba(255,255,255,0);-webkit-backdrop-filter:blur(0) saturate(1);backdrop-filter:blur(0) saturate(1);-webkit-mask-image:linear-gradient(to top,#000 0%,#000 22%,rgba(0,0,0,0) 60%);mask-image:linear-gradient(to top,#000 0%,#000 22%,rgba(0,0,0,0) 60%);transition:background-color .45s var(--ease),-webkit-backdrop-filter .45s var(--ease),backdrop-filter .45s var(--ease);}
.eh-gal-track .eh-ph:hover .eh-ph-ov{background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(18px) saturate(1.8);backdrop-filter:blur(18px) saturate(1.8);}
.eh-gal-track .eh-ph-ov .cat{color:var(--brand);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease),transform .45s var(--ease);}
.eh-gal-track .eh-ph-ov .ttl{color:var(--ink);font-family:var(--display);font-weight:700;font-size:1.15rem;letter-spacing:-.01em;line-height:1.2;opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease) .04s,transform .45s var(--ease) .04s;}
.eh-gal-track .eh-ph:hover .eh-ph-ov .cat,.eh-gal-track .eh-ph:hover .eh-ph-ov .ttl{opacity:1;transform:translateY(0);}
@media(max-width:560px){.eh-gal-track .eh-ph{width:80vw;}}

/* --- Tabs section (archive) --- */
.eh-tabsec{margin:8px 0 4px;}
.eh-tabs-nav{display:inline-flex;gap:6px;background:var(--paper-2);padding:6px;border-radius:999px;margin-bottom:26px;flex-wrap:wrap;}
.eh-tab-btn{border:0;background:transparent;font-family:var(--display);font-weight:700;font-size:1rem;color:var(--ink-2);padding:.72rem 1.6rem;border-radius:999px;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease);}
.eh-tab-btn:hover{color:var(--brand);}
.eh-tab-btn.is-active{background:linear-gradient(120deg,var(--brand) 0%,#5b4fb8 60%);color:#fff;box-shadow:0 12px 26px -12px rgba(57,49,134,.6);}
.eh-tabs-body{background:var(--paper);border-radius:20px;box-shadow:0 18px 44px -26px rgba(20,18,15,.22);padding:clamp(26px,3vw,40px);}
.eh-tab-panel{display:none;}
.eh-tab-panel.is-active{display:block;animation:ehTabIn .4s var(--ease);}
@keyframes ehTabIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.eh-tab-lead{font-family:var(--display);font-weight:700;font-size:1.12rem;color:var(--ink);margin:0 0 18px;letter-spacing:-.01em;}
.eh-tab-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 36px;padding:0;margin:0;}
@media(max-width:640px){.eh-tab-list{grid-template-columns:1fr;}}
.eh-tab-list li{position:relative;padding-left:34px;color:var(--ink-2);font-size:1rem;line-height:1.5;}
.eh-tab-list li::before{content:"";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--brand-100) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f2484' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 6'/%3E%3C/svg%3E") center/13px no-repeat;}
.eh-tabs-closing{margin:26px 0 0;color:var(--ink-2);font-size:1.02rem;line-height:1.75;}

/* --- Landing editorial block (intro copy + gallery kept below the archive) --- */
.landing-editorial{padding-top:8px;}
.landing-editorial .title-style{font-family:var(--display) !important;font-weight:700 !important;letter-spacing:-.02em !important;font-size:clamp(1.6rem,2.6vw,2.2rem) !important;color:var(--ink) !important;margin:0 0 1.2rem !important;}
.landing-editorial p{color:var(--ink-2);line-height:1.75;}
.landing-editorial ul{color:var(--ink-2);line-height:1.7;}
.landing-editorial hr{border-color:var(--line-soft);opacity:1;}
.landing-editorial .gallery-img-wrap{border-radius:14px;overflow:hidden;box-shadow:0 14px 32px -24px rgba(20,18,15,.26);background:var(--paper-2);}
.landing-editorial .gallery-img-wrap img{width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .6s var(--ease);display:block;}
.landing-editorial .gallery-img-wrap:hover img{transform:scale(1.05);}
.landing-editorial #gallery-services h2.title-style{margin-top:1rem;}

/* --- Blog listing page: same head + card system as the homepage blog --- */
.eh-blog--page{margin-top:6px;padding-bottom:40px;}

/* --- Contact page: full-bleed map + intro / form pair --- */
.eh-map{position:relative;isolation:isolate;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);height:clamp(300px,40vh,460px);background:#fff;}
/* the embed cannot be styled through the Maps API, so: strip its colour, then
   lay the brand hue back over it — white stays white, everything else goes purple */
.eh-map iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.32) brightness(.97);}
.eh-map::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--brand);mix-blend-mode:color;opacity:1;}
/* our own marker, drawn above the tint so it keeps the brand colours */
.eh-map-pin{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-100%);line-height:0;filter:drop-shadow(0 8px 14px rgba(20,18,15,.3));transition:transform .3s var(--ease);}
.eh-map-pin:hover{transform:translate(-50%,calc(-100% - 5px));}
.eh-map-pin svg{width:38px;height:52px;display:block;}
.eh-map-pin path{fill:var(--brand);}
.eh-map-pin circle{fill:var(--rect);}
.eh-contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,76px);align-items:start;padding:clamp(46px,6vw,84px) 0 clamp(56px,7vw,96px);}
@media(max-width:900px){.eh-contact{grid-template-columns:1fr;gap:38px;padding:40px 0 56px;}}
.eh-contact-intro h2{font-family:var(--display);font-weight:700;letter-spacing:-.03em;font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.06;color:var(--ink);margin:0 0 1rem;}
.eh-contact-lead{color:var(--ink-2);font-size:1.06rem;line-height:1.75;margin:0 0 2.2rem;max-width:48ch;}
.eh-contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px;}
.eh-contact-list li{display:flex;align-items:flex-start;gap:16px;color:var(--ink);line-height:1.55;}
.eh-ci{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--brand-100);color:var(--brand);font-size:1.28rem;}
.eh-contact-list .lbl{display:block;font-family:var(--display);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;}
.eh-contact-list a{color:var(--ink);font-weight:600;transition:color .3s var(--ease);}
.eh-contact-list a:hover{color:var(--brand);}
.eh-cform{background:var(--paper);border-radius:20px;box-shadow:0 18px 44px -26px rgba(20,18,15,.22);padding:clamp(24px,3vw,42px);}
.eh-cform-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;}
@media(max-width:560px){.eh-cform-grid{grid-template-columns:1fr;}}
.eh-f{margin-bottom:24px;}
.eh-f--full{grid-column:1/-1;}
.eh-f input,.eh-f textarea{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;padding:12px 2px;font-family:var(--sans);font-size:1rem;color:var(--ink);transition:border-color .3s var(--ease);}
.eh-f textarea{resize:vertical;min-height:132px;line-height:1.6;}
.eh-f input:focus,.eh-f textarea:focus{outline:0;border-bottom-color:var(--brand);}
.eh-f input::placeholder,.eh-f textarea::placeholder{color:var(--muted);}
.eh-cform-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:6px;}
.eh-btn-submit{border:0;cursor:pointer;}
.eh-btn-submit svg{width:16px;height:16px;transition:transform .3s var(--ease);}
.eh-btn-submit:hover svg{transform:translateX(4px);}
.eh-check{display:flex;align-items:flex-start;gap:10px;max-width:40ch;font-size:.92rem;line-height:1.5;color:var(--ink-2);cursor:pointer;}
.eh-check input{flex:0 0 auto;margin-top:.15rem;width:18px;height:18px;accent-color:var(--brand);cursor:pointer;}
.eh-check a{color:var(--brand);font-weight:600;}

/* a page whose body content has been cleared still has to clear the fixed header */
main:empty{display:block;min-height:56vh;}

/* --- Page hero (portfolio): homepage hero split, static image on the right --- */
.eh-hero--page .eh-hero-title{font-size:clamp(2.2rem,4.2vw,3.8rem);margin-top:6px;}
.eh-hero--page .eh-hero-sub{max-width:58ch;}
.eh-hero-img{border-radius:16px;overflow:hidden;background:var(--paper-2);box-shadow:0 26px 58px -26px rgba(20,18,15,.38),0 6px 16px -10px rgba(20,18,15,.14);}
.eh-hero-img img{display:block;width:100%;height:auto;}


/* --- Service cards as a static 3-up grid (portfolio page) --- */
.eh-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;}
@media (max-width:1100px){.eh-cards-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.eh-cards-grid{grid-template-columns:1fr;}}

/* --- Category listing: filter sidebar + product grid --- */
.eh-cat{display:grid;grid-template-columns:262px minmax(0,1fr);gap:clamp(22px,3vw,46px);align-items:start;}
.eh-cat:not([data-eh-filters]){grid-template-columns:minmax(0,1fr);}
.eh-cat-main{min-width:0;}
.eh-cat-side{position:sticky;top:124px;}
.eh-filters-toggle{display:none;}
.eh-filters-body{background:var(--paper);border-radius:18px;box-shadow:0 18px 44px -30px rgba(20,18,15,.24);padding:22px 20px 8px;}
.eh-filter-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;}
.eh-filter-head h2{font-family:var(--display);font-weight:700;font-size:1.06rem;letter-spacing:-.01em;color:var(--ink);margin:0;}
.eh-filter-clear{border:0;background:transparent;padding:0;font-family:var(--display);font-size:.8rem;font-weight:700;color:var(--brand);cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
.eh-filter-group{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line-soft);}
.eh-filter-group:last-child{border-bottom:0;}
.eh-filter-group h3{font-family:var(--display) !important;font-size:.74rem;font-weight:300 !important;letter-spacing:.13em !important;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;}
.eh-filter-search{display:flex;align-items:center;gap:9px;border:1px solid var(--line-soft);border-radius:999px;padding:.55rem .9rem;transition:border-color .25s var(--ease);}
.eh-filter-search:focus-within{border-color:var(--brand);}
.eh-filter-search em{color:var(--muted);font-size:1.05rem;}
.eh-filter-search input{flex:1;min-width:0;border:0;background:transparent;font-family:var(--sans);font-size:.94rem;color:var(--ink);}
.eh-filter-search input:focus{outline:0;}
.eh-filter-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.eh-filter-row{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.95rem;color:var(--ink-2);transition:color .2s var(--ease);}
.eh-filter-row:hover{color:var(--ink);}
.eh-filter-row input{width:17px;height:17px;flex:0 0 auto;accent-color:var(--brand);cursor:pointer;}
.eh-filter-lbl{flex:1;}
.eh-filter-count{font-size:.8rem;color:var(--muted);}
.eh-filter-row input:checked~.eh-filter-lbl{color:var(--brand);font-weight:600;}
.eh-swatch-list{display:flex;flex-wrap:wrap;gap:10px;}
.eh-swatch{position:relative;cursor:pointer;line-height:0;}
.eh-swatch input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.eh-swatch-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.eh-swatch-dot{display:block;width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(20,18,15,.14);background:repeating-linear-gradient(45deg,#f8fafc 0 5px,#e6e4ee 5px 10px);transition:transform .2s var(--ease),box-shadow .2s var(--ease);}
.eh-swatch:hover .eh-swatch-dot{transform:scale(1.08);}
.eh-swatch input:checked+.eh-swatch-dot{box-shadow:inset 0 0 0 1px rgba(20,18,15,.14),0 0 0 2px var(--paper),0 0 0 4px var(--brand);}
.eh-swatch input:focus-visible+.eh-swatch-dot{box-shadow:inset 0 0 0 1px rgba(20,18,15,.14),0 0 0 2px var(--paper),0 0 0 4px var(--brand);}
.eh-cat-count{font-family:var(--display);font-size:.78rem;font-weight:300;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;}
.eh-cat-empty{padding:44px 0;text-align:center;color:var(--ink-2);font-size:1rem;}
.eh-cat-empty .eh-filter-clear{margin-left:6px;}
@media (max-width:992px){
  .eh-cat,.eh-cat[data-eh-filters]{grid-template-columns:minmax(0,1fr);}
  .eh-cat-side{position:static;margin-bottom:20px;}
  .eh-filters-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line-soft);background:var(--paper);border-radius:999px;padding:.8rem 1.3rem;font-family:var(--display);font-weight:700;font-size:1rem;color:var(--ink);cursor:pointer;}
  .eh-filters-toggle span{display:inline-flex;align-items:center;gap:9px;}
  .eh-filters-caret{width:9px;height:9px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg) translate(-2px,-2px);transition:transform .3s var(--ease);}
  .eh-filters-toggle[aria-expanded="true"] .eh-filters-caret{transform:rotate(225deg) translate(-3px,-3px);}
  .eh-filters-body{display:none;margin-top:12px;}
  .eh-cat-side.is-open .eh-filters-body{display:block;}
}
.eh-filter-group--price{padding-bottom:6px;}
.eh-range{position:relative;height:26px;margin-top:4px;}
.eh-range-track{position:absolute;top:11px;left:0;right:0;height:4px;border-radius:999px;background:var(--line-soft);}
.eh-range-fill{position:absolute;top:0;bottom:0;background:var(--brand);border-radius:999px;}
.eh-range input[type=range]{position:absolute;top:2px;left:0;width:100%;height:22px;margin:0;padding:0;background:none;border:0;pointer-events:none;-webkit-appearance:none;appearance:none;}
.eh-range input[type=range]:focus{outline:0;}
.eh-range input[type=range]::-webkit-slider-runnable-track{height:22px;background:none;border:0;}
.eh-range input[type=range]::-moz-range-track{height:22px;background:none;border:0;}
.eh-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;pointer-events:auto;width:18px;height:18px;margin-top:2px;border-radius:50%;background:var(--brand);border:2px solid var(--paper);box-shadow:0 2px 8px -2px rgba(20,18,15,.45);cursor:grab;transition:transform .18s var(--ease);}
.eh-range input[type=range]::-moz-range-thumb{pointer-events:auto;width:18px;height:18px;border-radius:50%;background:var(--brand);border:2px solid var(--paper);box-shadow:0 2px 8px -2px rgba(20,18,15,.45);cursor:grab;transition:transform .18s var(--ease);}
.eh-range input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.12);}
.eh-range input[type=range]::-moz-range-thumb:hover{transform:scale(1.12);}
.eh-range input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--brand-100);}
.eh-range input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--brand-100);}
.eh-range-out{display:flex;justify-content:space-between;gap:8px;margin:10px 0 0;font-family:var(--display);font-size:.86rem;font-weight:700;color:var(--ink);}


/* --- Listing card meta: SKU + available colours (inside .product-title) --- */
.related-products-section .product-title .eh-card-sku{display:block;margin:0 0 4px;font-family:var(--display);font-size:.72rem;font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72);}

/* --- Listing cards on the category archive: flat white title block, dark text --- */
.related-products-section .eh-cat .eh-cat-main .product-title,.related-products-section .eh-related .product-title{background:var(--paper) !important;color:var(--ink) !important;}
.related-products-section .eh-cat .eh-cat-main .product .product-title h2,.related-products-section .eh-related .product .product-title h2{color:var(--brand) !important;text-transform:uppercase !important;}
.related-products-section .eh-cat .eh-cat-main .product .product-title h2 span,.related-products-section .eh-related .product .product-title h2 span{color:var(--brand) !important;}
.related-products-section .eh-cat .eh-cat-main .product .product-title h2:hover span,.related-products-section .eh-related .product .product-title h2:hover span{color:var(--brand-700) !important;}
.related-products-section .eh-cat .eh-cat-main .product .product-title .product-short-description p,.related-products-section .eh-related .product .product-title .product-short-description p{color:var(--ink-2) !important;}
.related-products-section .eh-cat .eh-cat-main .product-title .eh-card-sku,.related-products-section .eh-related .product-title .eh-card-sku{color:var(--muted);}

/* --- Category listing pager --- */
.eh-pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:14px 0 48px;}
.eh-page,.eh-page-nav{min-width:40px;height:40px;padding:0 .6rem;border:1px solid var(--line-soft);background:var(--paper);border-radius:10px;font-family:var(--display);font-weight:400;font-size:.95rem;color:var(--ink);cursor:pointer;transition:border-color .25s var(--ease),color .25s var(--ease),background .25s var(--ease);}
.eh-page:hover,.eh-page-nav:not([disabled]):hover{border-color:var(--brand);color:var(--brand);}
.eh-page.is-active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700;}
.eh-page-nav[disabled]{opacity:.35;cursor:default;}
/* colour chips pinned to the top-left of the product image */
.related-products-section .product-image{position:relative;}
.related-products-section .product-image .eh-card-swatches{position:absolute;top:12px;left:12px;z-index:2;display:flex;flex-wrap:wrap;align-items:center;gap:5px;max-width:calc(100% - 24px);}
.related-products-section .product-image .eh-card-swatch{width:15px;height:15px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(20,18,15,.16),0 0 0 1.5px #fff,0 1px 3px rgba(20,18,15,.22);}
.related-products-section .product-image .eh-card-swatch-more{font-family:var(--display);font-size:.7rem;font-weight:400;color:var(--ink-2);background:rgba(255,255,255,.9);border-radius:999px;padding:0 5px;line-height:15px;box-shadow:0 1px 3px rgba(20,18,15,.18);}


/* --- Homepage hero: full-bleed background video under a brand veil --- */
.eh-hero--video{position:relative;isolation:isolate;min-height:clamp(560px,80vh,880px);display:flex;align-items:center;padding:clamp(150px,17vh,210px) 0 clamp(70px,9vh,110px);overflow:hidden;background:#1b1740 url('../video/hero-banner-poster.jpg') center/cover no-repeat;}
.eh-hero-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;pointer-events:none;}
.eh-hero-veil{position:absolute;inset:0;z-index:1;background:#323288;opacity:.5;pointer-events:none;}
.eh-hero--video .eh-hero-inner{position:relative;z-index:2;}
.eh-hero--video .eh-hero-copy{max-width:60ch;}
.eh-hero--video .eh-hero-title{color:#fff;text-shadow:0 2px 30px rgba(15,12,45,.35);}
.eh-hero--video .eh-hero-title .hl{color:#fff;}
.eh-hero--video .eh-hero-sub{color:rgba(255,255,255,.92);max-width:62ch;text-shadow:0 1px 16px rgba(15,12,45,.3);}
@media (max-width:900px){.eh-hero--video{min-height:clamp(440px,70vh,620px);padding:clamp(120px,15vh,160px) 0 60px;}}
@media (prefers-reduced-motion:reduce){.eh-hero-video{display:none;}}

/* the cookie plugin's inner box scrolls its own 6px of overflow — that is the
   second scrollbar; the bar's height is auto, so letting it grow is safe */
.cpnb-inner{overflow:visible !important;}

/* --- Quote badge over the "why choose us" portrait --- */
.eh-capimg--quote{background-position:center top;overflow:visible;}
/* the badge hangs off the bottom-left corner of the portrait */
.eh-capimg--quote .eh-capbox{margin:0;left:-30px;bottom:-30px;width:min(320px,72%);max-width:none;padding:22px 26px 20px;border-radius:14px;background:linear-gradient(120deg,var(--brand-700) 0%,var(--brand) 100%) !important;box-shadow:0 22px 44px -22px rgba(20,18,15,.5);}
.eh-capbox .eh-capbox-quote{font-family:var(--display);font-weight:700;font-size:1.06rem;line-height:1.34;letter-spacing:-.01em;color:#fff;margin:0;}
.eh-capbox-author{display:block;margin-top:12px;font-family:var(--display);font-style:normal;font-weight:300;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--rect);}
@media (max-width:991px){.eh-capimg--quote .eh-capbox{left:-16px;bottom:-22px;width:min(300px,82%);}}
@media (max-width:560px){.eh-capbox-quote{font-size:1rem;}.eh-capimg--quote .eh-capbox{left:-8px;bottom:-18px;width:min(280px,88%);padding:19px 21px 17px;}}

/* --- Brand logo marquee (full width, seamless loop) --- */
.eh-marquee{overflow:hidden;padding:clamp(30px,4vw,52px) 0;background:transparent;}
.eh-marquee-track{display:flex;width:max-content;animation:ehMarquee 45s linear infinite;}

.eh-marquee-row{display:flex;align-items:center;gap:clamp(38px,5vw,76px);margin:0;padding:0 clamp(19px,2.5vw,38px);list-style:none;}
.eh-marquee-row li{flex:0 0 auto;display:flex;align-items:center;}
.eh-marquee-row img{display:block;height:clamp(34px,3.4vw,50px);width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.55;transition:filter .3s var(--ease),opacity .3s var(--ease);}
.eh-marquee-row li:hover img{filter:none;opacity:1;}
@keyframes ehMarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){
  .eh-marquee-track{animation:none;width:100%;flex-wrap:wrap;justify-content:center;}
  .eh-marquee-row:last-child{display:none;}
  .eh-marquee-row{flex-wrap:wrap;justify-content:center;gap:30px 46px;}
}

/* --- Homepage CTA (matches the intex.html reference) --- */
.cta-section-new{position:relative;overflow:hidden;max-width:1000px;margin:80px auto;padding:70px 20px;text-align:center;color:var(--brand);}
.cta-quotes-bg{position:absolute;top:20px;display:flex;gap:25px;opacity:.05;z-index:0;pointer-events:none;}
.cta-quotes-bg.left{left:5%;}
.cta-quotes-bg.right{right:5%;top:130px;}
.quote-bar{width:50px;height:120px;border-radius:8px;background:var(--brand);transform:skewX(-25deg);}
.cta-heading-small{position:relative;z-index:2;font-family:var(--display);font-weight:700;font-size:clamp(1.35rem,2.4vw,1.875rem);letter-spacing:-.5px;margin-bottom:5px;color:var(--brand);}
.cta-heading-large{position:relative;z-index:2;font-family:var(--display) !important;font-weight:700 !important;font-size:clamp(2.1rem,4vw,3.125rem) !important;letter-spacing:-1px !important;line-height:1.12;margin:0 0 50px !important;color:var(--brand) !important;}
.cta-highlight{position:relative;display:inline-block;z-index:1;}
.cta-highlight::after{content:"";position:absolute;left:0;bottom:6px;width:100%;height:16px;background:var(--rect);z-index:-1;}
.cta-buttons-container{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:center;gap:25px;margin-bottom:50px;}
.cta-button{background:var(--brand);color:#fff !important;padding:16px 50px;border-radius:40px;text-decoration:none;font-family:var(--display);font-weight:700;font-size:1.0625rem;box-shadow:0 5px 15px rgba(47,36,132,.2);transition:background .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease);}
.cta-button:hover{background:var(--brand-700);color:#fff !important;transform:translateY(-3px);box-shadow:0 8px 20px rgba(47,36,132,.3);}
.cta-address{position:relative;z-index:2;font-family:var(--sans);font-size:1.25rem;font-weight:400;color:#515151;margin-bottom:10px;}
.cta-phone-number{position:relative;z-index:2;display:inline-block;font-family:var(--display);font-weight:700;font-size:clamp(2rem,3.6vw,2.625rem);letter-spacing:1px;color:var(--brand) !important;text-decoration:none;transition:color .3s var(--ease);}
.cta-phone-number:hover{color:var(--brand-700) !important;}
@media (max-width:640px){
  .cta-section-new{margin:52px auto;padding:56px 16px;}
  .cta-quotes-bg{transform:scale(.66);}
  .cta-buttons-container{gap:14px;}
  .cta-button{padding:15px 34px;}
}

/* --- Portfolio category grid + lightbox --- */
.eh-portfolio--full .eh-ph-ov .cnt{color:var(--ink-2);font-size:.76rem;opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease) .08s,transform .45s var(--ease) .08s;}
.eh-portfolio--full .eh-ph:hover .eh-ph-ov .cnt{opacity:1;transform:translateY(0);}
.eh-portfolio--full .eh-ph{cursor:zoom-in;}
.eh-lb{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;gap:clamp(6px,2vw,26px);padding:clamp(16px,4vw,54px);background:rgba(14,12,32,.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.eh-lb[hidden]{display:none;}
.eh-lb-stage{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:min(1180px,100%);max-height:100%;}
.eh-lb-stage img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:12px;box-shadow:0 30px 80px -30px rgba(0,0,0,.8);background:#fff;}
.eh-lb-cap{display:flex;align-items:baseline;gap:14px;font-family:var(--display);color:#fff;font-size:1rem;font-weight:700;}
.eh-lb-count{font-weight:300;font-size:.8rem;letter-spacing:.12em;color:rgba(255,255,255,.65);}
.eh-lb-nav,.eh-lb-close{flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;transition:background .25s var(--ease);}
.eh-lb-nav{width:clamp(40px,4vw,54px);height:clamp(40px,4vw,54px);font-size:2rem;line-height:1;}
.eh-lb-nav:hover,.eh-lb-close:hover{background:rgba(255,255,255,.26);}
.eh-lb-close{position:absolute;top:clamp(12px,2vw,26px);right:clamp(12px,2vw,26px);width:44px;height:44px;font-size:1.6rem;line-height:1;}
@media (max-width:640px){.eh-lb{flex-wrap:wrap;}.eh-lb-stage{order:-1;flex-basis:100%;}}
/* --- Product page: brand logo as a spec row --- */
.eh-spec-brand{display:flex;align-items:center;justify-content:flex-start;text-align:left;}
.eh-spec-brand img{max-height:28px;max-width:96px;width:auto;height:auto;object-fit:contain;display:block;margin-left:0 !important;margin-right:auto !important;}
.eh-spec-brand p,.eh-spec-brand div,.eh-spec-brand ul{margin:0;}
@media (max-width:560px){.eh-spec-brand img{max-height:24px;max-width:84px;}}


/* --- Portfolio index: service tabs over a category row --- */
.eh-sec--pf{padding-top:8px;}
.eh-pf-nav{margin:0 0 32px;}
.eh-pf-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 30px;border-bottom:1px solid var(--line-soft);padding-bottom:2px;}
.eh-pf-tab{position:relative;border:0;background:none;padding:0 0 14px;font-family:var(--display);font-weight:400;font-size:1.02rem;color:var(--ink-2);cursor:pointer;transition:color .25s var(--ease);}
.eh-pf-tab i{font-style:normal;font-size:.72rem;color:var(--muted);margin-left:6px;vertical-align:super;}
.eh-pf-tab::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.eh-pf-tab:hover{color:var(--brand);}
.eh-pf-tab.is-active{color:var(--brand);font-weight:700;}
.eh-pf-tab.is-active::after{transform:scaleX(1);}
.eh-pf-tab.is-active i{color:var(--brand);opacity:.7;}
.eh-pf-subs{display:flex;flex-wrap:wrap;gap:8px;padding-top:18px;animation:ehPfSubsIn .3s var(--ease);}
.eh-pf-subs[hidden]{display:none;}
@keyframes ehPfSubsIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:none;}}
.eh-pf-sub{border:0;background:var(--paper-2);border-radius:999px;padding:.42rem 1rem;font-family:var(--sans);font-size:.88rem;color:var(--ink-2);cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease);}
.eh-pf-sub i{font-style:normal;font-size:.72rem;color:var(--muted);margin-left:6px;}
.eh-pf-sub:hover{background:var(--brand-100);color:var(--brand);}
.eh-pf-sub.is-active{background:var(--brand);color:#fff;}
.eh-pf-sub.is-active i{color:rgba(255,255,255,.7);}
.eh-pf-more{display:flex;justify-content:center;margin:34px 0 8px;}
.eh-pf-more [hidden]{display:none !important;}

/* --- Product page: colour swatches that drive the gallery --- */
.eh-colour-row{display:flex;flex-wrap:wrap;gap:9px;}
.eh-colour{width:28px;height:28px;padding:0;border:0;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(20,18,15,.16),0 0 0 2px var(--paper),0 0 0 3px transparent;transition:box-shadow .25s var(--ease),transform .25s var(--ease);}
.eh-colour:hover{transform:translateY(-2px);}
.eh-colour.is-active{box-shadow:inset 0 0 0 1px rgba(20,18,15,.16),0 0 0 2px var(--paper),0 0 0 3px var(--brand);}
.eh-colour.is-plain{cursor:default;opacity:.75;}
.eh-colour.is-plain:hover{transform:none;}

/* --- Order lines: colour picked as swatch chips instead of a dropdown --- */
.eh-v-swatches{display:flex;flex-wrap:wrap;gap:7px;padding:.35rem 0;}
.eh-v-swatch{width:26px;height:26px;padding:0;border:0;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(20,18,15,.18),0 0 0 2px var(--paper),0 0 0 3px transparent;transition:box-shadow .2s var(--ease),transform .2s var(--ease);}
.eh-v-swatch:hover{transform:translateY(-2px);}
.eh-v-swatch.is-active{box-shadow:inset 0 0 0 1px rgba(20,18,15,.18),0 0 0 2px var(--paper),0 0 0 3px var(--brand);}
.eh-v-swatch--none{position:relative;background:#fff;}
.eh-v-swatch--none::after{content:"";position:absolute;left:4px;right:4px;top:50%;height:1px;background:rgba(20,18,15,.45);transform:rotate(-45deg);}
.eh-v-swatch-name{font-family:var(--display);font-weight:600;font-size:.82rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* --- Printing techniques, highlighted inside the order box --- */
.eh-printbox{display:flex;align-items:flex-start;gap:12px;margin:0 0 18px;padding:13px 16px;border-radius:14px;background:var(--brand-100);border:1px solid rgba(47,36,132,.12);border-left:3px solid var(--brand);}
.eh-printbox-ic{flex:none;font-size:1.35rem;line-height:1;color:var(--brand);margin-top:1px;}
.eh-printbox-t{margin:0;font-family:var(--display);font-weight:600;font-size:.94rem;line-height:1.5;color:var(--brand);letter-spacing:.005em;}
.eh-price-locked + .eh-printbox{margin:16px 0 0;}
@media(max-width:560px){.eh-printbox{padding:12px 13px;gap:10px;}.eh-printbox-t{font-size:.9rem;}}

/* --- About page --- */
.eh-hero--about{padding:126px 0 78px;}
.eh-hero--about .eh-hero-title{font-size:clamp(2.2rem,4vw,3.5rem);color:var(--brand);}
.eh-hero--about .eh-hero-sub{max-width:60ch;}

/* founding story: photo with a badge on the left, copy on the right */
.eh-about-story{padding:26px 0 84px;}
.eh-about-story .eh-capimg{min-height:520px;overflow:visible;}
/* overhangs the photo to the left and bottom, like the quote badge on the homepage */
.eh-about-story .eh-capbox{left:-30px;bottom:-30px;width:min(360px,78%);max-width:none;padding:24px 28px;border-radius:14px;background:var(--brand) !important;box-shadow:0 22px 44px -22px rgba(20,18,15,.5);}
.eh-about-story .eh-capbox b{font-size:1.5rem;}
.eh-about-story .eh-capbox span{display:block;margin-top:6px;font-size:.92rem;line-height:1.5;color:rgba(255,255,255,.92);}
.eh-about-copy p{margin:0 0 14px;color:var(--ink-2);line-height:1.75;}
.eh-about-copy p:last-child{margin-bottom:0;}

/* approach: one tinted band, heading left, copy right */
.eh-about-band{padding:0 0 84px;}
.eh-band-inner{display:grid;grid-template-columns:calc(50% - 20px) 1fr;gap:48px;align-items:start;background:var(--brand);border:0;border-radius:22px;padding:52px 54px;box-shadow:0 26px 60px -34px rgba(20,18,15,.44);}
.eh-band-inner .eh-eyebrow{color:var(--rect);}
.eh-band-head h2{font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:1.08;font-size:clamp(1.6rem,2.6vw,2.3rem);color:#fff;margin:0;}
.eh-band-copy p{margin:0 0 16px;color:#fff;line-height:1.75;font-size:inherit;font-weight:400;}
.eh-band-copy p:last-child{margin-bottom:0;}

/* values: heading left, lead right, three pillars as icon cards */
.eh-values{padding:0 0 96px;}
.eh-values-head{display:grid;grid-template-columns:calc(50% - 28px) 1fr;gap:56px;align-items:end;margin-bottom:38px;}
.eh-values-head .eh-eyebrow{margin-bottom:10px;}
.eh-values-title{font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:1.05;font-size:clamp(1.9rem,3.4vw,2.8rem);color:var(--brand);margin:0;}
.eh-values-lead{margin:0;color:var(--ink-2);font-size:1.08rem;line-height:1.7;max-width:46ch;}
.eh-vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.eh-vcard{background:var(--paper);border:0;border-radius:18px;padding:30px 30px 32px;box-shadow:0 20px 48px -32px rgba(20,18,15,.34);transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
.eh-vcard:hover{transform:translateY(-4px);box-shadow:0 28px 58px -28px rgba(20,18,15,.36);}
.eh-vicon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--brand-100);color:var(--brand);font-size:1.6rem;margin-bottom:20px;}
.eh-vcard h3{font-family:var(--display);font-weight:700;font-size:1.25rem;letter-spacing:-.02em;color:var(--brand);margin:0 0 10px;}
.eh-vcard p{margin:0;color:var(--ink-2);font-size:.96rem;line-height:1.65;}
.eh-values-foot{margin:34px 0 0;padding-top:26px;border-top:1px solid var(--line-soft);color:var(--ink-2);line-height:1.75;max-width:82ch;}

/* the legacy curve masks and parallax bands are gone from this page */
.etairia .ipiresia-parallax-wrapper,.etairia .ipiresia-parallax-wrapper-2{display:none;}
#ipiresia.etairia .text-style p,#ipiresia.etairia .text-style{font-size:1.02rem !important;line-height:1.75 !important;color:var(--ink-2);}

@media (max-width:1000px){
  .eh-band-inner,.eh-values-head{grid-template-columns:1fr;gap:22px;}
  .eh-band-inner{padding:38px 30px;}
  .eh-vgrid{grid-template-columns:1fr;}
  .eh-about-story .eh-capimg{min-height:340px;}
  .eh-about-story .eh-capbox{left:-16px;bottom:-22px;width:min(320px,86%);}
}
@media (max-width:900px){.eh-hero--about{padding:104px 0 44px;}.eh-about-story{padding-bottom:56px;}.eh-about-band{padding-bottom:56px;}.eh-values{padding-bottom:64px;}}

/* --- Product page: "upon request" call to action instead of the order box --- */
.eh-request{margin:1.9rem 0 0;padding:34px 36px;border-radius:18px;background:var(--brand);color:#fff;box-shadow:0 26px 60px -34px rgba(20,18,15,.44);}
.eh-request .eh-eyebrow{color:var(--rect);margin-bottom:10px;}
.eh-request-h{font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:1.1;font-size:clamp(1.4rem,2.1vw,1.85rem);color:#fff;margin:0 0 12px;}
.eh-request-p{margin:0 0 22px;color:#fff;line-height:1.7;font-size:inherit;}
.eh-request-btn{display:inline-flex;align-items:center;gap:10px;padding:.85rem 1.6rem;border-radius:999px;background:#fff;color:var(--brand) !important;font-family:var(--display);font-weight:700;font-size:.95rem;letter-spacing:-.01em;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease);}
.eh-request-btn em{font-size:1.15rem;line-height:1;}
.eh-request-btn:hover{transform:translateY(-2px);background:var(--rect);box-shadow:0 16px 34px -18px rgba(20,18,15,.55);}
@media (max-width:560px){.eh-request{padding:26px 22px;}}

/* --- Product page: price-table order lines (prints & other matrix-priced products) --- */
.eh-tbuy .eh-addcart-btn{margin-top:14px;align-self:flex-start;padding:.72rem 1.5rem;font-size:.92rem;}
.eh-tbuy .eh-addcart-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;}
.eh-tlines{display:flex;flex-direction:column;gap:12px;margin-bottom:6px;}
.eh-tline-rows{display:flex;flex-direction:column;gap:12px;}
.eh-tline-axes{display:flex;flex-direction:column;gap:12px;}
.eh-tax{display:flex;flex-direction:column;gap:7px;}
.eh-tchips{display:flex;flex-wrap:wrap;gap:7px;}
.eh-tchip{font-family:var(--display);font-weight:600;font-size:.86rem;line-height:1.2;color:var(--ink);background:#fff;border:1px solid rgba(20,18,15,.16);border-radius:999px;padding:.5rem .95rem;cursor:pointer;transition:border-color .2s var(--ease),background .2s var(--ease),color .2s var(--ease);}
.eh-tchip:hover{border-color:var(--brand);color:var(--brand);}
.eh-tchip.is-active{background:var(--brand);border-color:var(--brand);color:#fff;}
.eh-tchip.is-off:not(.is-active){opacity:.42;border-style:dashed;}
.eh-tline-bottom{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:14px;padding-top:12px;border-top:1px dashed var(--line-soft);}
.eh-tline-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right;}
.eh-tl-total{font-family:var(--display);font-weight:700;font-size:1.35rem;letter-spacing:-.02em;color:var(--brand);line-height:1.1;}
.eh-tl-avg{font-size:.8rem;color:var(--muted);}
.eh-tl-hint{margin:10px 0 0;font-size:.84rem;color:var(--ink-2);}
.eh-tl-hint:empty{display:none;}
.eh-tl-hint.is-warn{color:#b45309;}
.eh-tl-hint a{color:var(--brand);font-weight:700;}
.eh-tline .eh-vrow-foot{margin-top:10px;padding-top:0;border-top:0;justify-content:flex-start;}
.eh-modal-card--wide{max-width:min(860px,94vw);}
.eh-pt-scroll{overflow-x:auto;margin:0 -4px;padding:0 4px;}
.eh-pt-table th,.eh-pt-table td{padding-right:14px;white-space:nowrap;}
.eh-pt-table th:last-child,.eh-pt-table td:last-child{padding-right:0;}
.eh-pt-table .eh-pt-num{text-align:right;}
.eh-pt-table td.eh-pt-num{font-weight:700;color:var(--brand);}
.eh-pt-table td:not(.eh-pt-num){font-weight:500;color:var(--ink);}
.eh-pt-table td:last-child:not(.eh-pt-num){text-align:left;}
.eh-modal-note a{color:var(--brand);font-weight:700;}
.eh-tbuy .eh-min-note a{color:var(--brand);font-weight:700;}

/* ============================================================
   Design pass — client notes of 2026-09-21
   ============================================================ */

/* no black type: the legacy theme hard-codes #000 on a few text blocks */
body .text-style,body .ipiresies-mega-wrap .introtext-wrap,body .accordion-button,body .alert-warning,
body .web-signature a{color:var(--ink);}

/* titles in Zona Pro Black */
.eh-hero-title,.eh-head h2,.eh-feature h2,.eh-cta h2,.eh-product-title,.eh-auth-title,
.related-products-section .eh-cat-title,.eh-cat-title,.eh-contact-intro h2,.eh-band-head h2,.eh-values-title,.eh-request-h{font-weight:900;}
.title-style,.title-style.purple-title,.related-products-section h1.title-style,
.section-faq-wrap .section-title-wrap .title-style,.landing-editorial .title-style,
.head-landing-title-wrap>h1,.head-landing-title-wrap>h2{font-weight:900 !important;}

/* homepage hero: fills the first screen, headline on one line, copy wider, a way down */
.eh-hero--video{min-height:100vh;min-height:100svh;}
.eh-hero--video .eh-hero-copy{max-width:min(100%,60vw);}
.eh-hero--video .eh-hero-sub{max-width:none;}
@media (min-width:901px){.eh-hero--video .eh-hero-title{white-space:nowrap;font-size:clamp(2.4rem,4.4vw,4.6rem);}}
.eh-hero-down{position:absolute;left:50%;bottom:26px;z-index:3;transform:translateX(-50%);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;color:#fff !important;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:1.25rem;transition:background .3s var(--ease),transform .3s var(--ease);animation:eh-down-bob 2.4s var(--ease) infinite;}
.eh-hero-down:hover{background:rgba(255,255,255,.24);}
@keyframes eh-down-bob{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,6px);}}
@media (prefers-reduced-motion:reduce){.eh-hero-down{animation:none;}}
#services{scroll-margin-top:110px;}
html{scroll-behavior:smooth;}
@media (max-width:900px){.eh-hero--video .eh-hero-copy{max-width:100%;}.eh-hero-down{bottom:16px;}}

/* product gallery: the photo and a row of thumbnails fit the first screen */
.eh-product-gallery{max-width:min(100%,calc(100svh - 370px));min-width:min(100%,340px);}
.eh-pg-thumbs.is-collapsed .eh-pg-thumb.is-extra{display:none;}
.eh-pg-more{width:76px;height:76px;border-radius:12px;border:2px dashed rgba(47,36,132,.35);background:var(--brand-100);color:var(--brand);font-family:var(--display);font-weight:700;font-size:1rem;cursor:pointer;transition:background .25s var(--ease),border-color .25s var(--ease);}
.eh-pg-more:hover{background:#fff;border-color:var(--brand);}

/* order lines: the colour chips get their own row, above the other options */
.eh-vrow-fields .eh-vf-swatch{grid-column:1/-1;order:-1;}

/* more air before the related products */
.eh-related{margin-top:4.5rem;}

/* listing cards: bigger product image, colours under the description, larger title */
.related-products-section .product-image{height:auto !important;aspect-ratio:1/1;padding:10px 10px 0 !important;}
.related-products-section .product-title .eh-card-swatches{position:static;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px;max-width:none;margin-top:12px;}
.related-products-section .product-title .eh-card-swatch{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(20,18,15,.18);}
.related-products-section .product-title .eh-card-swatch-more{font-family:var(--display);font-size:.72rem;color:var(--muted);line-height:16px;padding:0 2px;}
.related-products-section .eh-cat .eh-cat-main .product .product-title h2,.related-products-section .eh-related .product .product-title h2,
.related-products-section--archive .product .product-title h2{font-size:1.28rem !important;}

/* contact: the map sits on a shadow */
.eh-map{box-shadow:0 26px 60px -30px rgba(20,18,15,.45),0 -10px 40px -30px rgba(20,18,15,.25);z-index:1;}

/* cart: the VAT-inclusive total under the net one */
.eh-cart-grand--vat{margin-top:-12px;font-size:1rem;color:var(--muted);}
.eh-cart-grand--vat strong{color:var(--ink);}

/* --- Header search: button + modal --- */
.head-search{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;padding:0;border:0;cursor:pointer;color:var(--brand);background:var(--brand-100);font-size:1.15rem;transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease);}
.head-search:hover{background:var(--brand);color:#fff;transform:translateY(-1px);}
/* on phones the header's right-hand group is hidden; the search button stays, beside the menu toggle */
@media (max-width:991px){
  #headmenu .head-social-wrap{display:flex !important;margin-left:auto;margin-right:10px;order:2;}
  #headmenu .head-social-wrap>:not(.head-search){display:none !important;}
  #headmenu .navbar-toggler{order:3;}
}
.eh-search{position:fixed;inset:0;z-index:2000;display:flex;justify-content:center;align-items:flex-start;padding:clamp(70px,12vh,140px) 16px 24px;}
.eh-search[hidden]{display:none;}
.eh-search-back{position:absolute;inset:0;background:rgba(27,23,64,.42);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:eh-search-fade .2s var(--ease);}
.eh-search-card{position:relative;width:min(720px,100%);max-height:min(640px,calc(100vh - 140px));display:flex;flex-direction:column;background:var(--paper);border-radius:20px;box-shadow:0 40px 90px -30px rgba(20,18,15,.55);overflow:hidden;animation:eh-search-in .25s var(--ease);}
@keyframes eh-search-in{from{opacity:0;transform:translateY(-10px) scale(.985);}to{opacity:1;transform:none;}}
@keyframes eh-search-fade{from{opacity:0;}to{opacity:1;}}
@media (prefers-reduced-motion:reduce){.eh-search-card,.eh-search-back{animation:none;}}
.eh-search-bar{display:flex;align-items:center;gap:12px;padding:16px 18px 16px 22px;border-bottom:1px solid var(--line-soft);}
.eh-search-bar>em{font-size:1.35rem;color:var(--brand);}
.eh-search-bar input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-family:var(--display);font-weight:600;font-size:1.15rem;color:var(--ink);padding:6px 0;}
.eh-search-bar input::placeholder{color:var(--muted);font-weight:400;}
.eh-search-bar input::-webkit-search-cancel-button{display:none;}
.eh-search-x{border:0;background:transparent;padding:0;cursor:pointer;}
.eh-search-x kbd{display:inline-block;font-family:var(--display);font-size:.72rem;font-weight:600;color:var(--muted);background:var(--paper-2);border:1px solid var(--line-soft);border-radius:6px;padding:3px 7px;}
.eh-search-body{overflow-y:auto;padding:8px 10px 14px;transition:opacity .2s var(--ease);}
.eh-search-body.is-loading{opacity:.55;}
.eh-search-hint{margin:14px 12px;color:var(--muted);font-size:.95rem;}
.eh-search-hint a{color:var(--brand);font-weight:700;}
.eh-search-h{margin:14px 12px 8px;font-family:var(--display);font-weight:300;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);}
.eh-sr-cats{display:flex;flex-wrap:wrap;gap:8px;padding:0 12px 4px;}
.eh-sr-cat{display:inline-flex;flex-direction:column;gap:1px;padding:8px 14px;border-radius:12px;background:var(--brand-100);text-decoration:none;transition:background .2s var(--ease);}
.eh-sr-cat-t{font-family:var(--display);font-weight:700;font-size:.92rem;color:var(--brand);}
.eh-sr-cat-p{font-size:.72rem;color:var(--muted);}
.eh-sr-cat:hover,.eh-sr-cat.is-active{background:#ddd9f0;}
.eh-sr-list{display:flex;flex-direction:column;gap:2px;}
.eh-sr-prod{display:flex;align-items:center;gap:14px;padding:9px 12px;border-radius:12px;text-decoration:none;transition:background .2s var(--ease);}
.eh-sr-prod:hover,.eh-sr-prod.is-active{background:var(--brand-100);}
.eh-sr-thumb{flex:none;width:52px;height:52px;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-soft);display:grid;place-items:center;overflow:hidden;}
.eh-sr-thumb img{width:100%;height:100%;object-fit:contain;padding:4px;}
.eh-sr-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.eh-sr-title{font-family:var(--display);font-weight:700;font-size:.98rem;color:var(--brand);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eh-sr-meta{font-size:.8rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.eh-sr-go{flex:none;color:var(--brand);opacity:0;transform:translateX(-4px);transition:opacity .2s var(--ease),transform .2s var(--ease);}
.eh-sr-prod:hover .eh-sr-go,.eh-sr-prod.is-active .eh-sr-go{opacity:1;transform:none;}
@media (max-width:560px){.eh-search{padding-top:64px;}.eh-search-bar input{font-size:1rem;}.eh-search-x{display:none;}}
.eh-search .eh-search-bar input{border:0 !important;box-shadow:none !important;background:transparent !important;border-radius:0 !important;height:auto !important;}
.eh-search .eh-search-h{font-family:var(--display) !important;font-weight:300 !important;font-size:.72rem !important;letter-spacing:.18em !important;text-transform:uppercase !important;color:var(--muted) !important;line-height:1.4;}

/* --- Size guide: button beside the price list, image in a modal that fits it --- */
.eh-price-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.eh-price-tools--locked{margin-top:16px;}
.eh-modal-card--img{max-width:min(1100px,94vw);width:auto;}
.eh-sizeguide-img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(85vh - 110px);margin:6px auto 0;object-fit:contain;border-radius:8px;}

/* --- Blog: category tabs (portfolio style) and post pages on the standard page head --- */
.eh-bcard[hidden]{display:none !important;}
.eh-blog-nav{margin:6px 0 32px;min-height:38px;}
.eh-post-head{padding-bottom:0 !important;}
.eh-post-head .title-style{max-width:28ch;}
.article-bg-mega-wrap.eh-post{margin-top:0;padding-top:0;}
/* the legacy framed photo (purple border + white inner ring, 50px margins) → the site's plain shadowed photo */
.eh-post .blogimage{margin:6px 0 40px;border:0;border-radius:16px;box-shadow:0 22px 54px -30px rgba(20,18,15,.30);}

/* --- Cart: one clean row per item --- */
.eh-crow{display:grid;grid-template-columns:76px minmax(0,1fr) auto auto 40px;align-items:center;gap:22px;background:var(--paper);border-radius:16px;padding:16px 18px;box-shadow:0 14px 32px -26px rgba(20,18,15,.32);}
.eh-crow-img{width:76px;height:76px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-soft);display:grid;place-items:center;overflow:hidden;padding:6px;}
.eh-crow-img img{max-width:100%;max-height:100%;object-fit:contain;}
.eh-crow-main{display:flex;flex-direction:column;gap:5px;min-width:0;}
.eh-crow-name{font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--brand) !important;text-decoration:none;line-height:1.25;}
.eh-crow-name:hover{text-decoration:underline;text-underline-offset:3px;}
.eh-crow-code{font-size:.8rem;color:var(--muted);letter-spacing:.02em;}
.eh-crow-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;}
.eh-crow-chip{display:inline-flex;align-items:baseline;gap:5px;padding:3px 10px;border-radius:999px;background:var(--brand-100);font-size:.8rem;color:var(--ink);line-height:1.5;}
.eh-crow-chip b{font-weight:600;color:var(--muted);}
.eh-crow-lines{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;}
.eh-crow-lines li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;}
.eh-crow-lines .eh-crow-chips{margin:0;flex:0 1 auto;}
.eh-crow-lq{font-size:.85rem;font-weight:600;color:var(--ink);white-space:nowrap;}
.eh-crow-ls{font-size:.85rem;color:var(--muted);white-space:nowrap;}
.eh-crow-lq::before{content:"·";margin-right:10px;color:var(--muted);}
.eh-crow-extras{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:4px;font-size:.82rem;color:var(--ink-2);}
.eh-crow-extras b{font-weight:600;}
.eh-crow-extras a{color:var(--brand);font-weight:600;}
.eh-crow-extras i{font-style:normal;color:var(--muted);}
.eh-crow-qty,.eh-crow-price{display:flex;flex-direction:column;gap:2px;white-space:nowrap;}
.eh-crow-qty{text-align:center;min-width:84px;}
.eh-crow-price{text-align:right;min-width:120px;}
.eh-crow-lbl{font-size:.74rem;color:var(--muted);}
.eh-crow-qty strong{font-family:var(--display);font-weight:700;font-size:1rem;color:var(--ink);}
.eh-crow-price strong{font-family:var(--display);font-weight:800;font-size:1.2rem;color:var(--brand);}
.eh-crow-req{font-size:.9rem !important;font-weight:600 !important;color:var(--muted) !important;}
.eh-crow-x{margin:0;}
@media (max-width:720px){
  .eh-crow{grid-template-columns:64px minmax(0,1fr) 40px;gap:12px 14px;}
  .eh-crow-img{width:64px;height:64px;align-self:start;}
  .eh-crow-main{grid-column:2;grid-row:1;}
  .eh-crow-x{grid-column:3;grid-row:1;align-self:start;}
  .eh-crow-qty,.eh-crow-price{grid-row:2;}
  .eh-crow-qty{grid-column:1 / 3;text-align:left;flex-direction:row;align-items:baseline;gap:8px;padding-left:78px;}
  .eh-crow-price{grid-column:2 / 4;}
}

/* --- Service landing cards: the hover rectangle hugs the title however it wraps --- */
.related-products-section--archive .product .product-title h2{display:inline-flex !important;align-items:flex-start;justify-content:center;max-width:100%;}
.related-products-section--archive .product .product-title h2::before{flex:none;margin-top:.2em;}
.related-products-section--archive .product .product-title h2 span{min-width:0;text-align:left;}
/* page heroes (portfolio) carry the brand-blue title like every other page title */
.eh-hero--page .eh-hero-title{color:var(--brand);}

/* --- Blog: publish dates --- */
.eh-bcard-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;}
.eh-bcard-date{font-size:.78rem;color:var(--muted);}
.eh-bcard-meta .eh-bcard-cat+.eh-bcard-date::before{content:"·";margin-right:10px;}
.eh-post-date{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:.92rem;color:var(--muted);}
.eh-post-date em{color:var(--brand);font-size:1.05rem;}

/* --- Phone menu: borderless burger beside the search, full-screen centred panel --- */
@media (max-width:991px){
  /* the legacy theme leaves a 16px bottom margin and 8px padding on this group: the search sat 8px high */
  #headmenu .head-social-wrap{margin:0 8px 0 auto !important;padding:0 !important;align-self:center;}
  #headmenu .navbar-toggler{order:3;align-self:center;width:40px;height:40px;padding:0;margin:0;border:0 !important;border-radius:50%;background:var(--brand-100);color:var(--brand);display:grid;place-items:center;box-shadow:none !important;outline:0;transition:background .3s var(--ease),color .3s var(--ease);}
  #headmenu .navbar-toggler>em{font-size:1.25rem;line-height:1;}
  #headmenu .navbar-toggler:hover,#headmenu .navbar-toggler:focus-visible{background:var(--brand);color:#fff;}
  #mainNavbar{display:none !important;}
}
.eh-mnav{position:fixed;inset:0;z-index:1500;display:flex;flex-direction:column;background:#fff;overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transition:opacity .25s var(--ease),visibility 0s linear .25s;}
.eh-mnav.is-open{opacity:1;visibility:visible;transition:opacity .25s var(--ease),visibility 0s;}
.eh-mnav[hidden]{display:none;}
.eh-mnav-logo{position:fixed;top:var(--logo-top,18px);left:var(--logo-left,16px);width:var(--logo-w,120px);z-index:1;}
.eh-mnav-logo img{display:block;width:100%;height:auto;}
.eh-mnav-x{position:fixed;top:var(--x-top,18px);left:var(--x-left,auto);right:auto;width:var(--x-size,40px);height:var(--x-size,40px);z-index:1;padding:0;border:0;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:1.2rem;cursor:pointer;transition:transform .3s var(--ease);}
.eh-mnav .eh-mnav-x{border-radius:50% !important;outline:0 !important;}
.eh-mnav .eh-mnav-x:focus-visible{box-shadow:0 0 0 3px var(--brand-100),0 0 0 5px var(--brand);}
.eh-mnav-x:hover{transform:rotate(90deg);}
.eh-mnav-body{flex:1;display:flex;align-items:center;justify-content:center;padding:118px 24px 28px;}
.eh-mnav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;}
.eh-mnav-item{opacity:0;transform:translateY(12px);}
.eh-mnav.is-open .eh-mnav-item{animation:eh-mnav-in .45s var(--ease) both;animation-delay:calc(var(--i) * 55ms + 60ms);}
@keyframes eh-mnav-in{to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.eh-mnav-item,.eh-mnav.is-open .eh-mnav-item{opacity:1;transform:none;animation:none;}}
.eh-mnav-link{position:relative;display:inline-flex;align-items:center;gap:10px;padding:9px 4px;border:0;background:none;cursor:pointer;font-family:var(--display);font-weight:900;font-size:clamp(1.75rem,8vw,2.4rem);line-height:1.1;letter-spacing:-.025em;color:var(--brand) !important;text-decoration:none;}
.eh-mnav-link::after{content:"";position:absolute;right:-.12em;bottom:.42em;width:.34em;height:.34em;border-radius:2px;background:var(--rect);z-index:-1;transform:scale(0);transition:transform .25s var(--ease);}
.eh-mnav-item.is-active>.eh-mnav-link::after,.eh-mnav-link:hover::after,.eh-mnav-toggle[aria-expanded="true"]::after{transform:scale(1);}
.eh-mnav-sub{list-style:none;margin:2px 0 12px;padding:0;display:flex;flex-direction:column;gap:2px;}
.eh-mnav-sub a{display:inline-block;padding:6px 8px;font-family:var(--display);font-weight:600;font-size:1.08rem;color:var(--ink-2) !important;text-decoration:none;transition:color .2s var(--ease);}
.eh-mnav-sub a:hover,.eh-mnav-sub a.is-active{color:var(--brand) !important;}
.eh-mnav-foot{display:flex;flex-direction:column;align-items:center;gap:16px;padding:22px 24px calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--line-soft);}
.eh-mnav-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:12px;}
.eh-mnav-foot[hidden]{display:none;}
.eh-mnav-social-item{margin-top:18px;}
.eh-mnav-social-item .eh-mnav-socials{justify-content:center;}
.eh-mnav-actions form{margin:0;}
.eh-mnav-socials{display:flex;gap:10px;}
.eh-mnav-socials .social-item a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--brand);background:var(--brand-100);text-decoration:none;}

/* The legacy theme faded the whole page in over 3s (body opacity 0 → 1). While the
   page is translucent the browser cannot blur what sits behind a glass element,
   so the header dropdown showed as bare see-through white until the fade ended —
   and every page took 3s to reach full strength. Pages now appear at once. */
body{animation:none !important;-webkit-backface-visibility:visible;backface-visibility:visible;}

/* --- Category sidebar: folding groups, colours capped at two rows --- */
.eh-filter-group h3.eh-fg-title{margin:0;}
.eh-fg-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:0;border:0;background:none;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;}
.eh-fg-toggle:hover{color:var(--brand);}
.eh-fg-caret{flex:none;width:9px;height:9px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s var(--ease);}
.eh-filter-group.is-collapsed .eh-fg-caret{transform:translateY(1px) rotate(-135deg);}
.eh-fg-body{margin-top:12px;}
.eh-filter-group.is-collapsed .eh-fg-body{display:none;}
.eh-filter-group.is-collapsed{padding-bottom:14px;}
/* two full rows of five, the rest behind a "+N" of the same size */
.eh-swatch-list{display:grid;grid-template-columns:repeat(5,30px);justify-content:space-between;gap:10px 0;}
.eh-swatch-list.is-capped .eh-swatch.is-extra{display:none;}
.eh-swatch-more{width:30px;height:30px;padding:0;border:1.5px dashed rgba(47,36,132,.4);border-radius:50%;background:var(--brand-100);color:var(--brand);font-family:var(--display);font-weight:700;font-size:.68rem;line-height:1;cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease);}
.eh-swatch-more:hover{background:#fff;border-color:var(--brand);}

/* ---- Customer account (/account) ---- */
.head-account.is-active{background:var(--brand);color:#fff;}
.head-logout.head-cart{border:0;cursor:pointer;background:var(--brand-100);}
.head-logout.head-cart:hover{background:var(--brand);color:#fff;}
.eh-acc-hello{margin:.3rem 0 1.8rem;color:var(--ink-2);font-size:1rem;}
.eh-acc-hello strong{color:var(--ink);font-weight:600;}
.eh-acc-hello span{color:var(--muted);}
.eh-acc{display:grid;grid-template-columns:270px minmax(0,1fr);gap:28px;align-items:start;}
.eh-acc-nav{position:sticky;top:120px;display:flex;flex-direction:column;gap:4px;background:#fff;border-radius:18px;padding:10px;box-shadow:0 18px 40px -30px rgba(20,18,15,.35);}
.eh-acc-nav a,.eh-acc-nav button{display:flex;align-items:center;gap:12px;width:100%;padding:.8rem 1rem;border-radius:12px;border:0;background:transparent;font-family:var(--display);font-weight:600;font-size:.95rem;color:var(--ink) !important;text-decoration:none;text-align:left;cursor:pointer;transition:background .2s var(--ease),color .2s var(--ease);}
.eh-acc-nav em{font-size:1.25rem;color:var(--brand);line-height:1;}
.eh-acc-nav a:hover,.eh-acc-nav button:hover{background:var(--brand-100);}
.eh-acc-nav a.is-active{background:var(--brand);color:#fff !important;}
.eh-acc-nav a.is-active em{color:var(--rect);}
.eh-acc-nav form{margin:6px 0 0;padding-top:6px;border-top:1px solid var(--line-soft);}
.eh-acc-nav button{color:var(--muted) !important;}
.eh-acc-nav button em{color:var(--muted);}
.eh-acc-main{display:flex;flex-direction:column;gap:20px;min-width:0;}
.eh-acc-main .eh-alert{margin:0;}
.eh-alert--warn{background:#fff8dc;color:#6b5510;border:1px solid #f1e3a6;}
.eh-alert--warn form{margin:0;}
.eh-alert--warn button{border:0;background:none;padding:0;color:var(--brand);font-weight:700;text-decoration:underline;cursor:pointer;}
.eh-acc-card{background:#fff;border-radius:20px;padding:clamp(20px,3vw,32px);box-shadow:0 18px 40px -30px rgba(20,18,15,.35);}
.eh-acc-card--narrow{max-width:560px;}
.eh-acc-h{font-family:var(--display);font-weight:700;font-size:1.25rem;color:var(--brand);margin:0 0 .35rem;letter-spacing:-.01em;}
.eh-acc-sub{color:var(--muted);font-size:.92rem;margin:0 0 1.3rem;}
.eh-acc-card > .eh-acc-h:only-of-type + .eh-acc-grid,.eh-acc-card > .eh-acc-h + .eh-acc-orders,.eh-acc-card > .eh-acc-h + .eh-acc-empty{margin-top:1rem;}
.eh-acc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;}
.eh-acc-span2{grid-column:1 / -1;}
.eh-acc-ship{margin-top:1rem;}
.eh-acc-ship[hidden]{display:none;}
.eh-acc-notes{margin-top:16px;}
.eh-field input:disabled{background:var(--paper);color:var(--muted);}
.eh-acc-hint{font-size:.8rem;color:var(--muted);}
.eh-acc-hint a{color:var(--brand);font-weight:600;}
.eh-acc-actions{display:flex;justify-content:flex-end;}
.eh-acc-card .eh-form .eh-btn-quote{align-self:flex-start;border:0;cursor:pointer;}
.eh-acc-actions .eh-btn-quote{border:0;cursor:pointer;}
/* orders table */
.eh-acc-orders{display:flex;flex-direction:column;}
.eh-acc-orow{display:grid;grid-template-columns:64px minmax(0,1fr) 100px 100px 130px 150px;align-items:center;gap:14px;padding:14px 12px;border-bottom:1px solid var(--line-soft);color:var(--ink) !important;text-decoration:none;border-radius:10px;transition:background .2s var(--ease);}
a.eh-acc-orow:hover{background:var(--brand-100);}
.eh-acc-orow--head{font-family:var(--display);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-top:0;}
.eh-acc-orow > span:nth-child(n+3){text-align:right;}
.eh-acc-onum{font-family:var(--display);font-weight:700;color:var(--muted);font-size:.9rem;}
.eh-acc-oname{font-family:var(--display);font-weight:600;color:var(--brand);line-height:1.3;}
.eh-acc-ometa{font-size:.92rem;color:var(--ink-2);white-space:nowrap;}
.eh-acc-status{display:inline-block;padding:4px 11px;border-radius:999px;font-family:var(--display);font-size:.76rem;font-weight:700;white-space:nowrap;background:var(--brand-100);color:var(--brand);}
.eh-acc-status--quoted{background:#fff6cc;color:#7a5d00;}
.eh-acc-status--won{background:#e3f5e8;color:#1c6b34;}
.eh-acc-status--lost{background:#efeef2;color:var(--muted);}
.eh-acc-empty{text-align:center;padding:2rem 1rem;color:var(--ink-2);}
.eh-acc-empty p{margin:0 0 1.2rem;}
.eh-acc-empty em{font-size:2.6rem;color:var(--brand);display:block;margin-bottom:.4rem;}
.eh-acc-pager{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:.9rem;color:var(--muted);}
.eh-acc-pager a{color:var(--brand);font-weight:700;text-decoration:none;}
.eh-acc-pager .is-off{opacity:.4;}
/* single order */
.eh-acc-ohead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:.4rem;}
.eh-acc-back{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--muted) !important;text-decoration:none;margin-bottom:.6rem;}
.eh-acc-back:hover{color:var(--brand) !important;}
.eh-crow--static{grid-template-columns:76px minmax(0,1fr) auto auto;background:var(--paper);box-shadow:none;}
.eh-crow--static > .eh-crow-main:first-child{grid-column:1 / 3;}
.eh-acc-note{margin-top:18px;padding:14px 18px;border-radius:14px;background:var(--brand-100);}
.eh-acc-note b{font-family:var(--display);font-size:.85rem;color:var(--brand);}
.eh-acc-note p{margin:.3rem 0 0;color:var(--ink);}
.eh-acc-fine{margin:18px 0 0;font-size:.85rem;color:var(--muted);line-height:1.6;}
.eh-acc-fine a{color:var(--brand);font-weight:600;}
@media(max-width:991px){
  .eh-acc{grid-template-columns:1fr;gap:18px;}
  .eh-acc-nav{position:static;flex-direction:row;overflow-x:auto;scrollbar-width:none;padding:6px;}
  .eh-acc-nav a,.eh-acc-nav button{white-space:nowrap;width:auto;padding:.65rem .9rem;}
  .eh-acc-nav form{margin:0 0 0 auto;padding:0 0 0 6px;border-top:0;border-left:1px solid var(--line-soft);}
}
@media(max-width:767px){
  .eh-acc-orow--head{display:none;}
  .eh-acc-orow{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px 14px;padding:14px 8px;}
  .eh-acc-onum{display:none;}
  .eh-acc-oname{grid-column:1 / 3;grid-row:1;}
  .eh-acc-orow > span:last-child{grid-column:3;grid-row:1;text-align:right;}
  .eh-acc-orow > .eh-acc-ometa{grid-row:2;text-align:left;display:flex;flex-direction:column;align-items:flex-start;font-size:.85rem;white-space:normal;}
  .eh-acc-orow > .eh-acc-ometa:nth-child(5){align-items:flex-end;text-align:right;}
  .eh-acc-ometa::before{content:attr(data-label);font-size:.7rem;color:var(--muted);}
  .eh-acc-grid{grid-template-columns:1fr;}
  .eh-crow--static{grid-template-columns:64px minmax(0,1fr);}
  .eh-crow--static .eh-crow-qty{grid-column:1 / 2;padding-left:0;}
  .eh-crow--static .eh-crow-price{grid-column:2 / 3;}
}

/* footer sits at the bottom of the window on short pages (account, cart, login…) */
body.site{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;}
body.site > main{flex:1 0 auto;}
body.site > header,body.site > footer{flex-shrink:0;}

/* ---- Cookie consent (site.partials.consent) ---- */
.eh-cc-wrap{position:fixed;inset:0;z-index:1500;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(20,18,15,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .3s var(--ease);}
.eh-cc-wrap.is-on{opacity:1;}
.eh-cc-wrap[hidden]{display:none;}
.eh-cc{width:min(520px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:#fff;border-radius:20px;padding:clamp(22px,3vw,30px);box-shadow:0 40px 90px -30px rgba(20,18,15,.6);transform:translateY(14px) scale(.98);transition:transform .35s var(--ease);}
.eh-cc-wrap.is-on .eh-cc{transform:none;}
.eh-cc-title{display:flex;align-items:center;gap:8px;margin:0 0 .45rem;font-family:var(--display);font-weight:800;font-size:1.08rem;color:var(--brand);}
.eh-cc-title em{font-size:1.35rem;}
.eh-cc-text{margin:0 0 1rem;font-size:.9rem;line-height:1.55;color:var(--ink-2);}
.eh-cc-text a,.eh-ccm-intro a{color:var(--brand);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.eh-cc-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.eh-cc-btns .eh-cc-btn--ghost{grid-column:1 / -1;}
.eh-cc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:.6rem 1rem;border-radius:999px;font-family:var(--display);font-weight:700;font-size:.9rem;line-height:1.2;cursor:pointer;border:1.5px solid var(--brand);transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);}
.eh-cc-btn--solid{background:var(--brand);color:#fff;}
.eh-cc-btn--solid:hover{background:#231b6a;border-color:#231b6a;}
.eh-cc-btn--ghost{background:#fff;color:var(--brand);}
.eh-cc-btn--ghost:hover{background:var(--brand-100);}
.eh-cc-btn:focus-visible,.eh-ccm-x:focus-visible,.eh-ccm-switch input:focus-visible + span{outline:0;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--brand);}
@media(max-width:575px){.eh-cc-wrap{align-items:flex-end;padding:0;}.eh-cc{border-radius:22px 22px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom));max-height:88vh;}}
/* preferences */
.eh-ccm{position:fixed;inset:0;z-index:1700;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(20,18,15,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .25s var(--ease);}
.eh-ccm.is-on{opacity:1;}
.eh-ccm[hidden]{display:none;}
.eh-ccm-box{width:min(620px,100%);max-height:min(88vh,760px);display:flex;flex-direction:column;background:#fff;border-radius:22px;box-shadow:0 40px 90px -30px rgba(20,18,15,.6);overflow:hidden;}
.eh-ccm-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px 12px;}
.eh-ccm-title{margin:0;font-family:var(--display);font-weight:800;font-size:1.3rem;color:var(--brand);}
.eh-ccm-x{width:40px;height:40px;flex:0 0 40px;border-radius:50%;border:0;background:var(--brand-100);color:var(--brand);display:grid;place-items:center;font-size:1.1rem;cursor:pointer;}
.eh-ccm-x:hover{background:var(--brand);color:#fff;}
.eh-ccm-body{overflow-y:auto;overscroll-behavior:contain;padding:0 24px 8px;}
.eh-ccm-intro{margin:0 0 14px;font-size:.9rem;line-height:1.55;color:var(--ink-2);}
.eh-ccm-cat{padding:14px 0;border-top:1px solid var(--line-soft);}
.eh-ccm-row{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.eh-ccm-name{font-family:var(--display);font-weight:700;font-size:1rem;color:var(--ink);margin:0;}
.eh-ccm-always{font-size:.78rem;font-weight:700;color:#1c6b34;background:#e3f5e8;padding:3px 10px;border-radius:999px;white-space:nowrap;}
.eh-ccm-desc{margin:.35rem 0 .4rem;font-size:.86rem;line-height:1.55;color:var(--ink-2);}
.eh-ccm-more summary{cursor:pointer;font-size:.8rem;font-weight:600;color:var(--brand);}
.eh-ccm-more ul{list-style:none;margin:8px 0 0;padding:10px 12px;background:var(--paper);border-radius:12px;display:flex;flex-direction:column;gap:8px;font-size:.8rem;color:var(--ink-2);}
.eh-ccm-more code{font-size:.78rem;color:var(--ink);background:none;padding:0;}
.eh-ccm-more span{color:var(--muted);}
.eh-ccm-switch{position:relative;display:inline-flex;flex:0 0 auto;cursor:pointer;margin:0;}
.eh-ccm-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;}
.eh-ccm-switch span{width:46px;height:26px;border-radius:999px;background:#cfcdd8;position:relative;transition:background .2s var(--ease);}
.eh-ccm-switch span::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s var(--ease);}
.eh-ccm-switch input:checked + span{background:var(--brand);}
.eh-ccm-switch input:checked + span::after{transform:translateX(20px);}
.eh-ccm-foot{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:8px;padding:14px 24px 20px;border-top:1px solid var(--line-soft);}
@media(max-width:575px){.eh-ccm{padding:0;align-items:flex-end;}.eh-ccm-box{border-radius:22px 22px 0 0;max-height:92vh;}.eh-ccm-foot{grid-template-columns:1fr 1fr;padding-bottom:calc(20px + env(safe-area-inset-bottom));}.eh-ccm-foot .eh-cc-btn--solid{grid-column:1 / -1;order:-1;}}
/* map / embed placeholder until "εξωτερικό περιεχόμενο" is allowed */
.eh-embed-gate{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;background:var(--brand-100);}
.eh-embed-gate[hidden]{display:none;}
.eh-embed-gate em{font-size:2.4rem;color:var(--brand);}
.eh-embed-gate p{margin:0;max-width:40ch;font-size:.92rem;color:var(--ink-2);}
.eh-embed-gate > a{font-size:.82rem;font-weight:600;color:var(--brand);}
.eh-map:has(iframe[hidden])::after,.eh-map:has(iframe[hidden]) .eh-map-pin{display:none;}
/* footer legal links */
.eh-foot-legal{display:flex;flex-wrap:wrap;gap:6px 18px;}
.eh-foot-legal a{white-space:nowrap;}
/* ---- Legal pages ---- */
.eh-legal-date{margin:.2rem 0 2rem;font-size:.86rem;color:var(--muted);}
.eh-legal-wrap{display:grid;grid-template-columns:230px minmax(0,1fr);gap:40px;align-items:start;}
.eh-legal-nav{position:sticky;top:120px;display:flex;flex-direction:column;gap:4px;}
.eh-legal-nav a{padding:.65rem .9rem;border-radius:12px;font-family:var(--display);font-weight:600;font-size:.93rem;color:var(--ink) !important;text-decoration:none;transition:background .2s var(--ease);}
.eh-legal-nav a:hover{background:var(--brand-100);}
.eh-legal-nav a.is-active{background:var(--brand);color:#fff !important;}
.eh-legal-nav .eh-legal-nav-btn{margin-top:8px;display:inline-flex;align-items:center;gap:8px;color:var(--brand) !important;border:1.5px solid var(--brand);border-radius:999px;justify-content:center;}
.eh-legal{max-width:780px;background:#fff;border-radius:22px;padding:clamp(22px,4vw,44px);box-shadow:0 18px 40px -30px rgba(20,18,15,.35);color:var(--ink-2);font-size:1rem;line-height:1.7;}
.eh-legal-lead{font-size:1.06rem;color:var(--ink);margin-bottom:1.6rem;}
.eh-legal h2{font-family:var(--display);font-weight:800;font-size:1.25rem;color:var(--brand);margin:2.2rem 0 .7rem;letter-spacing:-.01em;}
.eh-legal h3{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-family:var(--display);font-weight:700;font-size:1.05rem;color:var(--ink);margin:1.6rem 0 .4rem;}
.eh-legal p,.eh-legal ul{margin:0 0 1rem;}
.eh-legal ul{padding-left:1.2rem;}
.eh-legal li{margin-bottom:.45rem;}
.eh-legal li::marker{color:var(--brand);}
.eh-legal a{color:var(--brand);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.eh-legal strong{color:var(--ink);font-weight:600;}
.eh-legal-co{margin:0 0 1rem;padding:16px 20px;border-radius:14px;background:var(--brand-100);color:var(--ink);font-size:.95rem;line-height:1.65;}
.eh-legal-tag{font-family:var(--sans);font-size:.72rem;font-weight:700;padding:2px 10px;border-radius:999px;background:#e3f5e8;color:#1c6b34;}
.eh-legal-tag--opt{background:#fff6cc;color:#7a5d00;}
.eh-legal-table{overflow-x:auto;margin:0 0 1.2rem;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line-soft);}
.eh-legal-table table{width:100%;border-collapse:collapse;font-size:.88rem;line-height:1.5;}
.eh-legal-table th{text-align:left;font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.04em;color:var(--muted);background:var(--paper);padding:10px 14px;}
.eh-legal-table td{padding:10px 14px;border-top:1px solid var(--line-soft);vertical-align:top;}
.eh-legal-table code{font-size:.82rem;color:var(--ink);background:none;padding:0;word-break:break-word;}
.eh-legal .eh-legal-btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;padding:.7rem 1.3rem;border-radius:999px;background:var(--brand);color:#fff !important;font-family:var(--display);font-weight:700;font-size:.92rem;}
.eh-legal .eh-legal-btn:hover{background:#231b6a;}
@media(max-width:991px){.eh-legal-wrap{grid-template-columns:1fr;gap:18px;}.eh-legal-nav{position:static;flex-direction:row;flex-wrap:wrap;}.eh-legal-nav .eh-legal-nav-btn{margin-top:0;}}
@media(max-width:575px){
  .eh-legal-table thead{display:none;}
  .eh-legal-table tr{display:block;padding:10px 14px;border-top:1px solid var(--line-soft);}
  .eh-legal-table td{display:block;padding:2px 0;border:0;}
  .eh-legal-table td::before{content:attr(data-label) ": ";font-weight:700;color:var(--muted);font-size:.78rem;}
}

/* ---- Blog article: article (2/3) + sidebar (1/3, right) ---- */
.eh-post-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start;}
.eh-post-grid > .eh-post-main{grid-column:1;grid-row:1;min-width:0;}
.eh-post-grid > .eh-bside{grid-column:2;grid-row:1;position:sticky;top:120px;}
.eh-post .blogimage{margin-top:6px;}
.eh-bside{display:flex;flex-direction:column;gap:20px;}
.eh-bside-box{background:#fff;border-radius:18px;padding:20px 20px 18px;box-shadow:0 18px 40px -30px rgba(20,18,15,.35);}
.eh-bside .eh-bside-h{font-family:var(--display);font-weight:800;font-size:1.02rem;color:var(--brand);margin:0 0 .9rem;letter-spacing:-.01em;text-transform:none;line-height:1.3;}
.eh-bside-search{position:relative;display:flex;}
.eh-bside-search input{width:100%;font-family:var(--sans);font-size:.95rem;color:var(--ink);background:var(--paper);border:1px solid rgba(20,18,15,.12);border-radius:999px;padding:.7rem 3rem .7rem 1.1rem;transition:border-color .2s var(--ease),box-shadow .2s var(--ease);}
.eh-bside-search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-100);background:#fff;}
.eh-bside-search button{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:0;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:1rem;cursor:pointer;}
.eh-bside-search button:hover{background:#231b6a;}
.eh-bside-results{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:2px;}
.eh-bside-results[hidden]{display:none;}
.eh-bside-results a{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:10px;font-family:var(--display);font-weight:600;font-size:.9rem;line-height:1.3;color:var(--ink) !important;text-decoration:none;}
.eh-bside-results a:hover{background:var(--brand-100);color:var(--brand) !important;}
.eh-bside-results a span{font-family:var(--sans);font-weight:400;font-size:.76rem;color:var(--muted);}
.eh-bside-results .is-empty{padding:8px 10px;font-size:.88rem;color:var(--muted);}
.eh-bside-cats,.eh-bside-latest{list-style:none;margin:0;padding:0;}
.eh-bside-cats{display:flex;flex-direction:column;gap:2px;}
.eh-bside-cats a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:.55rem .75rem;border-radius:10px;font-family:var(--display);font-weight:600;font-size:.93rem;color:var(--ink) !important;text-decoration:none;transition:background .2s var(--ease),color .2s var(--ease);}
.eh-bside-cats a span{min-width:24px;height:22px;padding:0 7px;border-radius:999px;background:var(--brand-100);color:var(--brand);font-size:.74rem;font-weight:700;display:grid;place-items:center;}
.eh-bside-cats a:hover{background:var(--brand-100);color:var(--brand) !important;}
.eh-bside-cats a.is-current{background:var(--brand);color:#fff !important;}
.eh-bside-cats a.is-current span{background:rgba(255,255,255,.18);color:#fff;}
.eh-bside-latest{display:flex;flex-direction:column;gap:14px;}
.eh-bside-latest a{display:flex;align-items:center;gap:12px;text-decoration:none;}
.eh-bside-thumb{flex:0 0 72px;width:72px;height:72px;border-radius:12px;background:var(--paper) center/cover no-repeat;transition:transform .3s var(--ease);}
.eh-bside-latest a:hover .eh-bside-thumb{transform:scale(1.04);}
.eh-bside-ltxt{display:flex;flex-direction:column;gap:4px;min-width:0;}
.eh-bside-ltitle{font-family:var(--display);font-weight:600;font-size:.9rem;line-height:1.3;color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s var(--ease);}
.eh-bside-latest a:hover .eh-bside-ltitle{color:var(--brand);}
.eh-bside-latest time{font-size:.76rem;color:var(--muted);}
.eh-blog-q{margin:0 0 18px;font-size:.95rem;color:var(--ink-2);}
.eh-blog-q a{color:var(--brand);font-weight:700;}
@media(max-width:991px){
  .eh-post-grid{grid-template-columns:1fr;}
  .eh-post-grid > .eh-post-main,.eh-post-grid > .eh-bside{grid-column:1;grid-row:auto;position:static;}
  .eh-bside{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:10px;}
}
