/* ==========================================================================
   CONTROLINE AE — Building & Energy Management Systems
   Παλέτα από το λογότυπο: μπλε #5579b0, πορτοκαλί #e8912b
   ========================================================================== */

:root{
  --navy-900:#101c2e;
  --navy-800:#16273f;
  --navy-700:#1e3355;
  --navy-600:#2b4570;
  --blue:#5579b0;        /* ο πιο σκούρος τόνος του λογοτύπου */
  --blue-dark:#3f5f92;   /* σκουρότερο, για κείμενο συνδέσμων */
  --blue-light:#eaeff8;

  --amber:#e8912b;
  --amber-dark:#c4761c;
  --amber-light:#fdf3e6;

  --ink:#15202e;
  --ink-2:#48586c;
  --ink-3:#7b8797;
  --rule:#dde3ea;
  --rule-2:#eef1f5;
  --paper:#ffffff;
  --paper-2:#f5f7fa;

  --font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
          "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", "Cascadia Mono", "Roboto Mono", Menlo, monospace;

  --wrap:1160px;
  --gutter:24px;
  --radius:3px;
  --shadow-sm:0 1px 2px rgba(16,28,46,.05), 0 2px 8px rgba(16,28,46,.05);
  --shadow-md:0 2px 6px rgba(16,28,46,.07), 0 14px 34px rgba(16,28,46,.09);
  --header-h:74px;

  /* Ενιαία κλίμακα για το κείμενο τρεχούμενου λόγου σε ΟΛΕΣ τις σελίδες.
     Άλλαξε μόνο εδώ αν θέλεις μεγαλύτερο ή μικρότερο κείμενο. */
  --text-body:1rem;
  --measure:68ch;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}

body{
  margin:0;font-family:var(--font);font-size:17px;line-height:1.66;
  color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block;}
a{color:var(--blue-dark);text-decoration:none;}
a:hover{text-decoration:underline;}

h1,h2,h3,h4{margin:0 0 .6em;font-weight:700;line-height:1.22;
  letter-spacing:-.02em;color:var(--navy-900);}
h1{font-size:clamp(2rem,4.2vw,3.05rem);letter-spacing:-.03em;}
h2{font-size:clamp(1.55rem,2.8vw,2.1rem);}
h3{font-size:1.2rem;letter-spacing:-.01em;}
h4{font-size:1rem;}
p{margin:0 0 1.05em;}
p:last-child{margin-bottom:0;}
ul{margin:0;padding:0;list-style:none;}

::selection{background:var(--blue);color:#fff;}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:2px;}

/* ---------------------------------------------------------------- layout */
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter);}
.section{padding:84px 0;}
.section--tight{padding:52px 0;}
.section--alt{background:var(--paper-2);}
.section--dark{background:var(--navy-900);color:#c9d4e2;}
.section--dark h2,.section--dark h3{color:#fff;}

.skip{position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--navy-900);color:#fff;padding:12px 20px;}
.skip:focus{left:0;}

.eyebrow{
  font-family:var(--mono);font-size:.755rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--amber-dark);margin:0 0 .9rem;
}
.section--dark .eyebrow,.hero .eyebrow,.pagehero .eyebrow{color:var(--amber);}

.section-head{max-width:64ch;margin-bottom:44px;}
.section-head p{color:var(--ink-2);font-size:1.06rem;margin-bottom:0;}
.lead{font-size:1.14rem;color:var(--ink);}
.prose{max-width:var(--measure);}
.prose p,
.scope__text p,
.step__body > p{color:var(--ink-2);font-size:var(--text-body);}
.prose .lead{color:var(--ink);}

/* ---------------------------------------------------------------- header */
.header{
  position:sticky;top:0;z-index:100;background:rgba(255,255,255,.95);
  backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--rule);
}
.header__inner{display:flex;align-items:center;gap:22px;height:var(--header-h);}

.logo{display:flex;align-items:center;gap:11px;flex-shrink:0;}
.logo:hover{text-decoration:none;}
.logo__mark{width:42px;height:26px;object-fit:contain;}
.logo__mark--file{width:auto;height:30px;max-width:190px;}
.logo__text{display:flex;flex-direction:column;line-height:1.08;}
.logo__name{font-weight:800;font-size:1.1rem;letter-spacing:.07em;color:var(--navy-900);}
.logo__sub{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-3);font-weight:600;}

