
:root{
  --black:#1c1c1c; --charcoal:#222222; --ivory:#f7f5f1; --white:#ffffff;
  --copper:#b87333; --olive:#6e7a5a; --sand:#e9e1d7; --text:#1c1c1c; --muted:#766f66;
  --line:rgba(15,15,16,.12); --max:1180px; --shadow:0 20px 60px rgba(0,0,0,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text); background:var(--ivory); line-height:1.65;
}
a{color:inherit; text-decoration:none}
img{max-width:100%}
.topbar{
  position:sticky; top:0; z-index:100;
  background:rgba(247,244,239,.94); backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.nav{
  max-width:var(--max); margin:auto; padding:16px 22px; display:flex; align-items:center; justify-content:space-between; gap:18px;
}
.brand{display:flex; align-items:center; gap:14px; min-width:0}
.brand-label{min-width:0}
.brand-title{margin:0; text-transform:uppercase; letter-spacing:.16em; font-size:13px; font-weight:900;}
.brand-sub{
  margin:2px 0 0; color:var(--muted); font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.nav-right{display:flex; align-items:center; gap:18px; flex-wrap:wrap; justify-content:flex-end}
.links{display:flex; gap:18px; flex-wrap:wrap; font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted)}
.links a:hover, .links a.active{color:var(--copper)}
.lang-switch{
  display:flex; border:1px solid var(--line); overflow:hidden; border-radius:999px;
  background:var(--white);
}
.lang-switch button{
  border:0; background:transparent; padding:8px 12px; font-size:12px; font-weight:800; letter-spacing:.08em; cursor:pointer;
  color:var(--muted);
}
.lang-switch button.active{
  background:var(--black); color:var(--white);
}
.hero{
  background:
    radial-gradient(circle at 80% 15%, rgba(184,119,52,.18), transparent 30%),
    linear-gradient(140deg, rgba(255,255,255,.82), rgba(247,244,239,.94));
  border-bottom:1px solid var(--line);
}
.hero-inner{
  max-width:var(--max); margin:auto; padding:88px 22px 70px;
  display:grid; grid-template-columns:1.2fr .8fr; gap:46px; align-items:center;
}
.eyebrow{
  color:var(--copper); text-transform:uppercase; letter-spacing:.25em; font-size:12px; font-weight:900; margin-bottom:16px;
}
h1{
  margin:0 0 18px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(48px,7vw,92px);
  line-height:.92; letter-spacing:.09em; text-transform:uppercase; font-weight:500;
}
.page-title{
  margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(38px,5vw,64px);
  line-height:1.02; font-weight:500;
}
.subtitle{
  font-size:clamp(18px,2vw,24px); font-weight:900; text-transform:uppercase; letter-spacing:.08em; margin-bottom:10px;
}
.est{color:var(--copper); text-transform:uppercase; letter-spacing:.24em; font-weight:900; margin-bottom:18px}
.tagline{
  margin:0 0 24px; color:var(--olive); font-family:Georgia,"Times New Roman",serif; font-size:clamp(22px,2.8vw,34px); line-height:1.2;
}
.lead{font-size:18px; color:#433d36; margin:0 0 28px; max-width:760px;}
.mini-badges{display:flex; flex-wrap:wrap; gap:10px; margin:0 0 30px}
.badge{
  display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:999px;
  background:rgba(184,119,52,.08); border:1px solid rgba(184,119,52,.22);
  color:#5a4633; font-size:12px; font-weight:800; letter-spacing:.03em;
}
.actions{display:flex; flex-wrap:wrap; gap:14px}
.button{
  display:inline-block; border:1px solid var(--black); background:var(--black); color:var(--white);
  padding:13px 18px; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.12em;
  transition:.2s ease;
}
.button.secondary{background:transparent; color:var(--black); border-color:var(--copper);}
.button:hover{transform:translateY(-2px); box-shadow:var(--shadow)}
.hero-card{
  background:var(--black); color:var(--white); padding:36px; box-shadow:0 28px 70px rgba(0,0,0,.22);
  position:relative; overflow:hidden;
}
.hero-card:before{
  content:""; position:absolute; right:-60px; top:-60px; width:190px; height:190px; border:1px solid rgba(184,119,52,.35); border-radius:50%;
}
.card-title{
  margin:20px 0 12px; font-family:Georgia,"Times New Roman",serif; font-size:28px; line-height:1.2; text-transform:uppercase; letter-spacing:.10em;
}
.card-text{margin:0 0 24px; color:rgba(255,255,255,.76)}
.card-list{display:grid; gap:10px; border-top:1px solid rgba(255,255,255,.14); padding-top:22px; color:rgba(255,255,255,.82); font-size:14px}
.logo-wrap{display:flex; align-items:center; gap:14px}
.mark-text{text-transform:uppercase; letter-spacing:.16em; font-size:12px; color:rgba(255,255,255,.84); font-weight:900;}
.section{padding:84px 22px}
.wrap{max-width:var(--max); margin:auto}
.section-head{display:grid; grid-template-columns:.30fr 1fr; gap:42px; align-items:start; margin-bottom:34px}
.kicker{color:var(--copper); text-transform:uppercase; letter-spacing:.22em; font-size:12px; font-weight:900;}
h2{margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(34px,4vw,56px); line-height:1.02; font-weight:500;}
.intro{font-size:19px; color:#433d36; margin:18px 0 0; max-width:860px}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:20px}
.panel{background:rgba(255,255,255,.68); border:1px solid var(--line); padding:28px; box-shadow:0 8px 20px rgba(0,0,0,.03);}
.panel h3{margin:0 0 10px; font-size:15px; text-transform:uppercase; letter-spacing:.12em;}
.panel p,.panel li{color:#4c453e}
.panel ul{margin:0; padding-left:18px}
.panel.dark-card{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14);}
.dark{background:var(--black); color:var(--white);}
.dark .intro, .dark p, .dark li{color:rgba(255,255,255,.76)}
.dark .panel h3{color:var(--white)}
.pillars{display:grid; grid-template-columns:1.2fr .8fr; gap:26px; align-items:start;}
.statement{font-family:Georgia,"Times New Roman",serif; font-size:clamp(28px,3.2vw,46px); color:var(--olive); line-height:1.15; margin:0;}
.recognition{border-left:4px solid var(--copper); padding:18px 0 18px 18px; margin-top:16px; background:rgba(184,119,52,.05);}
.page-hero{padding:74px 22px 40px; border-bottom:1px solid var(--line);}
.page-hero-inner{max-width:var(--max); margin:auto;}
.breadcrumbs{font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); margin-bottom:14px}
.socials{display:flex; flex-wrap:wrap; gap:10px}
.social-btn{
  display:inline-flex; align-items:center; gap:8px; padding:11px 14px;
  border:1px solid var(--line); background:rgba(255,255,255,.8); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.08em;
}
.social-btn:hover{border-color:var(--copper); color:var(--copper)}
.placeholder-note{font-size:12px; color:var(--muted); margin-top:8px}
.contact{background:linear-gradient(rgba(15,15,16,.92), rgba(15,15,16,.92)), radial-gradient(circle at 20% 10%, rgba(184,119,52,.28), transparent 35%); color:var(--white);}
.contact-card{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14); padding:36px; display:grid; gap:18px;}
.contact-line{display:flex; flex-wrap:wrap; gap:10px; align-items:baseline; padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.12);}
.label{min-width:120px; color:var(--copper); text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:900;}
footer{background:#090909; color:rgba(255,255,255,.64); text-align:center; padding:30px 22px; font-size:13px; letter-spacing:.06em;}
.footer-brand{color:var(--copper); text-transform:uppercase; letter-spacing:.22em; font-weight:900; margin-bottom:8px;}
.footer-links{display:flex; justify-content:center; gap:18px; flex-wrap:wrap; margin-top:12px}
[data-lang]{display:none}
html.lang-en [data-lang="en"]{display:initial}
html.lang-el [data-lang="el"]{display:initial}
@media(max-width:960px){
  .hero-inner,.section-head,.grid-3,.grid-2,.pillars{grid-template-columns:1fr}
  .nav{align-items:flex-start; flex-direction:column}
  .nav-right{width:100%; justify-content:space-between}
}
@media(max-width:620px){
  .section{padding:66px 22px}
  .hero-inner{padding:72px 22px 58px}
  .hero-card,.panel,.contact-card{padding:24px}
  .links{gap:12px}
  .label{min-width:90px}
}


/* Concept 3 — Editorial Minimal refinements */
body {
  background:
    linear-gradient(180deg, rgba(255,255,255,.42), rgba(247,245,241,1) 360px),
    var(--ivory);
}
h1, h2, .page-title { letter-spacing: .075em; }
.hero-card {
  background: #ffffff;
  color: var(--black);
  border: 1px solid var(--line);
  box-shadow: 0 18px 50px rgba(0,0,0,.08);
}
.hero-card:before { border-color: rgba(184,115,51,.22); }
.card-text, .card-list { color: #5d564f; }
.card-list { border-top: 1px solid var(--line); }
.mark-text { color: var(--black); }
.panel { background: rgba(255,255,255,.82); }
.dark { background: #1c1c1c; }
.badge {
  background: rgba(110,122,90,.08);
  border-color: rgba(110,122,90,.22);
}
.statement { color: var(--olive); }
.footer-brand { color: var(--copper); }


/* v5 Concept 3 logo integration */
.brand {
  gap: 0;
}
.brand-label {
  display: none;
}
.site-logo {
  width: 250px;
  max-width: 100%;
  height: auto;
  display: block;
}
.hero-logo {
  width: 340px;
  max-width: 100%;
  height: auto;
  display: block;
}
.logo-wrap {
  display: block;
}
@media(max-width:960px){
  .site-logo { width: 220px; }
  .hero-logo { width: 300px; }
}
@media(max-width:620px){
  .site-logo { width: 190px; }
  .hero-logo { width: 260px; }
}


/* v7 Educational philosophy / author note */
.author-note {
  margin-top: 26px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.76));
  border-left: 4px solid var(--copper);
}

.author-note h3 {
  color: var(--copper);
}

.author-note p {
  font-size: 17px;
}

.dark .author-note {
  background: rgba(255,255,255,.06);
}


/* v8 Book recommendation / testimonial */
.testimonial-card {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  border-left: 4px solid var(--copper);
  padding: 34px;
  box-shadow: 0 18px 50px rgba(0,0,0,.08);
}

.testimonial-card p {
  font-size: 17px;
  color: rgba(255,255,255,.78);
}

.testimonial-quote {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 3vw, 38px) !important;
  line-height: 1.2;
  color: #ffffff !important;
  margin-top: 0;
}

