@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/Roboto-normal-400-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/Roboto-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/Roboto-normal-500-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/Roboto-normal-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/SourceSerif4-italic-500-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/SourceSerif4-italic-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/SourceSerif4-normal-500-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/SourceSerif4-normal-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/SourceSerif4-normal-600-greek.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
@font-face {
  font-family: 'Source Serif 4';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/SourceSerif4-normal-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ==========================================================
   Μαστοράκη — Δικηγορικό Γραφείο
   ========================================================== */
:root{
  --primary:#6A1B24;
  --primary-dark:#4A1118;
  --gold:#C19A5B;
  --gold-dark:#A6803F;
  --dark:#1C1B20;
  --dark-2:#26252B;
  --text:#5F5F66;
  --heading:#1C1B20;
  --light:#F4F4F4;
  --border:#E6E6E6;
  --serif:"Source Serif 4", Georgia, serif;
  --sans:"Roboto", Arial, sans-serif;
  --wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--text);font:400 16px/1.8 var(--sans);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-decoration:none;transition:color .3s}
a:hover{color:var(--gold)}
h1,h2,h3,h4,h5{font-family:var(--serif);color:var(--heading);font-weight:600;line-height:1.25;margin:0 0 15px}
h1{font-size:54px}
h2{font-size:40px}
h3{font-size:22px}
h4{font-size:19px}
p{margin:0 0 20px}
strong{color:var(--heading);font-weight:500}
main{overflow-x:clip}
::selection{background:var(--gold);color:#fff}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media (max-width:991px){h1{font-size:40px}h2{font-size:32px}}
@media (max-width:575px){h1{font-size:32px}h2{font-size:27px}body{font-size:15px}}

.container{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 15px}
.section{padding:100px 0}
.section--gray{background:var(--light)}
@media (max-width:767px){.section{padding:70px 0}}
.text-center{text-align:center}
.row{display:grid;gap:30px}
.cols-2{grid-template-columns:1fr 1fr;gap:60px}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:991px){.cols-3,.cols-4{grid-template-columns:1fr 1fr}.cols-2{grid-template-columns:1fr;gap:50px}}
@media (max-width:575px){.cols-3,.cols-4{grid-template-columns:1fr}}
.v-center{align-items:center}

