body { overflow-x: hidden; width: 100%; }
/* PatrasKEP 2026 visual layer — presentation only */
:root{--pk-navy:#061f32;--pk-ink:#092b43;--pk-teal:#12aaa3;--pk-yellow:#ffd130;--pk-mist:#f2f8fa}
body{background:#fff}
/* Navigation */
.nav{min-height:108px;height:108px;gap:24px;border-bottom:1px solid #d9e9ee;background:rgba(255,255,255,.94);backdrop-filter:blur(18px)}
.brand img{width:238px;max-width:34vw;filter:drop-shadow(0 8px 13px #06213616)}
.links{gap:6px;padding:7px;border:1px solid #dceaf0;border-radius:999px;background:#f7fbfc;box-shadow:0 10px 28px #0b40520b}
.links>a,.services-menu>summary{padding:10px 13px;border-radius:999px;transition:background .2s,color .2s;white-space:nowrap}
.links>a:hover,.services-menu>summary:hover{color:var(--pk-navy);background:#fff0b2}
.links a:after{display:none}
.services-menu summary:after{right:4px;top:7px;font-size:15px}.services-menu summary{padding-right:21px}
.services-dropdown{top:43px;left:-8px;width:276px;padding:10px;border:1px solid #ffffff2e;border-radius:18px;background:linear-gradient(145deg,#082d45,#07314d);box-shadow:0 22px 55px #00182745;transform-origin:top;animation:menuIn .2s ease both;z-index:5}
.services-dropdown a{padding:13px 14px;border-radius:11px;font-size:13px}.services-dropdown a:before{content:'↗';margin-right:9px;color:var(--pk-yellow);opacity:.8}
@media(min-width:861px){.services-menu:hover .services-dropdown{display:grid}.services-menu:hover summary{background:#fff0b2}.services-menu:hover summary:after{transform:rotate(180deg)}}
.social{padding-left:4px}.social a{width:31px;height:31px;background:#eaf4f6}.social a:hover{box-shadow:0 8px 15px #06213622}
@keyframes menuIn{from{opacity:0;transform:translateY(-9px) scale(.98)}to{opacity:1;transform:none}}
/* Home hero */
.hero{background:radial-gradient(circle at 79% 16%,#2cd2c2 0 11%,transparent 30%),radial-gradient(circle at 20% 100%,#155c86 0 20%,transparent 50%),linear-gradient(123deg,#041d31 0%,#073956 58%,#0c6c88 100%)}
.hero:after{content:'';position:absolute;inset:0;opacity:.17;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,#000,transparent 74%)}
.hero-copy{z-index:3}.hero h1{font-size:clamp(49px,5.6vw,80px)}.hero .lead{font-size:19px}.hero-art{transform:scale(1.045);z-index:2}.tile{border-width:8px}.tile-a{box-shadow:0 30px 68px #00132299}.tile-b,.tile-d{border-color:#fffbed}.hero-orbit{border-color:#fff6;box-shadow:0 0 0 28px #ffffff08,0 0 0 56px #ffffff05}
/* Service grid */
.section.alt{background:linear-gradient(180deg,#f4fafb 0%,#fff 76%)}
.intro{max-width:920px}.intro h2{font-size:clamp(39px,4.25vw,63px)}
.grid{gap:22px}.card{border-color:#dce9ee;box-shadow:0 15px 34px #07364b0d}.card.has-image{min-height:385px}.card-image{height:172px;filter:saturate(1.05);transition:transform .55s ease,filter .35s}.card:hover .card-image{transform:scale(1.055);filter:saturate(1.22) contrast(1.03)}.card.has-image h3{font-size:18px}.card.has-image:after{content:'';position:absolute;inset:0;border-radius:22px;box-shadow:inset 0 0 0 1px transparent;transition:.25s;pointer-events:none}.card.has-image:hover:after{box-shadow:inset 0 0 0 2px #13aaa366}
/* Process */
.steps{padding:112px 0 118px;background:radial-gradient(circle at 10% 20%,#16b6ad48,transparent 28%),radial-gradient(circle at 86% 84%,#ffd1302e,transparent 30%),linear-gradient(125deg,#041f33,#083d59 61%,#075877)}
.steps .grid{grid-template-columns:repeat(3,1fr);gap:23px;counter-reset:step}.steps .step{min-height:260px;border:1px solid #ffffff34;border-radius:24px;padding:30px 27px;background:linear-gradient(145deg,#ffffff1c,#ffffff08);box-shadow:0 18px 42px #00182724;transition:.35s;overflow:hidden}.steps .step:before{counter-increment:step;content:'0' counter(step);display:block;font:700 49px/1 'Roboto Slab',Georgia,serif;color:var(--pk-yellow);letter-spacing:-.08em;margin-bottom:22px}.steps .step b{display:none}.steps .step:hover{transform:translateY(-10px) rotate(-.5deg);background:#ffffff20;border-color:#ffe98899}.steps .step:nth-child(2){animation:stepFloat 5.5s ease-in-out infinite .8s}.steps .step:nth-child(3){animation:stepFloat 5.5s ease-in-out infinite 1.7s}.steps .step h3{font-size:25px;margin:0 0 12px}.steps .step p{font-size:15px}.steps .step:after{content:'';position:absolute;width:96px;height:96px;border-radius:50%;right:-28px;bottom:-37px;background:#ffffff13}
@keyframes stepFloat{50%{transform:translateY(-7px)}}
/* Feature stories and contact */
.feature{gap:76px}.feature-photo{border-radius:32px}.feature-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(150deg,transparent 58%,#041f3377)}.feature-photo div{z-index:1}.contact{background:radial-gradient(circle at 70% 18%,#d9fbf5,transparent 32%),linear-gradient(135deg,#effafb,#e9f2f6)}.contactbox{border:1px solid #fff;box-shadow:0 28px 70px #08345018}.map{display:none}.map-local{display:block;position:relative;border-radius:20px;overflow:hidden;border:6px solid #fff;box-shadow:0 20px 45px #08345020}.map-local:after{content:'Άνοιγμα στους Χάρτες ↗';position:absolute;right:14px;bottom:14px;padding:8px 11px;border-radius:999px;background:#082940;color:#fff;font-size:11px;font-weight:800;box-shadow:0 6px 16px #0003}.map-local img{display:block;width:100%;height:340px;object-fit:cover}.map{height:340px;border:6px solid #fff;box-shadow:0 20px 45px #08345020}
footer img{width:238px;max-width:34vw;background:transparent;padding:0;border-radius:0;filter:drop-shadow(0 8px 13px #06213616)}
.news-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 20%,#1bbdad55,transparent 26%),linear-gradient(120deg,#041d31,#0b4d6d)}.news-hero:after{content:'ΝΕΑ';position:absolute;right:4%;bottom:-47px;color:#fff;font:800 clamp(115px,19vw,290px)/1 'Roboto Slab',Georgia,serif;letter-spacing:-.12em;opacity:.055}.news-hero .wrap{position:relative;z-index:1}.news-section{padding:94px 0 112px;background:linear-gradient(180deg,#edf7f9,#fff 46%)}.news-card>a{display:flex;flex-direction:column;height:100%;color:inherit}.news-card:hover img{transform:scale(1.06)}
/* Homepage showcase system */
.services-showcase{position:relative;overflow:hidden;background:radial-gradient(circle at 8% 8%,#13aaa322,transparent 25%),radial-gradient(circle at 92% 85%,#ffd13030,transparent 27%),#f5fafb}.services-showcase:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#0b536d21 1px,transparent 1px);background-size:23px 23px;mask-image:linear-gradient(90deg,#000,transparent 70%)}.services-showcase .wrap{position:relative}.services-showcase .intro{padding:18px 0 10px}.services-showcase .intro h2{max-width:690px}.services-showcase .grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}.services-showcase .card{grid-column:span 4;min-height:394px;border:1px solid #fff;background:#fff;box-shadow:0 22px 44px #062e4212}.services-showcase .card:nth-child(1){grid-column:span 7}.services-showcase .card:nth-child(2){grid-column:span 5}.services-showcase .card:nth-child(3){grid-column:span 4}.services-showcase .card:nth-child(4),.services-showcase .card:nth-child(5){grid-column:span 4}.services-showcase .card:nth-child(6){grid-column:span 5}.services-showcase .card:nth-child(7){grid-column:span 3}.services-showcase .card:nth-child(8){grid-column:span 4}.services-showcase .card-image{height:204px;margin:0;filter:saturate(1.12) contrast(1.04)}.services-showcase .card:nth-child(1) .card-image,.services-showcase .card:nth-child(8) .card-image{height:232px}.services-showcase .card h3{font-size:20px;max-width:410px}.services-showcase .card ul{font-size:13px}.services-showcase .card:before{width:76px;height:76px;right:-16px;top:auto;bottom:-20px;background:#0c9f9b22}.services-showcase .card:nth-child(2n):before{background:#ffd13044}.services-showcase .card:hover{transform:translateY(-10px) scale(1.012);box-shadow:0 34px 65px #062e4222}.heritage-showcase{position:relative;padding:132px 0;background:linear-gradient(122deg,#071f31,#0a3952 52%,#0d6a84)}.heritage-showcase:before{content:'CLASSIC';position:absolute;right:-3vw;top:-46px;color:#fff;font:700 clamp(120px,21vw,300px)/1 'Roboto Slab',Georgia,serif;letter-spacing:-.12em;opacity:.045}.heritage-showcase .feature{position:relative;grid-template-columns:1.03fr .97fr;gap:80px}.heritage-showcase .feature-photo{min-height:520px;border:9px solid #ffffff15;box-shadow:26px 27px 0 #ffd130,0 34px 75px #0008;transform:rotate(-2deg)}.heritage-showcase .feature-photo:after{background:linear-gradient(135deg,#041b2a33,transparent 48%,#041b2ab8)}.heritage-showcase .feature>div:last-child{color:#fff;position:relative;padding:30px 0}.heritage-showcase .feature>div:last-child:before{content:'ΙΣΤΟΡΙΚΑ ΟΧΗΜΑΤΑ / 02';display:inline-block;color:#ffd130;font-size:11px;font-weight:800;letter-spacing:.12em;margin-bottom:21px}.heritage-showcase h2{font-size:clamp(43px,4.6vw,68px);color:#fff}.heritage-showcase p{color:#c5e1e8}.heritage-showcase ul{color:#e6f6f6}.heritage-showcase .btn{background:#ffd130;color:#082940;border:0}.health-showcase{position:relative;overflow:hidden;background:linear-gradient(130deg,#e8fbf9 0%,#fff9df 52%,#edf7fb 100%)}.health-showcase:before{content:'';position:absolute;width:45vw;height:45vw;right:-15vw;top:-20vw;border-radius:50%;background:#12aaa31c;box-shadow:0 0 0 58px #ffd13018,0 0 0 115px #12aaa30c}.health-showcase .wrap{position:relative}.health-showcase .feature{padding:66px;border-radius:34px;background:#fff;box-shadow:0 30px 80px #07364b18;align-items:stretch;overflow:hidden}.health-showcase .feature>div:first-child{padding:16px 8px}.health-showcase .feature>div:first-child:before{content:'ΥΓΕΙΑ & ΠΡΟΝΟΜΙΑ / 03';display:inline-block;padding:7px 10px;border-radius:999px;background:#e6faf7;color:#078a84;font-size:11px;font-weight:800;letter-spacing:.08em;margin-bottom:20px}.health-showcase h2{font-size:clamp(42px,4.5vw,65px)}.health-showcase .feature>img{height:100%!important;min-height:420px!important;border-radius:25px!important;box-shadow:none!important;filter:saturate(1.08)}.health-showcase .btn{background:#082940;color:#fff;border:0}
/* Symmetrical contact hub */
.contact{position:relative;overflow:hidden;padding:124px 0;background:radial-gradient(circle at 7% 15%,#10aaa326,transparent 23%),radial-gradient(circle at 93% 87%,#ffd1303b,transparent 26%),#edf8f8}.contact:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#0a658122 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(90deg,#000,transparent 80%)}.contact .wrap{position:relative}.contact-hub{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:22px!important;align-items:stretch!important;background:transparent!important;box-shadow:none!important;padding:0!important}.contact-primary,.map-card{min-height:650px;border-radius:30px;border:1px solid #d8e9eb;background:#fff;box-shadow:0 28px 75px #06374a16;overflow:hidden}.contact-primary{padding:clamp(34px,4.5vw,62px);display:flex;flex-direction:column}.contact-title h2{max-width:530px;font-size:clamp(38px,4.2vw,64px);line-height:1.02;margin:0 0 28px}.contact-title h3,.hours-card h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#0c8582;margin:0 0 14px}.contact-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:5px}.contact-item{min-height:84px;padding:15px 16px;border-radius:15px;background:#f2f9fa;border:1px solid #e0eef0;display:flex;flex-direction:column;justify-content:center;gap:3px;transition:transform .22s,background .22s,box-shadow .22s}.contact-item:last-child{grid-column:span 2;background:#082f47;color:#fff;border-color:#082f47}.contact-item:hover{transform:translateY(-3px);background:#e6f8f5;box-shadow:0 12px 22px #07415913}.contact-item small,.person-card small{color:#65818e;font-weight:700;font-size:11px}.contact-item b{font-size:14px;color:#0a5570}.contact-item:last-child small,.contact-item:last-child b{color:#fff}.contact-people{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.person-card{border-radius:15px;border:1px solid #e2edef;padding:16px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px;background:#fff}.person-card a:not(.viber){font-size:14px;font-weight:800;color:#0a5976}.person-card .viber{grid-column:span 2;justify-self:start;margin-top:5px;background:linear-gradient(135deg,#7f58e9,#6251cf);color:#fff!important;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:800;line-height:1;box-shadow:0 6px 12px #6251cf22}.hours-card{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;padding-top:27px;border-top:1px solid #e1ecee}.hours-card h3{grid-column:span 2;margin-bottom:0}.hours-card div{border-left:3px solid #ffd130;padding-left:10px;display:flex;flex-direction:column;font-size:12px;color:#64818e}.hours-card b{font-size:13px;color:#0a435e;margin-top:2px}.map-card{padding:18px;display:flex;flex-direction:column}.map-card .map-local{border-radius:20px;border:0;box-shadow:none;flex:1;min-height:400px;aspect-ratio:auto}.map-card .map-local img{width:100%;height:100%;object-fit:cover;object-position:center}.map-card .map-local:after{font-size:11px;right:12px;bottom:12px}.map-card .map{display:none}.map-card .map-cta{margin-top:auto;padding:25px 8px 6px;background:transparent;box-shadow:none;text-align:left}.map-card .map-cta h3{font-size:26px;margin:0 0 6px}.map-card .map-cta p{margin:0 0 17px}.map-card .map-cta .btn{border-radius:999px;padding:13px 21px;background:#ffd130;color:#082940}
/* Hover-safe service cards + structured footer */
.services-showcase .card{isolation:isolate;overflow:hidden}.services-showcase .card-image{position:relative;z-index:0;will-change:transform}.services-showcase .card h3{position:relative;z-index:2;background:linear-gradient(90deg,#fff 82%,#ffffff00);margin-top:0;padding:12px 15px 5px}.services-showcase .card ul{position:relative;z-index:2;background:#fff;padding-top:2px;padding-bottom:12px}.site-footer{margin-top:0;background:linear-gradient(125deg,#061c2d,#0a415c);color:#d9edf1;padding:0;border:0}.site-footer .footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:70px;align-items:center;padding:56px 0 42px}.site-footer .footer-brand{display:flex;align-items:center;min-height:116px;padding-right:55px;border-right:1px solid #ffffff23}.site-footer .footer-brand img{width:min(230px,100%);height:auto;background:transparent;padding:0;border-radius:0;filter:drop-shadow(0 6px 13px #0005)}.site-footer strong{display:block;color:#ffd130;text-transform:uppercase;letter-spacing:.1em;font-size:11px;margin-bottom:15px}.site-footer .footer-contact,.site-footer .footer-hours{display:flex;flex-direction:column;gap:9px;font-size:14px;line-height:1.55}.site-footer a{color:#fff;text-decoration:none;transition:.2s}.site-footer a:hover{color:#ffd130}.site-footer .footer-bottom{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:19px 0;border-top:1px solid #ffffff1c;color:#a9c6ce;font-size:11px}.site-footer .footer-rule{height:1px;background:linear-gradient(90deg,#ffffff22,transparent)}
/* Articles */
.article-hero{min-height:470px;position:relative;isolation:isolate}.article-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#041d31e8 0%,#062137a8 45%,#06213733 100%);z-index:-1}.article-hero .wrap{padding:82px 0}.article-hero h1{font-size:clamp(42px,5.6vw,78px);max-width:1000px}.back{backdrop-filter:blur(8px);transition:.2s}.back:hover{background:#fff;color:#082940}.article-static{padding:88px 22px 118px;background:linear-gradient(180deg,#edf6f8,#fff 45%)}.article-static article{width:min(850px,100%);border:1px solid #e3edf0;border-radius:28px;padding:clamp(32px,6vw,82px);box-shadow:0 25px 60px #08345014;font-size:18px;line-height:1.92}.article-static article:before{content:'PatrasKEP / Νέα';display:block;font-weight:800;letter-spacing:.08em;font-size:11px;color:#0c8c8a;margin-bottom:20px}.article-meta{font-size:13px;font-weight:800;color:#5b7484;margin-bottom:15px}.article-share{margin-top:42px;padding-top:26px;border-top:1px solid #e2edf0}.article-share h2{font-family:Manrope,Arial,sans-serif;font-size:16px;margin:0 0 14px;color:#082940}.share-buttons{display:flex;flex-wrap:wrap;gap:10px}.share-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:800;border:1px solid transparent;transition:.2s}.share-button:hover{transform:translateY(-2px)}.share-facebook{background:#1877f2;color:#fff}.share-x{background:#111;color:#fff}.share-whatsapp{background:#25d366;color:#fff}.share-telegram{background:#229ed9;color:#fff}.article-static p{margin:0 0 24px;font-weight:500}.article-static h2{font-family:'Roboto Slab',Georgia,serif;font-size:clamp(25px,3vw,34px);letter-spacing:-.035em;color:#082940;margin:46px 0 17px}.article-static ul{padding-left:22px;margin:0 0 27px;color:#234a62}.article-static li{padding-left:6px;margin:8px 0}.article-static p:nth-of-type(1){font-size:20px;line-height:1.75;color:#173f57}.article-static p:nth-of-type(1)::first-letter{font:700 66px/.72 'Roboto Slab',Georgia,serif;color:#0e8e93;float:left;margin:10px 9px 0 0}
@media(max-width:860px){.nav{height:auto;min-height:84px;padding:13px 0}.brand img{width:208px}.links{border:0;border-radius:0;background:transparent;box-shadow:none}.links>a,.services-menu>summary{padding:9px 8px}.services-dropdown{top:95px}.hero-art{transform:none}.steps{padding:76px 0}.steps .grid{grid-template-columns:1fr}.steps .step{min-height:0}.news-card:first-child{grid-column:auto;display:flex}.news-card:first-child>a{display:flex}.news-card:first-child img{height:auto;min-height:0}.news-card:first-child div{display:flex;padding:25px}.news-card:first-child h2{font-size:19px;line-height:1.32}.article-hero{min-height:380px}.article-static{padding:48px 16px 80px}.article-static article{font-size:16px}.article-static p:nth-child(2){font-size:26px}.share-buttons{gap:8px}.share-button{flex:1 1 160px}}
/* FAQ Accordion Modern Design */
.faq-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 860px;
    margin: 0 auto;
}
.faq-list details {
    background: #fff;
    border: 1px solid #e3edf0;
    border-radius: 20px;
    padding: 24px 28px;
    box-shadow: 0 10px 25px rgba(8, 52, 80, 0.03);
    transition: box-shadow 0.25s, border-color 0.25s, transform 0.25s;
    overflow: hidden;
}
.faq-list details:hover {
    box-shadow: 0 16px 36px rgba(8, 52, 80, 0.08);
    border-color: #c7dee6;
    transform: translateY(-2px);
}
.faq-list details[open] {
    border-color: #12aaa3;
    box-shadow: 0 20px 45px rgba(18, 170, 163, 0.1);
}
.faq-list summary {
    list-style: none;
    cursor: pointer;
    font-size: 18px;
    font-weight: 800;
    color: #082940;
    position: relative;
    padding-right: 40px;
    outline: none;
}
.faq-list summary::-webkit-details-marker {
    display: none;
}
.faq-list summary::after {
    content: "+";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background: #f5f8fa;
    color: #0e628e;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 400;
    transition: transform 0.3s, background 0.3s, color 0.3s;
}
.faq-list details:hover summary::after {
    background: #ffd130;
    color: #082940;
}
.faq-list details[open] summary::after {
    content: "−";
    background: #12aaa3;
    color: #fff;
    transform: translateY(-50%) rotate(180deg);
}
.faq-list p {
    margin: 20px 0 0 0;
    font-size: 15px;
    line-height: 1.8;
    color: #4a6375;
    padding-top: 18px;
    border-top: 1px solid #f0f5f7;
    animation: fadeInDown 0.4s ease forwards;
}

@keyframes fadeInDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

@media(max-width:860px) {
    .faq-list details { padding: 20px; }
    .faq-list summary { font-size: 16px; padding-right: 35px; }
    .faq-list summary::after { width: 28px; height: 28px; font-size: 18px; }
}

.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; align-items: stretch; }
.news-card { display: flex; flex-direction: column; border: 1px solid #deebef; border-radius: 24px; box-shadow: 0 16px 36px #08345010; overflow: hidden; background: #fff; transition: transform .25s, box-shadow .25s; height: 100%; }
.news-card a { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; }
.news-card img { width: 100%; height: 210px; object-fit: cover; }
.news-card div { display: flex; flex-direction: column; flex-grow: 1; padding: 28px 24px 34px; }
.news-card h2 { font-size: 20px; font-weight: 800; line-height: 1.4; margin: 0 0 18px; color: #082940; transition: color .2s; }
.news-card span { font-size: 13px; font-weight: 800; color: #0c8c8a; text-transform: uppercase; letter-spacing: .08em; display: inline-flex; align-items: center; margin-top: auto; }

.news-card:hover { transform: translateY(-4px); box-shadow: 0 24px 48px #0834501a; border-color: #c9dfe6; }
.news-card:hover h2 { color: #0c8c8a; }


@media(max-width:860px){
  .news-grid{grid-template-columns:1fr; gap:20px}
  .news-card{height:auto; min-height:0; display:flex; flex-direction:column; border-radius:18px}
  .news-card a{display:flex; flex-direction:column;}
  .news-card img{height:200px; width:100%; object-fit:cover; aspect-ratio:unset;}
  .news-card div{padding:20px 16px;}
  .news-card h2{font-size:18px; margin-bottom:12px;}
  .news-card:first-child{display:flex; grid-column:auto;}
  .news-card:first-child>a{display:flex; flex-direction:column;}
  .news-card:first-child img{height:200px; min-height:0;}
  .news-card:first-child div{display:flex; padding:20px 16px;}
}

/* Instagram/TikTok native share buttons */
.share-instagram{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af,#515bd4)!important;color:#fff!important}
.share-tiktok{background:#050505!important;color:#fff!important;border:1px solid #25f4ee!important;box-shadow:inset 3px 0 0 #25f4ee,inset -3px 0 0 #fe2c55}
.share-instagram:hover,.share-tiktok:hover{transform:translateY(-2px);filter:brightness(1.05)}

/* Modern contact CTA blocks before footer */
.cta-notice{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  margin:48px 0 18px;
  padding:30px;
  border:1px solid rgba(11,63,94,.12);
  border-radius:28px;
  background:
    radial-gradient(circle at 92% 18%, rgba(255,211,77,.34) 0 74px, transparent 75px),
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(245,251,255,.96));
  box-shadow:0 22px 60px rgba(11,63,94,.10);
}
.cta-notice::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:8px;
  background:linear-gradient(180deg,#ffd34d,#0b3f5e);
}
.cta-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,211,77,.22);
  color:#0b3f5e;
  font-weight:800;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cta-eyebrow::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#ffd34d;
  box-shadow:0 0 0 5px rgba(255,211,77,.28);
}
.cta-notice h2{
  margin:0 0 10px;
  color:#092f46;
  font-size:clamp(1.45rem,2.5vw,2.1rem);
  line-height:1.12;
}
.cta-notice p{
  max-width:760px;
  margin:0;
  color:#48606d;
  font-size:1.02rem;
  line-height:1.7;
}
.cta-contact-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}
.cta-contact-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 13px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(11,63,94,.10);
  color:#173b50;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(11,63,94,.06);
}
.cta-contact-pill:hover{
  transform:translateY(-1px);
  border-color:rgba(11,63,94,.22);
}
.cta-phone{color:#0b3f5e;}
.cta-notice-actions{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:170px;
}
.cta-notice-actions .btn{
  justify-content:center;
  text-align:center;
  white-space:nowrap;
}
.cta-notice-actions .btn.light{
  background:#fff;
  color:#0b3f5e;
  border:1px solid rgba(11,63,94,.16);
  box-shadow:0 10px 26px rgba(11,63,94,.08);
}
@media(max-width:760px){
  .cta-notice{
    grid-template-columns:1fr;
    margin:34px 0 10px;
    padding:24px 20px;
    border-radius:22px;
  }
  .cta-notice-actions{
    flex-direction:row;
    flex-wrap:wrap;
    min-width:0;
  }
  .cta-notice-actions .btn{flex:1 1 150px;}
  .cta-contact-pill{width:100%;justify-content:center;}
}

/* Clickable homepage service cards */
.service-card-link{
  display:flex;
  flex-direction:column;
  height:100%;
  color:inherit;
  text-decoration:none;
}
.card-more{
  display:inline-flex;
  width:max-content;
  margin-top:auto;
  padding:9px 13px;
  border-radius:999px;
  background:rgba(255,211,77,.22);
  color:#0b3f5e;
  font-weight:800;
  font-size:.9rem;
}
.card.has-image:has(.service-card-link){transition:transform .18s ease, box-shadow .18s ease;}
.card.has-image:has(.service-card-link):hover{transform:translateY(-3px);box-shadow:0 22px 52px rgba(11,63,94,.14);}

/* PatrasKEP mobile horizontal-stability patch */
@media(max-width:860px){
  *,*::before,*::after{box-sizing:border-box;}
  main,.wrap,section{max-width:100%;}
  .hero,.steps,.heritage-showcase,.health-showcase,.services-showcase,.contact,.news-hero,.news-section,.article-hero,.article-static,.section{max-width:100%;overflow:hidden;}
  .hero .wrap,.steps .wrap,.heritage-showcase .wrap,.health-showcase .wrap,.services-showcase .wrap,.contact .wrap,.news-hero .wrap,.news-section .wrap,.article-hero .wrap{max-width:100%;box-sizing:border-box;}
  .hero-art,.hero-copy,.hero .lead,.hero h1,.intro,.feature,.contact-hub,.services-showcase .grid,.steps .grid,.news-grid{max-width:100%;min-width:0;}
  .steps .grid,.services-showcase .grid,.news-grid{overflow:hidden;}
  .card,.step,.feature>*,.contact-primary,.map-card,.news-card,.news-card a{max-width:100%;min-width:0;}
  .article-static article{width:100%!important;max-width:100%!important;box-sizing:border-box;overflow:hidden;}
  .article-static img,.article-static figure{max-width:100%;height:auto;}
  .article-static table{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;box-sizing:border-box;border-collapse:collapse;}
  .article-static thead,.article-static tbody,.article-static tr{max-width:100%;}
  .article-static th,.article-static td{overflow-wrap:break-word;word-break:normal;}
  .article-static p,.article-static li,.article-static h1,.article-static h2,.article-static h3,.article-hero h1,.news-card h2{overflow-wrap:break-word;word-break:normal;}
  .cta-notice{grid-template-columns:1fr;max-width:100%;overflow:hidden;}
  .cta-notice-actions,.cta-contact-row,.share-buttons{max-width:100%;min-width:0;}
}

/* Mobile typography final fit patch: avoid clipped hero headlines */
@media(max-width:430px){
  .hero .wrap,.article-hero .wrap{width:100%!important;max-width:100%!important;padding-left:22px!important;padding-right:22px!important;}
  .hero h1{width:100%!important;max-width:100%!important;font-size:clamp(34px,9.2vw,40px)!important;line-height:1.12!important;letter-spacing:-.035em!important;overflow-wrap:break-word!important;word-break:normal!important;}
  .article-hero h1{width:100%!important;max-width:100%!important;font-size:clamp(30px,8.4vw,34px)!important;line-height:1.14!important;letter-spacing:-.035em!important;overflow-wrap:break-word!important;word-break:normal!important;}
  .article-static p:nth-of-type(1){font-size:18px!important;line-height:1.75!important;}
}

/* Mobile hero text viewport fit patch for browser CSS widths up to 520px */
@media(max-width:520px){
  .hero .wrap,.article-hero .wrap{width:100%!important;max-width:100%!important;padding-left:22px!important;padding-right:22px!important;}
  .hero h1{width:100%!important;max-width:100%!important;font-size:clamp(31px,7.8vw,40px)!important;line-height:1.12!important;letter-spacing:-.035em!important;overflow-wrap:break-word!important;word-break:normal!important;}
  .article-hero h1{width:100%!important;max-width:100%!important;font-size:clamp(27px,7vw,34px)!important;line-height:1.14!important;letter-spacing:-.035em!important;overflow-wrap:break-word!important;word-break:normal!important;}
  .article-static p:nth-of-type(1){font-size:18px!important;line-height:1.75!important;}
}

/* Hero CTA click fix: decorative hero overlays must never sit above buttons */
.hero::before,.hero:before,.article-hero::before,.article-hero:before,.page-hero::before,.page-hero:before{pointer-events:none!important;}
.hero .actions,.article-hero .actions,.page-hero .actions{position:relative!important;z-index:10!important;pointer-events:auto!important;}
.hero .btn,.article-hero .btn,.page-hero .btn{position:relative!important;z-index:11!important;pointer-events:auto!important;}

/* Navigation regression fix: dropdown must not be clipped by sticky header */
.nav,.nav.wrap{overflow:visible!important;z-index:1200!important;}
.nav::before,.nav:before{pointer-events:none!important;z-index:-1!important;}
.services-menu{position:relative!important;z-index:1210!important;}
.services-dropdown{z-index:1220!important;}
@media(min-width:861px){.services-menu:hover .services-dropdown,.services-menu[open] .services-dropdown{display:grid!important;}}
/* Decorative hero layers must never block nav/dropdowns or CTA clicks */
.hero,.article-hero,.page-hero{z-index:0;}
.hero::before,.hero:before,.hero::after,.hero:after,.article-hero::before,.article-hero:before,.article-hero::after,.article-hero:after,.page-hero::before,.page-hero:before,.page-hero::after,.page-hero:after{pointer-events:none!important;}


/* SEO audit quick wins: narrow viewport overflow hardening (does not touch nav behavior) */
@media(max-width:520px){
  .hero{overflow:hidden;}
  .hero .wrap{box-sizing:border-box;max-width:100%;padding-left:16px;padding-right:16px;}
  .hero h1{font-size:clamp(34px,12vw,48px);line-height:1.02;overflow-wrap:break-word;hyphens:auto;max-width:100%;}
  .hero .lead{font-size:16px;max-width:100%;overflow-wrap:break-word;}
  .hero .cta-row,.hero .actions{max-width:100%;flex-wrap:wrap;}
  .hero-art,.tile,.service-card,.news-card{max-width:100%;}
}