.testimonial-author {
  margin-top: 22px;
  color: var(--copper);
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 900;
  font-size: 13px;
}


/* v9 Book cover showcase */
.book-showcase {
  padding-top: 58px;
}

.book-showcase-grid {
  display: grid;
  grid-template-columns: minmax(240px, 360px) 1fr;
  gap: 42px;
  align-items: center;
}

.book-cover-frame {
  background: #ffffff;
  padding: 14px;
  border: 1px solid var(--line);
  box-shadow: 0 24px 70px rgba(0,0,0,.16);
}

.book-cover-frame img {
  display: block;
  width: 100%;
  height: auto;
}

.book-showcase-copy h2 {
  margin-top: 12px;
}

.book-meta {
  display: grid;
  gap: 8px;
  margin: 22px 0 26px;
  padding: 18px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: #4c453e;
}

.book-meta strong {
  color: var(--black);
}

@media(max-width:960px){
  .book-showcase-grid {
    grid-template-columns: 1fr;
  }
  .book-cover-frame {
    max-width: 360px;
  }
}


/* v10 Official biography and book text */
.official-text {
  border-left: 4px solid var(--olive);
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78));
}

.official-text p {
  font-size: 17.5px;
  line-height: 1.8;
}

.dark .official-text {
  background: rgba(255,255,255,.06);
  border-left-color: var(--copper);
}