/* ---------- Section title ---------- */
.sec-title{margin-bottom:55px}
.sec-title .sub{display:block;font-family:var(--serif);font-style:italic;font-size:19px;color:var(--gold);margin-bottom:6px}
.sec-title h2{margin-bottom:0}
.sec-title .sep{display:flex;align-items:center;gap:12px;margin-top:20px;color:var(--gold)}
.sec-title .sep::before,.sec-title .sep::after{content:"";height:1px;width:50px;background:var(--gold)}
.sec-title .sep svg{width:22px;height:22px}
.text-center .sep{justify-content:center}
.sec-title p{margin:22px 0 0}
.text-center .sec-title p{max-width:700px;margin-left:auto;margin-right:auto}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;padding:16px 34px;border:2px solid transparent;
  font:500 14px/1 var(--sans);text-transform:uppercase;letter-spacing:1.5px;cursor:pointer;transition:all .35s;
}
.btn svg{width:16px;height:16px}
.btn-gold{background:var(--gold);color:#fff}
.btn-gold:hover{background:var(--primary);color:#fff}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--gold);color:#fff}
.btn-outline{border-color:#fff;color:#fff}
.btn-outline:hover{background:#fff;color:var(--primary)}
.btn-outline-dark{border-color:var(--primary);color:var(--primary)}
.btn-outline-dark:hover{background:var(--primary);color:#fff}
.read-more{font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:1px;color:var(--primary);display:inline-flex;gap:8px;align-items:center}
.read-more::after{content:"\203A";font-size:20px;line-height:1}

/* ---------- Topbar ---------- */
.topbar{background:var(--dark);color:#A9A8AF;font-size:14px}
.topbar .container{display:flex;justify-content:space-between;align-items:center;min-height:46px;gap:20px}
.topbar ul{list-style:none;margin:0;padding:0;display:flex;gap:28px}
.topbar li{display:flex;align-items:center;gap:8px}
.topbar svg{width:15px;height:15px;color:var(--gold)}
.topbar a{color:#A9A8AF}
.topbar a:hover{color:var(--gold)}
@media (max-width:991px){.topbar .tb-left{display:none}.topbar .container{justify-content:center}}
@media (max-width:575px){.topbar .tb-mail{display:none}}

/* ---------- Header ---------- */
.header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 2px 15px rgba(0,0,0,.06)}
.header .container{display:flex;align-items:center;justify-content:space-between;min-height:96px;gap:24px}
.logo{display:flex;align-items:center;gap:12px;color:var(--heading)}
.logo:hover{color:var(--heading)}
.logo__icon{width:50px;height:50px;background:var(--primary);color:var(--gold);display:grid;place-items:center;flex:none}
.logo__icon svg{width:30px;height:30px}
.logo__text{display:flex;flex-direction:column;line-height:1.1}
.logo__name{font-family:var(--serif);font-size:23px;font-weight:600;white-space:nowrap}
.logo__tag{font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--gold);margin-top:5px;white-space:nowrap}
.menu{display:flex;list-style:none;margin:0;padding:0}
.menu a{display:block;padding:36px 13px;font-size:15px;font-weight:500;color:var(--heading);position:relative;white-space:nowrap}
.menu a::before{content:"";position:absolute;left:13px;right:13px;top:0;height:3px;background:var(--gold);transform:scaleX(0);transition:transform .3s}
.menu a:hover,.menu a.active{color:var(--primary)}
.menu a:hover::before,.menu a.active::before{transform:scaleX(1)}
.header-call{display:flex;align-items:center;gap:12px;padding-left:24px;border-left:1px solid var(--border)}
.header-call__icon{width:46px;height:46px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold)}
.header-call__icon svg{width:20px;height:20px}
.header-call small{display:block;font-size:12px;color:var(--text);line-height:1.2}
.header-call a{font-family:var(--serif);font-size:19px;font-weight:600;color:var(--heading);line-height:1.3;white-space:nowrap}
.burger{display:none;background:var(--primary);border:0;width:46px;height:46px;cursor:pointer;padding:12px}
.burger span{display:block;height:2px;background:#fff;margin:5px 0}
.nav-close,.overlay{display:none}
@media (max-width:1199px){.header-call{display:none}}
@media (max-width:1060px){
  .burger{display:block}
  .header .container{min-height:80px}
  .nav{position:fixed;top:0;right:0;bottom:0;width:300px;max-width:85%;background:var(--dark);z-index:70;padding:80px 0 30px;overflow-y:auto;
       clip-path:inset(0 0 0 100%);visibility:hidden;transition:clip-path .4s,visibility 0s .4s}
  .nav.open{clip-path:inset(0);visibility:visible;transition:clip-path .4s}
  .menu{flex-direction:column}
  .menu a{color:#fff;padding:14px 30px;border-bottom:1px solid rgba(255,255,255,.08)}
  .menu a::before{display:none}
  .menu a.active,.menu a:hover{color:var(--gold)}
  .nav-close{display:block;position:absolute;top:20px;right:20px;background:none;border:0;color:#fff;font-size:34px;cursor:pointer;line-height:1}
  .overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:60;opacity:0;visibility:hidden;transition:.3s}
  .overlay.open{opacity:1;visibility:visible}
}
@media (max-width:575px){.logo__name{font-size:19px}.logo__tag{font-size:9.5px;letter-spacing:1.6px}.logo__icon{width:42px;height:42px}}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--dark) center/cover no-repeat;color:#fff;padding:170px 0 230px}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,14,16,.95) 0%,rgba(20,14,16,.82) 45%,rgba(20,14,16,.4) 100%)}
.hero .container{position:relative}
.hero__content{max-width:720px}
.hero h1 small{display:block;font-size:.55em;color:var(--gold);font-weight:500;margin-top:10px}
.hero__sub{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--gold);display:block;margin-bottom:12px}
.hero h1{color:#fff;font-size:60px;margin-bottom:22px}
.hero p{font-size:18px;color:#D4D3D8;margin-bottom:38px;max-width:560px}
.hero__btns{display:flex;gap:15px;flex-wrap:wrap}
@media (max-width:991px){.hero{padding:120px 0 170px}.hero h1{font-size:44px}}
@media (max-width:575px){.hero{padding:90px 0 80px}.hero h1{font-size:34px}.hero p{font-size:16px}}

.features{position:relative;z-index:2;margin-top:-110px}
.features .row{gap:0;box-shadow:0 15px 40px rgba(0,0,0,.1)}
.feature{background:#fff;padding:45px 38px;display:flex;gap:22px}
.feature:nth-child(2){background:var(--primary)}
.feature:nth-child(2) h4,.feature:nth-child(2) p{color:#fff}
.feature:nth-child(2) .feature__icon{color:var(--gold)}
.feature__icon{width:56px;flex:none;color:var(--primary)}
.feature__icon svg{width:56px;height:56px}
.feature h4{margin-bottom:8px}
.feature p{margin:0;font-size:15px}
@media (max-width:991px){.features .row{grid-template-columns:1fr}}
@media (max-width:575px){.features{margin-top:0}.features .container{padding:0}}

/* ---------- About ---------- */
.about-img{position:relative;padding:0 0 60px 60px}
.about-img::before{content:"";position:absolute;left:0;bottom:0;width:70%;height:80%;border:8px solid var(--light)}
.about-img img{position:relative;width:100%;aspect-ratio:4/3.4;object-fit:cover}
.exp-box{position:absolute;right:-30px;bottom:20px;background:var(--gold);color:#fff;padding:28px 30px;text-align:center;z-index:2;min-width:170px}
.exp-box b{display:block;font-family:var(--serif);font-size:56px;line-height:1;font-weight:600}
.exp-box span{font-size:13px;text-transform:uppercase;letter-spacing:1.5px;line-height:1.4;display:block;margin-top:6px}
@media (max-width:1260px){.exp-box{right:0}}
@media (max-width:767px){.about-img{padding:0 0 40px 30px}}
.lead{font-size:18px;color:var(--heading);font-family:var(--serif);font-style:italic;line-height:1.6}
.list-check{list-style:none;padding:0;margin:0 0 35px;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
.list-check li{padding-left:30px;position:relative;color:var(--heading);font-weight:500;font-size:15px}
.list-check li::before{content:"";position:absolute;left:0;top:6px;width:16px;height:16px;background:var(--gold);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.4 14.6-4.2-4.2 1.4-1.4 2.8 2.8 6-6 1.4 1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-1.4 14.6-4.2-4.2 1.4-1.4 2.8 2.8 6-6 1.4 1.4z'/%3E%3C/svg%3E") center/contain no-repeat}
.list-check--1{grid-template-columns:1fr}
@media (max-width:575px){.list-check{grid-template-columns:1fr}}
.author{display:flex;align-items:center;gap:18px}
.author img{width:70px;height:70px;border-radius:50%;object-fit:cover;object-position:top;border:3px solid var(--light)}
.author b{display:block;font-family:var(--serif);font-size:20px;color:var(--heading);font-weight:600;line-height:1.2}
.author span{font-size:14px;color:var(--gold)}
.about-actions{display:flex;align-items:center;gap:35px;flex-wrap:wrap}

/* ---------- Service boxes ---------- */
.service-box{background:#fff;padding:45px 35px 40px;position:relative;transition:all .4s;border-bottom:3px solid transparent;height:100%;display:flex;flex-direction:column}
.service-box__icon{width:78px;height:78px;border:1px solid var(--border);display:grid;place-items:center;color:var(--primary);margin-bottom:28px;transition:all .4s;position:relative;z-index:1}
.service-box__icon svg{width:42px;height:42px}
.service-box h3,.service-box p{transition:color .4s}
.service-box h3 a{color:inherit}
.service-box p{flex:1}
.service-box:hover{background:var(--primary);border-bottom-color:var(--gold);transform:translateY(-6px);box-shadow:0 20px 40px rgba(106,27,36,.25)}
.service-box:hover h3,.service-box:hover p{color:#fff}
.service-box:hover .service-box__icon{background:var(--gold);border-color:var(--gold);color:#fff}
.service-box:hover .read-more{color:var(--gold)}
.service-box .num{position:absolute;right:30px;top:28px;font-family:var(--serif);font-size:50px;line-height:1;color:var(--light);font-weight:600;transition:color .4s}
.service-box:hover .num{color:rgba(255,255,255,.1)}

/* ---------- Counters (parallax) ---------- */
.counters{position:relative;background:center/cover fixed no-repeat;padding:100px 0;color:#fff}
.counters::before{content:"";position:absolute;inset:0;background:rgba(74,17,24,.9)}
.counters .container{position:relative}
.counter{text-align:center;padding:10px 20px;border-right:1px solid rgba(255,255,255,.15)}
.counter:last-child{border-right:0}
.counter__icon{color:var(--gold);margin:0 auto 18px;width:52px;height:52px}
.counter__icon svg{width:52px;height:52px}
.counter b{display:block;font-family:var(--serif);font-size:50px;line-height:1.1;font-weight:600;color:#fff}
.counter span{font-size:15px;color:#E5D3D5;letter-spacing:.5px}
@media (max-width:991px){.counter{border-right:0}}
@media (hover:none){.counters{background-attachment:scroll}}

/* ---------- Why us ---------- */
.why-item{display:flex;gap:22px;margin-bottom:34px}
.why-item:last-child{margin-bottom:0}
.why-item__num{width:60px;height:60px;flex:none;background:var(--light);color:var(--primary);font-family:var(--serif);font-size:24px;font-weight:600;display:grid;place-items:center;transition:.3s}
.why-item:hover .why-item__num{background:var(--gold);color:#fff}
.why-item h4{margin-bottom:6px}
.why-item p{margin:0;font-size:15px}
.why-imgs{position:relative;padding:0 0 80px}
.why-imgs img:first-child{width:78%;aspect-ratio:4/3;object-fit:cover}
.why-imgs img:last-child{position:absolute;right:0;bottom:0;width:55%;aspect-ratio:4/3;object-fit:cover;border:10px solid #fff;box-shadow:0 15px 40px rgba(0,0,0,.12)}

/* ---------- Gallery ---------- */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gallery a{position:relative;display:block;overflow:hidden;aspect-ratio:4/3}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gallery a::before{content:"";position:absolute;inset:0;background:rgba(106,27,36,.75);opacity:0;transition:.4s;z-index:1}
.gallery a::after{content:"+";position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border:1px solid var(--gold);color:#fff;font-size:28px;font-weight:300;display:grid;place-items:center;z-index:2;opacity:0;transform:scale(.6);transition:.4s}
.gallery a:hover img{transform:scale(1.08)}
.gallery a:hover::before,.gallery a:hover::after{opacity:1;transform:none}
@media (max-width:767px){.gallery{grid-template-columns:1fr 1fr}}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:200;padding:20px}
.lightbox.open{display:flex}
.lightbox img{max-height:88vh;max-width:min(1100px,100%)}
.lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:42px;cursor:pointer;padding:10px 18px;line-height:1}
.lb-close{top:10px;right:10px}.lb-prev{left:5px;top:50%;transform:translateY(-50%)}.lb-next{right:5px;top:50%;transform:translateY(-50%)}

/* ---------- Blog cards ---------- */
.post{background:#fff;box-shadow:0 5px 30px rgba(0,0,0,.06);height:100%;display:flex;flex-direction:column;transition:.35s}
.post:hover{box-shadow:0 15px 40px rgba(0,0,0,.12)}
.post__img{position:relative;overflow:hidden;aspect-ratio:16/10;display:block}
.post__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.post:hover .post__img img{transform:scale(1.06)}
.post__cat{position:absolute;left:0;bottom:0;background:var(--gold);color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:1.2px;padding:8px 16px}
.post__body{padding:30px 32px 32px;display:flex;flex-direction:column;flex:1}
.post__meta{font-size:13px;color:#999;margin-bottom:10px;display:flex;gap:6px;align-items:center}
.post__meta svg{width:14px;height:14px;color:var(--gold)}
.post h3{font-size:21px}
.post h3 a{color:var(--heading)}
.post h3 a:hover{color:var(--primary)}
.post p{font-size:15px;flex:1}
.post .read-more{border-top:1px solid var(--border);padding-top:18px}

/* ---------- FAQ + Consultation ---------- */
.accordion details{border:1px solid var(--border);margin-bottom:12px;background:#fff}
.accordion summary{list-style:none;cursor:pointer;padding:18px 60px 18px 24px;font-family:var(--serif);font-weight:600;font-size:17px;color:var(--heading);position:relative;transition:.3s}
.accordion summary::-webkit-details-marker{display:none}
.accordion summary::after{content:"+";position:absolute;right:0;top:0;bottom:0;width:56px;display:grid;place-items:center;font-family:var(--sans);font-size:24px;font-weight:300;color:var(--gold)}
.accordion details[open] summary{background:var(--primary);color:#fff}
.accordion details[open] summary::after{content:"\2212";color:#fff}
.accordion details > div{padding:20px 24px 6px;font-size:15px}
.consult{background:var(--primary) center/cover no-repeat;position:relative;padding:50px 45px;color:#E8D9DB}
.consult::before{content:"";position:absolute;inset:0;background:rgba(74,17,24,.93)}
.consult > *{position:relative}
.consult h3{color:#fff;font-size:28px}
.consult .field input,.consult .field select,.consult .field textarea{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.18);color:#fff}
.consult .field input::placeholder,.consult .field textarea::placeholder{color:rgba(255,255,255,.6)}
.consult .field select option{color:#222}
.consult .consent{color:#D9C5C8}
.consult .consent a{color:var(--gold)}
@media (max-width:575px){.consult{padding:40px 22px}}

/* ---------- Forms ---------- */
.field{margin-bottom:16px}
.field label{display:block;font-size:14px;font-weight:500;color:var(--heading);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:15px;padding:14px 18px;border:1px solid var(--border);background:#fff;color:var(--heading);border-radius:0;transition:border-color .3s}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--gold)}
.form-2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media (max-width:575px){.form-2{grid-template-columns:1fr}}
.consent{display:flex;gap:10px;font-size:13px;line-height:1.6;margin:4px 0 22px}
.consent input{margin-top:4px;accent-color:var(--gold)}
.form-note{font-size:13px;margin:16px 0 0;opacity:.85}

/* ---------- Call to action strip ---------- */
.cta-strip{background:var(--gold);padding:45px 0}
.cta-strip .container{display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.cta-strip h3{color:#fff;font-size:28px;margin:0}
.cta-strip p{color:#FFF6E8;margin:6px 0 0}
.cta-strip .btn-outline:hover{color:var(--gold-dark)}

/* ---------- Page title bar ---------- */
.page-title{position:relative;background:var(--dark) center/cover no-repeat;padding:110px 0 100px;text-align:center}
.page-title::before{content:"";position:absolute;inset:0;background:rgba(20,14,16,.82)}
.page-title .container{position:relative}
.page-title h1{color:#fff;font-size:48px;margin-bottom:14px}
.breadcrumb{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:10px;font-size:15px;color:#C9C8CE;list-style:none;margin:0;padding:0}
.breadcrumb a{color:var(--gold)}
.breadcrumb li+li::before{content:"/";margin-right:10px;color:#77767c}
@media (max-width:767px){.page-title{padding:80px 0 70px}.page-title h1{font-size:32px}}

/* ---------- Sidebar layout ---------- */
.with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:50px;align-items:start}
.with-sidebar--left{grid-template-columns:330px minmax(0,1fr)}
@media (max-width:991px){.with-sidebar,.with-sidebar--left{grid-template-columns:minmax(0,1fr)}.with-sidebar--left .sidebar{order:2}}
.widget{background:var(--light);padding:35px 32px;margin-bottom:30px}
.widget-title{font-size:21px;padding-bottom:14px;margin-bottom:22px;position:relative}
.widget-title::after{content:"";position:absolute;left:0;bottom:0;width:45px;height:2px;background:var(--gold)}
.widget-links{list-style:none;margin:0;padding:0}
.widget-links li{margin-bottom:6px}
.widget-links a{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:14px 20px;color:var(--heading);font-weight:500;font-size:15px;transition:.3s}
.widget-links a::after{content:"\203A";font-size:20px;color:var(--gold);transition:.3s}
.widget-links a:hover,.widget-links a.active{background:var(--primary);color:#fff}
.widget-links a:hover::after,.widget-links a.active::after{color:#fff}
.widget-help{position:relative;background:var(--primary) center/cover;padding:45px 32px;text-align:center;color:#E8D9DB;margin-bottom:30px}
.widget-help::before{content:"";position:absolute;inset:0;background:rgba(74,17,24,.9)}
.widget-help > *{position:relative}
.widget-help h3{color:#fff}
.widget-help .big-phone{display:block;font-family:var(--serif);font-size:26px;color:#fff;font-weight:600;margin:6px 0 22px}
.widget-help .icon{width:64px;height:64px;margin:0 auto 18px;background:var(--gold);color:#fff;border-radius:50%;display:grid;place-items:center}
.widget-help .icon svg{width:28px;height:28px}
.widget-doc{display:flex;gap:14px;align-items:center;background:#fff;padding:16px 18px;color:var(--heading);font-weight:500;font-size:15px;margin-bottom:8px}
.widget-doc svg{width:26px;height:26px;color:var(--primary);flex:none}
.widget-doc:hover{color:var(--primary)}
.sticky{position:sticky;top:120px}

/* ---------- Services page blocks ---------- */
.svc-block{margin-bottom:60px;padding-bottom:60px;border-bottom:1px solid var(--border);scroll-margin-top:120px}
.svc-block:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.svc-block__head{display:flex;gap:22px;align-items:center;margin-bottom:22px}
.svc-block__icon{width:70px;height:70px;flex:none;background:var(--primary);color:var(--gold);display:grid;place-items:center}
.svc-block__icon svg{width:38px;height:38px}
.svc-block__head h2{font-size:30px;margin:0}
.svc-block__head small{display:block;font-size:13px;text-transform:uppercase;letter-spacing:1.5px;color:var(--gold);margin-bottom:4px}
.note{background:var(--light);border-left:4px solid var(--gold);padding:20px 25px;font-size:15px;margin:0}
.svc-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:70px}
.svc-intro img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:767px){.svc-intro{grid-template-columns:1fr}.svc-block__head h2{font-size:24px}}

/* ---------- Article ---------- */
.entry-img{margin-bottom:35px;aspect-ratio:16/8;overflow:hidden}
.entry-img img{width:100%;height:100%;object-fit:cover}
.entry-meta{display:flex;gap:22px;flex-wrap:wrap;font-size:14px;color:#999;margin-bottom:18px}
.entry-meta span{display:flex;gap:7px;align-items:center}
.entry-meta svg{width:15px;height:15px;color:var(--gold)}
.entry{font-size:16.5px}
.entry > h2:first-child{margin-top:0}
.entry h2{font-size:28px;margin:45px 0 18px}
.entry h3{font-size:21px;margin:32px 0 12px}
.entry ol,.entry ul{padding-left:22px;margin:0 0 22px}
.entry li{margin-bottom:10px}
.entry li::marker{color:var(--gold);font-weight:600}
.entry .callout{margin:30px 0;background:var(--light);border-left:4px solid var(--gold);padding:28px 32px;font-size:16px}
.entry .callout p:last-child,.entry .callout ul:last-child,.entry .callout ol:last-child,.entry .callout .table-wrap:last-child{margin-bottom:0}
.entry .table-wrap{overflow-x:auto;margin:25px 0}
.entry table{width:100%;border-collapse:collapse;font-size:15px;min-width:420px}
.entry th{background:var(--primary);color:#fff;font-weight:500;text-align:left;padding:14px 18px}
.entry td{padding:13px 18px;border-bottom:1px solid var(--border);background:#fff}
.entry tr:nth-child(even) td{background:var(--light)}
.entry-author{display:flex;gap:22px;align-items:center;background:var(--light);padding:30px;margin-top:50px}
.entry-author img{width:90px;height:90px;border-radius:50%;object-fit:cover;object-position:top;flex:none}
.entry-author h4{margin-bottom:4px}
.entry-author p{margin:0;font-size:15px}
.disclaimer{font-size:14px;color:#888;margin-top:30px;font-style:italic}
@media (max-width:575px){.entry-author{flex-direction:column;text-align:center}}

/* ---------- Bio page ---------- */
.info-box{border:1px solid var(--border);padding:35px 30px;text-align:center;height:100%;transition:.35s}
.info-box:hover{border-color:var(--gold);box-shadow:0 15px 35px rgba(0,0,0,.07)}
.info-box__icon{width:70px;height:70px;margin:0 auto 20px;background:var(--light);color:var(--primary);display:grid;place-items:center;border-radius:50%;transition:.35s}
.info-box:hover .info-box__icon{background:var(--primary);color:var(--gold)}
.info-box__icon svg{width:32px;height:32px}
.info-box p{margin:0;font-size:15px}

/* ---------- Documents ---------- */
.doc-row{display:flex;gap:25px;align-items:center;padding:28px 30px;background:#fff;border:1px solid var(--border);margin-bottom:15px;transition:.3s;color:var(--text)}
.doc-row:hover{border-color:var(--gold);box-shadow:0 10px 30px rgba(0,0,0,.06);color:var(--text)}
.doc-row__icon{width:60px;height:60px;background:var(--primary);color:var(--gold);display:grid;place-items:center;flex:none}
.doc-row__icon svg{width:28px;height:28px}
.doc-row h4{margin:0 0 3px;color:var(--heading)}
.doc-row p{margin:0;font-size:14px}
.doc-row .btn{margin-left:auto;padding:12px 22px;font-size:12px}
@media (max-width:575px){.doc-row{flex-wrap:wrap}.doc-row .btn{margin-left:0}}

/* ---------- Contact ---------- */
.contact-box{background:#fff;border:1px solid var(--border);padding:45px 30px;text-align:center;height:100%;transition:.35s;position:relative}
.contact-box::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--gold);transform:scaleX(0);transition:.35s}
.contact-box:hover::after{transform:scaleX(1)}
.contact-box__icon{width:76px;height:76px;margin:0 auto 22px;background:var(--primary);color:var(--gold);display:grid;place-items:center;border-radius:50%}
.contact-box__icon svg{width:32px;height:32px}
.contact-box p,.contact-box a{margin:0;font-size:16px;color:var(--text)}
.contact-box a:hover{color:var(--primary)}
.map{height:450px;background:var(--light)}
.map iframe{width:100%;height:100%;border:0;display:block}

/* ---------- Footer ---------- */
.footer{background:var(--dark);color:#9C9BA2;font-size:15px}
.footer-top{padding:90px 0 60px;display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:40px}
@media (max-width:991px){.footer-top{grid-template-columns:1fr 1fr}}
@media (max-width:575px){.footer-top{grid-template-columns:1fr}}
.footer h4{color:#fff;font-size:20px;margin-bottom:28px;padding-bottom:14px;position:relative}
.footer h4::after{content:"";position:absolute;left:0;bottom:0;width:40px;height:2px;background:var(--gold)}
.footer a{color:#9C9BA2}
.footer a:hover{color:var(--gold)}
.footer .logo{margin-bottom:24px}
.footer .logo__name{color:#fff}
.footer ul{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:10px}
.footer-links a::before{content:"\203A";color:var(--gold);margin-right:10px}
.footer-contact li{display:flex;gap:14px;margin-bottom:16px;line-height:1.6}
.footer-contact svg{width:18px;height:18px;color:var(--gold);flex:none;margin-top:4px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.07);padding:24px 0;font-size:14px}
.footer-bottom .container{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footer-bottom nav{display:flex;gap:22px;flex-wrap:wrap}

/* ---------- Misc ---------- */
.to-top{position:fixed;right:25px;bottom:25px;width:48px;height:48px;background:var(--gold);color:#fff;display:grid;place-items:center;z-index:40;opacity:0;visibility:hidden;transition:.3s;border:0;cursor:pointer}
.to-top.show{opacity:1;visibility:visible}
.to-top:hover{background:var(--primary)}
.to-top svg{width:20px;height:20px}
.cookie{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--dark-2);color:#C9C8CE;font-size:14px;padding:18px 0;display:none}
.cookie.show{display:block}
.cookie .container{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cookie p{margin:0;max-width:760px}
.cookie a{color:var(--gold)}
.cookie .btn{padding:11px 20px;font-size:12px}
.cookie .btn-outline{border-color:#666}
.cookie-btns{display:flex;gap:10px}
.mb-0{margin-bottom:0}
.mt-40{margin-top:40px}
.skip{position:absolute;left:-999px;top:0;background:var(--primary);color:#fff;padding:10px 16px;z-index:300}
.skip:focus{left:10px;top:10px}
@media (prefers-reduced-motion:reduce){*{transition:none !important}}

/* ---------- Publications (home) ---------- */
.pubs{position:relative;background:var(--dark) center/cover no-repeat;padding:100px 0}
.pubs::before{content:"";position:absolute;inset:0;background:rgba(28,27,32,.93)}
.pubs .container{position:relative}
.pubs .sec-title h2{color:#fff}
.pubs .sec-title p{color:#B9B8BF}
.pub-featured{display:flex;align-items:center;gap:28px;background:var(--primary);padding:34px 38px;margin-bottom:30px;border-left:4px solid var(--gold);transition:.35s}
.pub-featured:hover{background:var(--primary-dark)}
.pub-featured h3{color:#fff;font-size:26px;margin:0 0 4px;letter-spacing:.5px}
.pub-featured p{color:var(--gold);margin:0;letter-spacing:1px;font-size:15px}
.pub-featured .btn{margin-left:auto;flex:none}
.pub-featured .doc-row__icon{background:var(--gold);color:#fff}
.pub{display:flex;gap:20px;align-items:center;padding:24px 26px;border:1px solid rgba(255,255,255,.12);color:#fff;transition:.35s}
.pub:hover{border-color:var(--gold);background:rgba(255,255,255,.04);color:#fff}
.pub__icon{width:52px;height:52px;flex:none;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center}
.pub__icon svg{width:24px;height:24px}
.pub b{display:block;font-family:var(--serif);font-weight:600;font-size:18px;line-height:1.35}
.pub small{display:block;color:#9C9BA2;font-size:13px;margin-top:4px}
@media (max-width:767px){.pubs{padding:70px 0}.pub-featured{flex-wrap:wrap;padding:28px 24px}.pub-featured .btn{margin-left:0}.pub-featured h3{font-size:21px}}
.pubs .row{gap:20px}

/* ---------- Icon fixes ---------- */
.service-box:hover h3 a{color:#fff}
.service-box__icon svg{width:44px;height:44px}
.logo__icon svg{width:32px;height:32px}
.sec-title .sep svg{width:24px;height:24px}

/* ---------- Mobile menu (drawer) ---------- */
.nav-head,.nav-foot{display:none}
@media (max-width:1060px){
  .nav{background:#fff;width:340px;max-width:88%;padding:0;display:flex;flex-direction:column;box-shadow:-25px 0 60px rgba(0,0,0,.28)}
  .nav-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px;border-bottom:1px solid var(--border)}
  .nav-head .logo__icon{width:42px;height:42px}
  .nav-head .logo__name{font-size:19px}
  .nav-head .logo__tag{font-size:9.5px;letter-spacing:1.6px}
  .nav-close{position:relative;top:auto;right:auto;flex:none;width:44px;height:44px;border:1px solid var(--border);background:#fff;padding:0;cursor:pointer}
  .nav-close span{position:absolute;left:12px;right:12px;top:50%;height:2px;background:var(--primary);transform:rotate(45deg)}
  .nav-close span+span{transform:rotate(-45deg)}
  .nav-close:hover,.nav-close:focus{background:var(--light)}
  .menu{padding:8px 0;flex:1}
  .menu a{color:var(--heading);font-family:var(--serif);font-size:20px;font-weight:500;padding:15px 26px;border-bottom:1px solid #F0F0F0;display:flex;justify-content:space-between;align-items:center;transition:background .25s,color .25s}
  .menu a::after{content:"\203A";font-family:var(--sans);font-size:22px;color:var(--gold);transition:transform .25s}
  .menu a:hover,.menu a.active{color:var(--primary);background:#FAF6F0}
  .menu a.active{box-shadow:inset 4px 0 0 var(--gold)}
  .menu a:hover::after{transform:translateX(4px)}
  .nav.open .menu li{animation:mkIn .45s cubic-bezier(.2,.7,.2,1) both}
  .nav.open .menu li:nth-child(2){animation-delay:.04s}.nav.open .menu li:nth-child(3){animation-delay:.08s}
  .nav.open .menu li:nth-child(4){animation-delay:.12s}.nav.open .menu li:nth-child(5){animation-delay:.16s}
  .nav.open .menu li:nth-child(6){animation-delay:.2s}
  .nav-foot{display:block;background:var(--dark);padding:26px 26px 30px;color:#A9A8AF;font-size:14px}
  .nav-foot .btn{width:100%;justify-content:center;margin-bottom:20px}
  .nav-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
  .nav-foot li{display:flex;gap:12px;align-items:center}
  .nav-foot svg{width:16px;height:16px;color:var(--gold);flex:none}
  .nav-foot a{color:#D9D8DE}
}
@keyframes mkIn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.nav.open .menu li{animation:none}}
.header:has(.nav.open){z-index:80}
.nav-foot .btn svg{color:#fff}

/* ---------- Accessibility: contrast, links ---------- */
:root{--gold-text:#8A6930}
h3.h4{font-size:19px}
.sec-title .sub,.logo__tag,.svc-block__head small,.author span,.entry-meta,.post__meta{color:var(--gold-text)}
.pubs .sec-title .sub,.footer .logo__tag,.consult .sec-title .sub{color:var(--gold)}
.btn-gold,.exp-box,.post__cat,.to-top,.widget-help .icon,.nav-foot .btn,.nav-foot .btn svg{color:var(--dark)}
.btn-gold:hover{color:#fff}
.cta-strip h3,.cta-strip p{color:var(--dark)}
.cta-strip .btn-outline{border-color:var(--dark);color:var(--dark)}
.cta-strip .btn-outline:hover{background:var(--dark);color:#fff}
.to-top:hover{color:#fff}
.cookie p a,p a:not(.btn):not(.read-more),.entry li a,.consent a{text-decoration:underline;text-underline-offset:3px}
.feature h3{margin-bottom:8px}
.feature:nth-child(2) h3{color:#fff}
.why-item h3{margin-bottom:6px}
.doc-row h3{margin:0 0 3px;color:var(--heading)}
.info-box h3,.contact-box h3{margin-bottom:12px}
.service-box .num::before{content:attr(data-n)}
h2.h4{font-size:19px}
.feature h2{margin-bottom:8px}
.feature:nth-child(2) h2{color:#fff}

/* ---------- Side gutters ---------- */
.footer-top{padding-left:15px;padding-right:15px}
@media (max-width:767px){
  .container,.footer-top{padding-left:20px;padding-right:20px}
  .footer-top{padding-top:70px;padding-bottom:40px;gap:36px}
}

/* Portrait-format photo in landscape frames: keep the bookcase, crop the floor */
img[src*="grafeio-vivliothiki"],img[srcset*="grafeio-vivliothiki"]{object-position:50% 18%}

/* ---------- Agency credit ---------- */
.footer-bottom .credit{display:block;text-align:center;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.05);font-size:13px}
.footer-bottom .credit a{color:#7E7D84;letter-spacing:.3px}
.footer-bottom .credit a:hover{color:var(--gold)}
.footer-bottom .credit .heart{color:#C0392B;font-size:14px;margin:0 2px}
/* ==========================================================
   WordPress / Hello Elementor / Elementor compatibility
   ========================================================== */
/* Sections are Elementor containers holding one HTML widget each */
.e-con.mk-sec{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px}
.mk-sec > .elementor-widget, .mk-sec .elementor-widget-html{width:100%;margin:0}
/* Let the header widget stick to the viewport, not to its Elementor wrapper */
.elementor-location-header, .elementor-location-header .e-con, .elementor-location-header .e-con-inner,
.elementor-location-header .elementor-widget, .elementor-location-header .elementor-widget-container{display:contents}
.header{top:var(--wp-admin--admin-bar--height,0px)}
@media (max-width:600px){.header{top:0}}
/* Hello Elementor reset overrides */
body{font:400 16px/1.8 var(--sans);color:var(--text)}
a{color:var(--primary)} a:hover,a:active{color:var(--gold)}
h1,h2,h3,h4,h5{font-family:var(--serif);color:var(--heading);font-weight:600;line-height:1.25;margin-block-start:0;margin-block-end:15px}
.burger,.nav-close,.to-top,.lightbox button,.btn{border-radius:0}
.burger:hover,.burger:focus{background:var(--primary)}
.nav-close:hover,.nav-close:focus,.lightbox button:hover,.lightbox button:focus{background:none;color:#fff}
button.btn{line-height:1}
.field input,.field select,.field textarea{border-radius:0}
.page-header,.entry-title{display:none}
.site-main,.elementor-template-full-width .site-main{max-width:none;padding:0;margin:0}
/* Contact form feedback */
.form-msg{padding:16px 20px;margin-bottom:18px;font-size:15px;border-left:4px solid var(--gold);background:rgba(255,255,255,.1);color:inherit;display:none}
.form-msg.show{display:block}
.form-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
