/* ═══ Signal ═══ Ταυτότητα Koulioufas: μαύρο + ηλεκτρικό πράσινο, μοτίβο σήματος. */

body.t-signal{background:var(--white);-webkit-font-smoothing:antialiased}
.t-signal .ico{display:inline-block;vertical-align:-.18em;flex-shrink:0}
.t-signal .wrap{max-width:1180px;padding-inline:clamp(20px,4vw,32px)}

/* Πάνω μπάρα */
.sg-top{background:var(--top-bg);color:#9aa39c;font-size:13.5px}
.sg-top .wrap{display:flex;align-items:center;gap:24px;height:42px}
.sg-top a{color:#cfd6d1}
.sg-top a:hover{color:var(--accent);text-decoration:none}
.sg-right{margin-left:auto}

/* Μενού */
.sg-toggle{position:absolute;opacity:0;pointer-events:none}
.sg-nav{position:sticky;top:0;z-index:50;background:var(--nav-bg);backdrop-filter:saturate(180%) blur(14px);
        -webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line)}
.sg-nav .wrap{display:flex;align-items:center;gap:18px;min-height:78px;flex-wrap:wrap}
.sg-logo{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800}
.sg-logo:hover{text-decoration:none}
.sg-logo img{max-height:46px;width:auto}
.sg-wave{color:var(--brand);display:grid;place-items:center}
.sg-links{margin-left:auto;display:flex;align-items:center;gap:2px;flex-wrap:wrap}
.sg-links a{padding:10px 14px;border-radius:10px;font-size:15px;font-weight:600;color:var(--body);
            letter-spacing:-.01em;transition:color .15s,background .15s}
.sg-links a:hover{background:var(--bg);color:var(--ink);text-decoration:none}
.sg-links a.on{color:var(--brand)}
.sg-cta{display:inline-flex;align-items:center;gap:7px;background:var(--ink);color:#fff !important;
        padding:11px 18px !important;margin-left:8px}
.sg-cta:hover{background:var(--brand) !important}
.sg-burger{display:none;margin-left:auto;width:42px;height:42px;border-radius:10px;cursor:pointer;
           flex-direction:column;justify-content:center;gap:5px;align-items:center;border:1px solid var(--line)}
.sg-burger span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px}

/* Hero με ομόκεντρα «σήματα» (μοτίβο λογότυπου) */
.sg-hero{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--hero-from),var(--hero-to));
         color:var(--hero-ink);padding:clamp(64px,9vw,132px) 0 clamp(56px,8vw,112px)}
.sg-rings{position:absolute;inset:auto -10% -60% auto;right:-6%;bottom:-55%;width:min(760px,92vw);aspect-ratio:1;pointer-events:none}
.sg-rings span{position:absolute;inset:0;margin:auto;border-radius:50%;border:1px solid rgba(37,240,74,.16)}
.sg-rings span:nth-child(1){width:26%;height:26%;border-color:rgba(37,240,74,.42)}
.sg-rings span:nth-child(2){width:50%;height:50%;border-color:rgba(37,240,74,.28)}
.sg-rings span:nth-child(3){width:74%;height:74%}
.sg-rings span:nth-child(4){width:100%;height:100%;border-color:rgba(37,240,74,.09)}
.sg-rings.sm{right:auto;left:-12%;bottom:-70%;width:min(560px,80vw)}
.sg-hero .wrap{position:relative}
.sg-badge{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600;letter-spacing:.02em;
          color:var(--accent);background:rgba(37,240,74,.10);border:1px solid rgba(37,240,74,.26);
          border-radius:99px;padding:7px 15px;margin-bottom:26px}
.sg-live{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}
.sg-hero h1{color:#fff;font-size:clamp(34px,5.4vw,66px);line-height:1.03;letter-spacing:-.04em;
            font-weight:800;margin:0 0 22px;max-width:17ch}