/* v11 final navigation structure */
.haccp-card {
  border-left: 4px solid var(--olive);
}

.haccp-card h3 {
  color: var(--olive);
}

.dark .haccp-card h3 {
  color: var(--copper);
}

.links a.active {
  color: var(--copper);
  font-weight: 900;
}


/* v13 clean hero: logo carries the name, visible repetition removed */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.hero-tagline {
  font-size: clamp(34px, 4.8vw, 64px);
  max-width: 760px;
  margin-top: 0;
}


/* v14 SAEK 2013-present addition */
.educator-credentials {
  margin-top: 26px;
}

.credential-highlight {
  border-left: 4px solid var(--copper);
  background:
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.82));
}

.credential-highlight h3 {
  color: var(--copper);
}


/* v16 Culinary Blog & Archive */
.archive-actions {
  margin-top: 22px;
}

#culinary-blog-archive .section-head,
#culinary-archive-books .grid-2 {
  align-items: center;
}

#culinary-blog-archive {
  background:
    linear-gradient(180deg, rgba(255,255,255,.44), rgba(247,245,241,1));
}


/* v18 fixed standalone Archive page */
.archive-page-hero {
  background:
    radial-gradient(circle at 78% 18%, rgba(184,115,51,.15), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.88), rgba(247,245,241,1));
}