.nav{margin-left:auto;display:flex;align-items:center;gap:3px;}
.nav a{padding:9px 14px;border-radius:var(--radius);font-size:.94rem;
  font-weight:500;color:var(--ink-2);white-space:nowrap;}
.nav a:hover{background:var(--paper-2);color:var(--navy-900);text-decoration:none;}
.nav a[aria-current="page"]{color:var(--blue-dark);font-weight:650;
  background:var(--blue-light);}

.header__actions{display:flex;align-items:center;gap:9px;margin-left:6px;}
.lang{font-family:var(--mono);font-size:.76rem;font-weight:700;letter-spacing:.06em;
  padding:7px 11px;border:1px solid var(--rule);border-radius:var(--radius);
  color:var(--ink-2);}
.lang:hover{border-color:var(--blue);color:var(--blue-dark);text-decoration:none;}

.burger{display:none;background:none;border:1px solid var(--rule);
  border-radius:var(--radius);padding:9px 11px;cursor:pointer;}
.burger span{display:block;width:19px;height:2px;background:var(--navy-800);
  margin:4px 0;transition:.2s;}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* ---------------------------------------------------------------- hero */
.hero{
  position:relative;overflow:hidden;color:#c9d4e2;padding:96px 0 88px;
  background:linear-gradient(155deg,var(--navy-900) 0%,var(--navy-700) 64%,#264160 100%);
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:radial-gradient(ellipse 85% 72% at 74% 42%,#000 18%,transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 85% 72% at 74% 42%,#000 18%,transparent 78%);
}
.hero::after{
  content:"";position:absolute;right:-150px;top:-130px;width:540px;height:540px;
  border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(232,145,43,.17) 0%,transparent 68%);
}
.hero--photo{background-size:cover;background-position:center;}
.hero--photo::before{
  background-image:none;
  background:linear-gradient(150deg,rgba(16,28,46,.94),rgba(30,51,85,.84));
  mask-image:none;-webkit-mask-image:none;
}
.hero__inner{position:relative;z-index:2;max-width:820px;}
.hero h1{color:#fff;margin-bottom:.45em;}
.hero__legal{
  font-family:var(--mono);font-size:.78rem;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--amber);margin:0 0 18px;
}
.hero__text{margin-top:24px;max-width:66ch;}
.hero__text p{color:#b9c6d6;font-size:1.1rem;}

.strip{background:var(--navy-800);border-top:1px solid rgba(255,255,255,.08);
  padding:22px 0;}
.strip ul{display:flex;flex-wrap:wrap;gap:12px 36px;justify-content:center;}
.strip li{display:flex;align-items:center;gap:8px;font-family:var(--mono);
  font-size:.83rem;font-weight:600;letter-spacing:.04em;color:#a9b8ca;}
.strip li::before{content:"";width:5px;height:5px;border-radius:50%;
  background:var(--amber);flex-shrink:0;}

.pagehero{
  position:relative;overflow:hidden;color:#b9c6d6;padding:70px 0 62px;
  background:linear-gradient(160deg,var(--navy-900),var(--navy-700));
}
.pagehero::before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:54px 54px;
  mask-image:linear-gradient(90deg,transparent,#000 62%);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 62%);
}
.pagehero__inner{position:relative;z-index:2;max-width:70ch;}

/* Η γραμμή στη θέση του πορτοκαλί τίτλου. Σήμα, όχι λέξη. */
.pagehero__rule{
  display:block;width:52px;height:3px;
  background:var(--amber);
  margin:20px 0 0;
}
.pagehero__inner p{margin-top:18px;}

/* Σελίδες χωρίς υπότιτλο: κρατιέται η θέση της γραμμής που λείπει,
   ώστε όλα τα μπλε πλαίσια να έχουν το ίδιο ύψος. */
.pagehero--short .pagehero__inner::after{
  content:"";display:block;margin-top:18px;
  height:calc(1.08rem * 1.66);
}
.pagehero h1{color:#fff;font-size:clamp(1.9vw,3.6vw,2.7rem);font-size:clamp(1.9rem,3.6vw,2.7rem);}
.pagehero p{color:#b9c6d6;font-size:1.08rem;margin-bottom:0;}

/* ---------------------------------------------------------------- grids */
.grid{display:grid;gap:24px;}
.grid--2{grid-template-columns:repeat(2,1fr);}
.grid--3{grid-template-columns:repeat(3,1fr);}
.grid--4{grid-template-columns:repeat(4,1fr);}

/* ---------------------------------------------------------------- cards */
.card{
  background:#fff;border:1px solid var(--rule);border-radius:var(--radius);
  padding:30px 28px;display:flex;flex-direction:column;
  transition:border-color .18s, box-shadow .18s, transform .18s;
}
.card:hover{border-color:var(--blue);box-shadow:var(--shadow-md);transform:translateY(-2px);}
.card h3{margin-bottom:.45em;}
.card p{color:var(--ink-2);font-size:.97rem;}

.card__n{
  font-family:var(--mono);font-size:.78rem;font-weight:700;letter-spacing:.12em;
  color:var(--amber-dark);margin:0 0 14px;
}
.card__icon{width:42px;height:42px;margin-bottom:18px;color:var(--blue);flex-shrink:0;}
.card__icon svg{width:100%;height:100%;stroke:currentColor;fill:none;
  stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}

/* ---------------------------------------------------------------- scope */
.scope{padding:56px 0;border-bottom:1px solid var(--rule);}
.scope:first-child{padding-top:0;}
.scope:last-child{border-bottom:0;padding-bottom:0;}

.scope__head{display:flex;align-items:center;gap:16px;margin-bottom:26px;}
.scope__head .card__icon{margin-bottom:0;width:38px;height:38px;}
.scope__head h2{margin:0;font-size:1.65rem;}
.scope__n{
  font-family:var(--mono);font-size:.8rem;font-weight:700;letter-spacing:.12em;
  color:var(--amber-dark);
}

.scope__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:44px;}
.scope__text{max-width:var(--measure);}
.scope__side{align-self:start;}

.panel{background:var(--paper-2);border-radius:var(--radius);padding:26px 24px;
  border:1px solid var(--rule-2);}
.panel + .panel{margin-top:18px;}
.panel h4{
  font-family:var(--mono);font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:14px;font-weight:700;
}
.panel--accent{background:var(--blue-light);border-color:#d5e1f0;}

.ticks li{position:relative;padding-left:24px;margin-bottom:10px;
  font-size:.94rem;line-height:1.5;color:var(--ink);}
.ticks li:last-child{margin-bottom:0;}
.ticks li::before{
  content:"";position:absolute;left:0;top:.4em;width:12px;height:6px;
  border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);
  transform:rotate(-45deg);
}

.plain li{font-size:.94rem;line-height:1.5;margin-bottom:9px;color:var(--ink);
  padding-left:16px;position:relative;}
.plain li:last-child{margin-bottom:0;}
.plain li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;
  background:var(--amber);}

.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chips li{font-family:var(--mono);font-size:.79rem;font-weight:700;letter-spacing:.04em;
  background:#fff;border:1px solid var(--rule);color:var(--navy-800);
  padding:6px 12px;border-radius:100px;}

/* ---------------------------------------------------------------- facts */
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.13);
  border-radius:var(--radius);overflow:hidden;}
.fact{background:var(--navy-900);padding:30px 24px;}
.fact__n{display:block;font-size:1.65rem;font-weight:800;letter-spacing:-.02em;
  color:var(--amber);line-height:1.15;margin-bottom:7px;}
.fact__l{font-size:.9rem;color:#a9b8ca;line-height:1.45;}

/* ---------------------------------------------------------------- deflist */
.deflist{margin:0;border-top:1px solid var(--rule);}
.deflist__row{display:grid;grid-template-columns:250px minmax(0,1fr);gap:0 26px;
  padding:19px 0;border-bottom:1px solid var(--rule);}
.deflist dt{font-weight:650;font-size:.96rem;color:var(--navy-900);}
.deflist dd{margin:0;color:var(--ink-2);font-size:.97rem;max-width:62ch;}
.deflist--contact dd{color:var(--ink);}
.section--dark .deflist{border-color:rgba(255,255,255,.14);}
.section--dark .deflist__row{border-color:rgba(255,255,255,.14);}
.section--dark .deflist dt{color:#fff;}
.section--dark .deflist dd{color:#b9c6d6;}

/* ---------------------------------------------------------------- figure */
.figure{margin:36px 0 0;border:1px solid var(--rule);border-radius:var(--radius);
  overflow:hidden;}
.figure img{width:100%;height:auto;}

.more{margin:34px 0 0;font-size:.95rem;}
.more a{font-weight:650;display:inline-flex;align-items:center;gap:7px;}
.more a::after{content:"→";transition:transform .16s;}
.more a:hover{text-decoration:none;}
.more a:hover::after{transform:translateX(4px);}

/* ---------------------------------------------------------------- footer */
.footer{background:var(--navy-900);color:#8fa0b4;padding:60px 0 0;font-size:.94rem;}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;
  padding-bottom:44px;}
.footer h4{color:#fff;font-family:var(--mono);font-size:.75rem;letter-spacing:.13em;
  text-transform:uppercase;margin-bottom:15px;font-weight:700;}
.footer a{color:#b9c6d6;}
.footer a:hover{color:var(--amber);text-decoration:none;}
.footer li{margin-bottom:9px;}
.footer__name{color:#fff;font-weight:700;font-size:1.02rem;margin:0 0 4px;
  letter-spacing:.04em;}
.footer__sub{margin:0 0 16px;color:#7b8797;font-size:.89rem;}
.footer__addr{font-style:normal;line-height:1.8;color:#b9c6d6;}
.footer__nav{display:flex;flex-direction:column;align-items:flex-start;gap:9px;}
.footer__nav a{display:inline-block;line-height:1.5;}
.footer__bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;margin:0;
  font-size:.83rem;color:#6f7f93;}

/* ---------------------------------------------------------------- responsive */
@media (max-width:1000px){
  .grid--4{grid-template-columns:repeat(2,1fr);}
  .grid--3{grid-template-columns:repeat(2,1fr);}
  .scope__grid{grid-template-columns:1fr;gap:28px;}
  .footer__grid{grid-template-columns:1fr 1fr;gap:34px;}
  .deflist__row{grid-template-columns:190px minmax(0,1fr);}
}

@media (max-width:820px){
  .burger{display:block;order:3;}
  .nav{
    position:fixed;top:var(--header-h);left:0;right:0;bottom:0;z-index:90;
    flex-direction:column;align-items:stretch;gap:0;background:#fff;
    padding:12px var(--gutter) 40px;overflow-y:auto;
    transform:translateX(100%);transition:transform .24s ease;
    border-top:1px solid var(--rule);
  }
  .nav.open{transform:translateX(0);}
  .nav a{padding:15px 4px;border-bottom:1px solid var(--rule-2);
    font-size:1.05rem;border-radius:0;}
  .nav a[aria-current="page"]{background:none;}
  .header__actions{margin-left:auto;}
}

@media (max-width:620px){
  body{font-size:16px;}
  :root{--gutter:20px;}
  .section{padding:56px 0;}
  .hero{padding:66px 0 58px;}
  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr;}
  .facts{grid-template-columns:1fr;}
  .deflist__row{grid-template-columns:1fr;gap:5px;padding:16px 0;}
  .footer__grid{grid-template-columns:1fr;gap:28px;}
  .strip ul{gap:10px 22px;}
  .scope__head{flex-wrap:wrap;gap:12px;}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

@media print{
  .header,.footer,.burger,.strip,.more{display:none;}
  body{font-size:10.5pt;color:#000;}
  .section{padding:14px 0;}
  .hero,.pagehero{background:none;color:#000;padding:16px 0;}
  .hero h1,.pagehero h1{color:#000;}
  .hero__text p,.pagehero p{color:#000;}
}

/* ---------------------------------------------------------------- steps */
.steps{max-width:900px;}

.step{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 26px;}
.step:last-child .step__line{display:none;}

.step__mark{display:flex;flex-direction:column;align-items:center;}
.step__n{
  font-family:var(--mono);font-size:.82rem;font-weight:700;letter-spacing:.06em;
  color:#fff;background:var(--blue);width:38px;height:38px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
}
.step__line{flex:1;width:1px;background:var(--rule);margin:10px 0;min-height:26px;}

.step__body{padding-bottom:46px;}
.step:last-child .step__body{padding-bottom:0;}

.step__head{display:flex;align-items:center;gap:13px;margin-bottom:12px;}
.step__head .card__icon{margin-bottom:0;width:30px;height:30px;flex-shrink:0;}
.step__head h2{margin:0;font-size:1.32rem;}
.step__body > p{max-width:60ch;margin-bottom:20px;}
.step__body .panel{max-width:620px;}

@media (max-width:620px){
  .step{grid-template-columns:38px minmax(0,1fr);gap:0 16px;}
  .step__n{width:34px;height:34px;font-size:.76rem;}
  .step__body{padding-bottom:34px;}
  .step__head{flex-wrap:wrap;gap:10px;}
  .step__head h2{font-size:1.2rem;}
}

/* ---------------------------------------------------------------- roles */
.roles{
  width:100%;border-collapse:collapse;margin:0;
  font-size:.97rem;
}
.roles th{
  text-align:left;font-family:var(--mono);font-size:.72rem;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);
  padding:0 16px 12px 0;border-bottom:1px solid var(--rule);
}
.roles td{
  padding:15px 16px 15px 0;border-bottom:1px solid var(--rule-2);
  vertical-align:baseline;
}
.roles tbody tr:last-child td{border-bottom:1px solid var(--rule);}
.roles td:first-child{font-weight:600;color:var(--navy-900);}
.roles td:nth-child(2){color:var(--ink-2);}
.roles__yrs{
  text-align:right;width:5.5em;padding-right:0!important;
  font-family:var(--mono);font-weight:700;color:var(--blue-dark);
  font-variant-numeric:tabular-nums;
}
.roles th.roles__yrs{color:var(--ink-3);font-weight:700;}
.roles__note{
  margin:16px 0 0;font-size:.86rem;color:var(--ink-3);
}

@media (max-width:560px){
  .roles thead{display:none;}
  .roles tbody tr{
    display:grid;grid-template-columns:1fr auto;gap:2px 12px;
    padding:14px 0;border-bottom:1px solid var(--rule-2);
  }
  .roles td{border:0;padding:0;}
  .roles td:first-child{grid-column:1;}
  .roles td:nth-child(2){grid-column:1;font-size:.9rem;}
  .roles__yrs{grid-column:2;grid-row:1 / span 2;align-self:center;
    text-align:right;width:auto;font-size:1.15rem;}
}

/* ---------------------------------------------------------------- justify */
/* Πλήρης στοίχιση στα κείμενα τρεχούμενου λόγου. Οι σύντομες κάρτες
   και οι λίστες μένουν σε αριστερή στοίχιση — η πλήρης στοίχιση σε
   στενή στήλη ανοίγει κενά ανάμεσα στις λέξεις. */
.prose p,
.scope__text p,
.step__body > p,
.hero__text p,
.pagehero p,
.lead-sm,
.section-head p{
  text-align:justify;
  text-justify:inter-word;
  hyphens:auto;
  -webkit-hyphens:auto;
}

/* --------------------------------------------------------------- ecoxpert */
/* Σήμα EcoXpert. Οι διαστάσεις προκύπτουν από το τεύχος co-branding
   της Schneider Electric (2026), σελ. 11 και 14:

     · 25%–50% του μεγέθους του λογοτύπου της εταιρείας
     · ελεύθερος χώρος τουλάχιστον 25% της διαμέτρου του σήματος
     · λευκό φόντο — το πράσινο σήμα απαγορεύεται σε χρωματιστό φόντο

   Το λογότυπο της Controline εμφανίζεται σε 190px πλάτος, άρα το
   σήμα επιτρέπεται από 48px έως 95px. Επιλέχθηκε το 72px, στη μέση
   του εύρους. ΜΗΝ το μεγαλώσεις πάνω από 95px. */

.ecoxpert{
  background:var(--paper);
  border-top:1px solid var(--rule);
  padding:30px 0;
}
.ecoxpert .wrap{display:flex;justify-content:flex-end;}

.ecoxpert__badge{
  width:auto;
  height:72px;                 /* εντός του 25–50% */
  max-height:95px;
  margin:24px;                 /* ο ελεύθερος χώρος γύρω από το σήμα */
}

@media (max-width:620px){
  .ecoxpert{padding:22px 0;}
  .ecoxpert .wrap{justify-content:center;}
  .ecoxpert__badge{height:56px;margin:16px;}
}