.sg-hero p{color:#b9c2bc;font-size:clamp(17px,1.6vw,21px);line-height:1.6;max-width:60ch;margin:0}
.sg-acts{margin-top:38px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.sg-acts.center{justify-content:center}
.t-signal .btn{display:inline-flex;align-items:center;gap:9px;background:var(--accent);color:#052a0d;
               font-weight:750;padding:15px 26px;border-radius:12px;letter-spacing:-.01em;font-size:16px;
               box-shadow:0 8px 26px rgba(37,240,74,.28);transition:transform .16s,box-shadow .16s,background .16s}
.t-signal .btn:hover{background:#3dff5e;transform:translateY(-2px);box-shadow:0 14px 34px rgba(37,240,74,.34);color:#052a0d}
.sg-ghost{display:inline-flex;align-items:center;gap:9px;padding:14px 24px;border-radius:12px;font-weight:650;
          color:#e8ede9;border:1px solid rgba(255,255,255,.22)}
.sg-ghost:hover{text-decoration:none;border-color:var(--accent);color:var(--accent)}

/* Λωρίδα εμπιστοσύνης */
.sg-strip{background:var(--ink);border-top:1px solid rgba(255,255,255,.07)}
.sg-strip .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding-block:26px}
.sg-strip div{display:flex;align-items:center;gap:11px;color:#c2cac5;font-size:14.5px;font-weight:500}
.sg-strip .ico{color:var(--accent)}

/* Ενότητες */
.sg-sec{padding:clamp(60px,8vw,110px) 0}
.sg-h{max-width:60ch;margin-bottom:clamp(34px,4vw,54px)}
.sg-eyebrow{display:block;font-size:12.5px;font-weight:750;letter-spacing:.16em;text-transform:uppercase;
            color:var(--brand);margin-bottom:14px}
.sg-h h2{font-size:clamp(28px,3.6vw,46px);line-height:1.08;letter-spacing:-.035em;margin:0 0 14px;color:var(--ink)}
.sg-h p{margin:0;color:var(--muted);font-size:clamp(16px,1.3vw,18.5px);line-height:1.65}
.sg-h.light h2{color:#fff}
.sg-h.light .sg-eyebrow{color:var(--accent)}

/* Κάρτες υπηρεσιών */
.sg-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(16px,1.6vw,22px)}
.sg-card{grid-column:span 2;min-width:0;display:flex;flex-direction:column;background:var(--card-bg);border:1px solid var(--line);
         border-radius:var(--radius);padding:26px;color:var(--body);transition:transform .2s,box-shadow .2s,border-color .2s}
.sg-card.lead{grid-column:span 3;padding:30px}
.sg-card:nth-child(2){grid-column:span 3}
.sg-card:hover{text-decoration:none;transform:translateY(-4px);border-color:rgba(10,163,63,.35);
               box-shadow:0 20px 46px rgba(10,12,10,.10)}
.sg-shot{display:block;width:100%;border-radius:12px;overflow:hidden;margin-bottom:20px;aspect-ratio:16/9}
.sg-shot img{width:100%;height:100%;object-fit:cover;display:block}
.sg-ph{display:grid;place-items:center;width:100%;height:100%;color:var(--brand);
       background:
         radial-gradient(120% 120% at 20% 0,rgba(37,240,74,.16),transparent 60%),
         repeating-linear-gradient(135deg,var(--bg) 0 12px,#eef3ef 12px 24px)}
.sg-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;margin-bottom:18px;
       color:var(--brand);background:rgba(10,163,63,.09);border:1px solid rgba(10,163,63,.16)}
.sg-card h3{font-size:clamp(18px,1.7vw,22px);letter-spacing:-.025em;margin:0 0 10px;color:var(--ink);line-height:1.25}
.sg-card p{margin:0 0 18px;font-size:15.5px;line-height:1.65;color:var(--muted)}
.sg-more{margin-top:auto;display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:14.5px;color:var(--brand)}
.sg-card:hover .sg-more .ico{transform:translateX(3px)}
.sg-more .ico{transition:transform .16s}

/* Βήματα */
.sg-steps{background:var(--ink);color:#aeb7b1;padding:clamp(60px,8vw,104px) 0}
.sg-steps-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,2.4vw,34px)}
.sg-steps-g>div{border-top:2px solid rgba(37,240,74,.35);padding-top:20px}
.sg-steps-g b{display:block;font-size:13px;font-weight:750;letter-spacing:.12em;color:var(--accent);margin-bottom:12px}
.sg-steps-g h4{color:#fff;margin:0 0 8px;font-size:18.5px;letter-spacing:-.02em}
.sg-steps-g p{margin:0;font-size:15px;line-height:1.65;color:#8f9994}

/* Έργα */
.sg-work{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:26px}
.sg-w{color:var(--body)}
.sg-w:hover{text-decoration:none}
.sg-w-img{display:block;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;margin-bottom:16px;background:var(--bg)}
.sg-w-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.sg-w:hover .sg-w-img img{transform:scale(1.03)}
.sg-w h3{margin:0 0 6px;font-size:19.5px;letter-spacing:-.025em;color:var(--ink)}
.sg-w p{margin:0;color:var(--muted);font-size:14.5px;display:flex;align-items:center;gap:6px}

/* Τελικό CTA */
.sg-final{position:relative;overflow:hidden;background:var(--cta-bg);color:#aeb7b1;text-align:center;
          padding:clamp(60px,8vw,110px) 0}
.sg-final .wrap{position:relative}
.sg-final h2{color:#fff;font-size:clamp(27px,3.6vw,44px);letter-spacing:-.035em;margin:0 0 14px}
.sg-final p{margin:0 auto;max-width:56ch;font-size:17px;line-height:1.65}
.sg-ghost.light{border-color:rgba(255,255,255,.25)}

/* Footer */
.sg-foot{background:var(--footer-bg);color:#8f9994;padding:clamp(48px,6vw,76px) 0 0;font-size:15px}
.sgf-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:clamp(24px,3vw,44px);padding-bottom:40px}
.sgf-brand img{max-height:42px;margin-bottom:14px}
.sgf-brand b{color:#fff;font-size:19px;display:block;margin-bottom:10px}
.sgf-brand p{margin:0 0 10px;line-height:1.7}
.sgf-meta{color:#6f7973;font-size:13.5px}
.sg-foot h4{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.12em;margin:0 0 14px}
.sg-foot a{display:block;color:#a9b2ad;padding:4px 0}
.sg-foot a:hover{color:var(--accent);text-decoration:none}
.sgf-copy{border-top:1px solid rgba(255,255,255,.09);padding:20px 0;display:flex;gap:14px;flex-wrap:wrap;font-size:13.5px}
.sgf-legal{margin-left:auto}
.sgf-legal a{display:inline;color:#a9b2ad}

/* Κοινές σελίδες μέσα στο κέλυφος */
.sg-main .hero{background:linear-gradient(160deg,var(--hero-from),var(--hero-to));padding:clamp(50px,6vw,84px) 0}
.sg-main .hero h1{color:#fff;letter-spacing:-.035em}
.sg-main .hero p{color:#b9c2bc}
.sg-main .hero .bc,.sg-main .hero .bc a{color:#8f9994}
.sg-main .section{padding:clamp(50px,7vw,92px) 0}
.sg-main .card{border-radius:var(--radius);box-shadow:none;transition:transform .2s,border-color .2s,box-shadow .2s}
.sg-main .card:hover{transform:translateY(-3px);border-color:rgba(10,163,63,.35);box-shadow:0 18px 40px rgba(10,12,10,.1)}
.sg-main .card-ic{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;color:var(--brand);
                  background:rgba(10,163,63,.09);border:1px solid rgba(10,163,63,.16);font-size:24px}
.sg-main .cat-h{font-size:clamp(20px,2.4vw,28px);letter-spacing:-.03em;border-bottom-color:var(--line)}
.sg-main .side .box{border-radius:var(--radius)}
.sg-main .side .box.accent{background:rgba(10,163,63,.07);border-color:rgba(10,163,63,.2)}
.sg-main .form input,.sg-main .form select,.sg-main .form textarea{border-radius:12px;padding:13px 15px}
.sg-main .form input:focus,.sg-main .form textarea:focus,.sg-main .form select:focus{
  border-color:var(--brand);box-shadow:0 0 0 4px rgba(10,163,63,.13)}
.sg-main .consent{border-radius:14px;background:var(--bg)}
.sg-main .prose{font-size:17.5px;line-height:1.75}
.sg-main .prose li{margin:9px 0}
.sg-main .footer,.sg-main .cta{display:none}
.t-signal .cookiebar{border-radius:16px}
.t-signal .badge{border-radius:8px}

/* ---------- Tablet ---------- */
@media(max-width:1080px){
  .sg-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sg-card,.sg-card.lead,.sg-card:nth-child(2){grid-column:span 2}
  .sgf-grid{grid-template-columns:1.4fr 1fr 1fr}
  .sg-strip .wrap{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .sg-steps-g{grid-template-columns:1fr 1fr}
}
/* ---------- Κινητό ---------- */
@media(max-width:760px){
  .sg-burger{display:flex}
  .sg-links{display:none;width:100%;margin:0;padding-bottom:14px}
  .sg-toggle:checked~.sg-nav .sg-links{display:flex;flex-direction:column;align-items:stretch}
  .sg-links a{padding:13px 14px;border-radius:10px}
  .sg-cta{margin:6px 0 0;justify-content:center}
  .sg-nav .wrap{min-height:66px}
  .sg-hero{padding:clamp(46px,12vw,64px) 0 clamp(42px,10vw,56px)}
  .sg-hero h1{font-size:clamp(30px,8.4vw,40px)}
  .sg-acts .btn,.sg-acts .sg-ghost{flex:1;justify-content:center}
  .sg-grid{grid-template-columns:minmax(0,1fr)}
  .sg-card,.sg-card.lead,.sg-card:nth-child(2){grid-column:auto}
  .sg-strip .wrap{grid-template-columns:1fr;gap:14px;padding-block:22px}
  .sg-steps-g{grid-template-columns:1fr}
  .sgf-grid{grid-template-columns:1fr;gap:28px}
  .sgf-legal{margin-left:0}
  .sg-hide-s{display:none}
  .sg-top .wrap{gap:16px;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .sg-card,.t-signal .btn,.sg-w-img img,.sg-more .ico{transition:none}
  .sg-card:hover,.t-signal .btn:hover{transform:none}
  .sg-w:hover .sg-w-img img{transform:none}
}