.archive-photo-card {
  overflow: hidden;
  padding: 0;
}

.archive-photo-card h3,
.archive-photo-card p {
  padding-left: 24px;
  padding-right: 24px;
}

.archive-photo-card h3 {
  margin-top: 22px;
}

.archive-photo-card p {
  padding-bottom: 24px;
}

.archive-visual {
  height: 210px;
  border-bottom: 1px solid var(--line);
  background-size: cover;
  background-position: center;
}

.archive-visual-1 {
  background:
    radial-gradient(circle at 30% 30%, rgba(184,115,51,.50), transparent 25%),
    linear-gradient(135deg, #1c1c1c, #6e7a5a);
}

.archive-visual-2 {
  background:
    radial-gradient(circle at 70% 25%, rgba(110,122,90,.62), transparent 28%),
    linear-gradient(135deg, #b87333, #f7f5f1);
}

.archive-visual-3 {
  background:
    radial-gradient(circle at 45% 55%, rgba(184,115,51,.35), transparent 32%),
    linear-gradient(135deg, #f7f5f1, #1c1c1c);
}


/* v19 Archive clean editorial cards — no blurry photos */
.archive-photo-card,
.archive-visual,
.archive-visual-1,
.archive-visual-2,
.archive-visual-3 {
  background-image: none !important;
}

.archive-editorial-card {
  min-height: 260px;
  border-left: 4px solid var(--copper);
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.82));
  position: relative;
  overflow: hidden;
}

.archive-editorial-card::after {
  content: "";
  position: absolute;
  right: -42px;
  top: -42px;
  width: 130px;
  height: 130px;
  border: 1px solid rgba(184,115,51,.22);
  border-radius: 50%;
}

.archive-icon {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 42px;
  line-height: 1;
  color: var(--copper);
  margin-bottom: 28px;
}

.archive-editorial-card h3 {
  margin-top: 0;
}


/* v22 fixed social links */
.footer-socials {
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  margin-top:14px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:900;
}

.footer-socials a,
.hero-socials a {
  color: var(--copper);
}

.footer-socials a:hover,
.hero-socials a:hover {
  color: var(--olive);
}

.hero-socials {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:18px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  font-weight:900;
}

.social-muted {
  opacity:.45;
  cursor:default;
}
