/* RaisedWell site: shared look for every page the builder renders, on raisedwell.eu and blog.raisedwell.eu. Colours,
   fonts, header, menus and footer are the live site's own (2026-09-28), with P.'s changes of 4 Oct 2026. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}

:root{
  --bg:#f5f0e8;
  --bg-header:#ede7d9;
  --text:#2e2a1a;
  --heading:#1e1a0e;
  --olive-dk:#676742;
  --olive-lt:#9a9660;
  --olive-well:#7a7a45;
  --gold:#c9a84c;
  --divider:#c0b99e;
  --pill-bg:#ddd7c4;
  --muted:#6B675F;

  /* Fonts. English: EB Garamond (text) and Cormorant Garamond (titles), as live. Greek pages (P., 4 Oct 2026: a cleaner
     Greek, close to the English, with plain μ, π and numbers): Libertinus Serif, scaled to EB Garamond's letter
     height (font-size-adjust 0.41), so both languages look the same size. "Raised Well" is always Cormorant. */
  --serif:'EB Garamond',serif;
  --display:'Cormorant Garamond','EB Garamond',serif;
  --brand-font:'Cormorant Garamond','EB Garamond',serif;
  --ui:'Inter',sans-serif;
  --fsa:none;

  /* The hero. "Raised Well" sits at the same place on every page (home, Compass, Text, Lighthouse), where it sat on
     the home page (4 Oct 2026, 01:04): the old home centred the title and its two-line tagline on the first screen.
     The same sum, written out, so that the words under it never move it (P., 4 Oct 2026). */
  --brand-size:clamp(72px,12vw,120px);
  --tag-size:clamp(15px,2vw,18px);
  --tag-lines:1; /* the old home tagline: one line, two on screens narrower than 431 px */
  --hero-top:max(60px, calc((100vh - 1.9 * var(--brand-size) - 1.65 * var(--tag-lines) * var(--tag-size)) / 2 - 44px));
}
html[lang="el"]{
  --serif:'Libertinus Serif','EB Garamond',serif;
  --display:'Libertinus Serif','EB Garamond',serif;
  --fsa:0.41;
}

html{scroll-behavior:smooth;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--serif);
  font-size-adjust:var(--fsa);
  font-size:16px;
  line-height:1.7;
  min-height:100vh;
}
body::before{
  content:'';
  position:fixed;
  top:0;left:0;
  width:100%;height:100%;
  background:url('/assets/logo.png') center center/contain no-repeat;
  opacity:0.08;
  pointer-events:none;
  z-index:0;
}
body.watermark-strong::before{opacity:0.15;}

/* ── HEADER: Compass, Text, Lighthouse on the left; Blog, Bio, About on the right; then EN | ΕΛ ── */
header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:100;
  background:rgba(237,231,217,0.97);
  backdrop-filter:blur(2px);
  border-bottom:1px solid var(--divider);
  padding:0 5vw;
  height:56px;
  display:flex;
  align-items:center;
}
.header-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;margin-right:28px;}
.header-logo img{height:32px;width:auto;object-fit:contain;}
.nav-left,.nav-right{display:flex;align-items:center;gap:24px;}
.nav-right{margin-left:auto;}
.nav-left a,.nav-right a{
  font-family:var(--ui);font-size-adjust:none;
  font-size:13px;
  font-weight:500;
  color:var(--olive-dk);
  text-decoration:none;
  letter-spacing:0.2px;
  white-space:nowrap;
}
.nav-left a:hover,.nav-right a:hover{text-decoration:underline;}
.nav-left a.active,.nav-right a.active{font-weight:700;}
.lang-toggle{
  display:flex;
  gap:4px;
  align-items:center;
  margin-left:16px;
  padding-left:16px;
  border-left:1px solid var(--divider);
  flex-shrink:0;
}
.lang-btn{
  font-family:var(--ui);font-size-adjust:none;
  font-size:12px;
  font-weight:500;
  color:var(--olive-dk);
  text-decoration:none;
  padding:6px 4px;
  opacity:0.5;
  letter-spacing:0.2px;
}
a.lang-btn:hover{opacity:0.85;}
.lang-btn.active{opacity:1;font-weight:700;}
.lang-btn.off{opacity:0.25;}
.lang-sep{font-family:var(--ui);font-size:11px;color:var(--divider);}

.burger{
  display:none;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  background:none;
  border:none;
  padding:10px 4px 10px 10px;
  margin-left:6px;
}
.burger span{display:block;width:22px;height:2px;background:var(--olive-dk);border-radius:1px;}
.mobile-nav{
  display:none;
  position:fixed;
  top:56px;left:0;right:0;
  background:rgba(237,231,217,0.98);
  border-bottom:1px solid var(--divider);
  z-index:99;
  padding:16px 5vw 20px;
  flex-direction:column;
  gap:16px;
}
.mobile-nav a{
  font-family:var(--ui);font-size-adjust:none;
  font-size:15px;
  font-weight:500;
  color:var(--olive-dk);
  text-decoration:none;
}
.mobile-nav.open{display:flex;}

/* ── MAIN ── */
main{position:relative;z-index:1;padding-top:56px;}

/* ── FOLD (the first screen of a page) ── */
.fold{
  min-height:calc(100vh - 56px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  padding:var(--hero-top) 5vw 48px;
}
.brand-mark{margin-bottom:24px;line-height:1;text-align:left;display:inline-block;}
.brand-raised{
  font-family:var(--brand-font);font-size-adjust:none;
  font-size:var(--brand-size);
  font-weight:700;
  color:var(--heading);
  display:block;
  letter-spacing:-1px;
  line-height:0.95;
}
.brand-well-row{
  display:flex;
  align-items:baseline;
  margin-left:clamp(28px,4vw,52px);
  gap:10px;
}
.brand-well{
  font-family:var(--brand-font);font-size-adjust:none;
  font-size:var(--brand-size);
  font-weight:700;
  font-style:italic;
  color:var(--olive-well);
  letter-spacing:-1px;
  line-height:0.95;
  position:relative;
}
/* The subtitle (Compass, Text, Lighthouse) hangs to the right of "Well", where it always was, but outside the flow:
   it never widens the title, so "Raised Well" stays put whichever page is open. */
.brand-service{
  position:absolute;
  left:100%;
  bottom:4px;
  margin-left:10px;
  white-space:nowrap;
  font-family:var(--brand-font);font-size-adjust:none;
  font-size:clamp(18px,2.5vw,26px);
  font-style:italic;
  font-weight:600;
  color:var(--olive-dk);
  letter-spacing:1px;
  line-height:1;
}
.tagline{
  font-family:var(--serif);
  font-style:italic;
  font-size:var(--tag-size);
  color:var(--text);
  max-width:600px;
  line-height:1.65;
  margin:0 auto 20px;
}
/* A tagline never leaves one word alone on a line: when it must break, it breaks into even lines (P., 4 Oct 2026).
   One sentence per paragraph puts each sentence on its own line. */
.tagline p{text-wrap:balance;}
/* The same care for the short texts in cards and boxes. */
.card-desc,.process-body,.plan-text p,.box-body p,.faq-a p,.how-text,.closing-prose,.about-prose p,.bio-short p{text-wrap:pretty;}
.card-desc{text-wrap:balance;}

/* /text/: three times the space under the tagline, twice the space before the Google Play button (P., 4 Oct 2026). */
.fold-text{max-width:640px;margin:0 auto;}
.fold-text .tagline{margin-bottom:60px;}
.fold-text .flow{margin-bottom:56px;}

/* Flow pills (Question → Pediatrician → Answer) */
.flow{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:28px;flex-wrap:wrap;}
.pill{
  font-family:var(--ui);font-size-adjust:none;
  font-size:11px;
  font-weight:600;
  color:var(--heading);
  background:var(--pill-bg);
  padding:5px 12px;
  border-radius:14px;
  white-space:nowrap;
  letter-spacing:0.2px;
}
.arrow{color:var(--olive-dk);font-size:14px;}

/* Store badges (Google's and Apple's official badges, used as they are) */
.stores{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;}
.store-badge{display:inline-block;line-height:0;border-radius:9px;}
.store-badge img{height:56px;width:auto;display:block;}
.store-badge:focus-visible{outline:2px solid var(--olive-dk);outline-offset:3px;}
.fold-note{
  font-family:var(--ui);font-size-adjust:none;
  font-size:12px;
  color:var(--text);
  opacity:0.75;
  margin-top:14px;
  letter-spacing:0.2px;
  text-wrap:balance;
}
.fold-note + .fold-note{margin-top:4px;}
.scroll-hint{
  font-family:var(--ui);font-size-adjust:none;
  font-size:11px;
  color:var(--text);
  opacity:0.45;
  margin-top:24px;
  letter-spacing:0.3px;
  text-decoration:none;
}

/* ── SECTIONS ── */
.section{
  position:relative;
  z-index:1;
  max-width:720px;
  margin:0 auto;
  padding:48px 5vw;
  border-top:1px solid var(--divider);
}
.section.wide{max-width:960px;}
.section-heading{
  font-family:var(--display);
  font-size:clamp(22px,3vw,28px);
  font-weight:600;
  color:var(--heading);
  margin-bottom:32px;
  letter-spacing:0.2px;
}
.section-intro{font-style:italic;font-size:16px;margin:-16px 0 28px;}
.section.wide .section-heading,.section.wide .section-intro{text-align:center;}
.section-text{font-size:17px;line-height:1.7;}
.section-text p + p{margin-top:12px;}
.section-text a{color:var(--olive-dk);text-decoration:underline;}

/* How it works */
.how-item{display:flex;gap:20px;align-items:flex-start;margin-bottom:28px;}
.how-item:last-child{margin-bottom:0;}
.how-icon{flex-shrink:0;width:36px;height:36px;object-fit:contain;display:block;}
.how-text{font-size:16px;color:var(--text);line-height:1.6;}
.how-text strong{color:var(--heading);font-weight:600;display:block;margin-bottom:2px;}

/* How it works, with the app picture beside the steps (below them on phones) */
.how-with-app{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:56px;align-items:center;max-width:820px;margin:0 auto;}
.app-shot{width:100%;height:auto;display:block;filter:drop-shadow(0 6px 18px rgba(30,26,14,0.14));}
.section.wide .how-with-app .section-heading{text-align:left;}

/* Plan cards */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.plan{
  background:var(--bg);
  border-radius:4px;
  padding:28px 20px 26px;
  box-shadow:inset 0 0 0 1px rgba(201,168,76,0.45),inset 0 0 0 5px var(--bg);
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
}
.plan-name{
  font-family:var(--display);
  font-size:20px;
  font-weight:600;
  color:var(--heading);
  line-height:1.2;
}
.plan-price{
  font-family:var(--display);
  font-size:40px;
  font-weight:700;
  color:var(--olive-well);
  line-height:1.1;
  margin-top:4px;
  font-variant-numeric:lining-nums;
  font-feature-settings:"lnum" 1;
  overflow-wrap:anywhere;
}
.plan-per{
  font-family:var(--ui);font-size-adjust:none;
  font-size:11px;
  font-weight:500;
  color:var(--olive-dk);
  letter-spacing:0.4px;
  text-transform:uppercase;
  min-height:1em;
}
.plan-text{font-style:italic;font-size:15px;line-height:1.55;margin-top:8px;}
.plan-text p + p{margin-top:6px;}
.plans-note{
  font-family:var(--ui);font-size-adjust:none;
  font-size:12px;
  line-height:1.6;
  color:var(--text);
  opacity:0.7;
  text-align:center;
  margin-top:20px;
}
.plans-note a{color:var(--olive-dk);}

/* FAQ */
.faq-item{border-top:1px solid var(--divider);}
.faq-item:last-child{border-bottom:1px solid var(--divider);}
.faq-q{
  width:100%;
  background:none;
  border:none;
  padding:14px 0;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  cursor:pointer;
  text-align:left;
  font-family:var(--serif);
  font-size-adjust:var(--fsa);
  font-size:16px;
  font-weight:500;
  color:var(--heading);
  line-height:1.4;
}
.faq-icon{flex-shrink:0;width:16px;height:16px;margin-top:3px;position:relative;color:var(--olive-dk);}
.faq-icon::before,.faq-icon::after{
  content:'';
  position:absolute;
  background:currentColor;
  border-radius:1px;
  transition:transform 0.25s,opacity 0.25s;
}
.faq-icon::before{width:12px;height:1.5px;top:50%;left:50%;transform:translate(-50%,-50%);}
.faq-icon::after{width:1.5px;height:12px;top:50%;left:50%;transform:translate(-50%,-50%);}
.faq-item.open .faq-icon::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0;}
.faq-a{
  display:none;
  font-style:italic;
  font-size:15px;
  color:var(--text);
  line-height:1.65;
  padding:0 0 14px;
}
.faq-a p + p{margin-top:8px;}
.faq-a a{color:var(--olive-dk);text-decoration:underline;}
.faq-item.open .faq-a{display:block;}

/* Closing call to action */
.cta-block{
  position:relative;
  z-index:1;
  max-width:720px;
  margin:0 auto;
  padding:48px 5vw 56px;
  border-top:1px solid var(--divider);
  text-align:center;
}
.cta-line{
  font-family:var(--display);
  font-style:italic;
  font-size:22px;
  color:var(--olive-dk);
  line-height:1.4;
  margin-bottom:22px;
}
.safety-note{
  font-family:var(--ui);font-size-adjust:none;
  font-size:12px;
  line-height:1.6;
  color:var(--text);
  opacity:0.7;
  max-width:560px;
  margin:28px auto 0;
}
.safety-note a{color:var(--olive-dk);}

/* Service cards (home) */
.cards-section{padding:0 5vw 80px;position:relative;z-index:1;}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:960px;margin:0 auto;}
.service-card{
  background:var(--bg);
  border-radius:4px;
  padding:32px 24px;
  box-shadow:inset 0 0 0 1px rgba(201,168,76,0.45),inset 0 0 0 5px var(--bg);
  text-align:center;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  transition:box-shadow 0.2s;
}
.service-card:hover{box-shadow:inset 0 0 0 1.5px rgba(201,168,76,0.7),inset 0 0 0 5px var(--bg);}
.service-card img{width:40px;height:40px;object-fit:contain;}
.service-card .card-name{font-family:var(--display);font-size:17px;font-weight:600;color:var(--heading);line-height:1.2;}
.service-card .card-desc{font-style:italic;font-size:14px;color:var(--text);line-height:1.55;flex:1;}
.service-card .card-link{font-family:var(--ui);font-size-adjust:none;font-size:12px;font-weight:500;color:var(--olive-dk);margin-top:4px;}
.closing-line{
  text-align:center;
  font-style:italic;
  font-size:14px;
  color:var(--text);
  padding:0 5vw 80px;
  position:relative;
  z-index:1;
  text-wrap:balance;
}

/* Compass: process cards (from the live Compass page) */
.process-section{position:relative;z-index:1;padding:0 5vw 60px;}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:960px;margin:0 auto;}
.process-card{
  background:var(--bg);
  border-radius:4px;
  padding:28px 20px;
  box-shadow:inset 0 0 0 1px rgba(201,168,76,0.45),inset 0 0 0 5px var(--bg);
  text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:12px;
}
.process-card img{width:40px;height:40px;object-fit:contain;}
.process-title{font-family:var(--display);font-size:15px;font-weight:600;color:var(--heading);line-height:1.3;}
.process-body{font-style:italic;font-size:13px;color:var(--text);line-height:1.55;}
.page-closing{position:relative;z-index:1;text-align:center;padding:0 5vw 20px;max-width:720px;margin:0 auto;}
.page-closing-line{font-family:var(--display);font-style:italic;font-size:18px;color:var(--olive-dk);margin-bottom:24px;line-height:1.5;}
.cta-wrap{position:relative;z-index:1;text-align:center;padding:0 5vw 80px;max-width:720px;margin:0 auto;}
.cta-link{
  font-family:var(--display);
  font-style:italic;font-size:18px;
  color:var(--olive-dk);
  text-decoration:none;
  border-bottom:1px solid var(--gold);
  padding-bottom:2px;
}
.cta-link:hover{color:var(--heading);}
.intake-note{font-family:var(--ui);font-size-adjust:none;font-size:12px;color:var(--text);opacity:0.7;margin-top:14px;}

/* Lighthouse: service boxes (from the live Lighthouse page), with Kitt's map icons (P., 4 Oct 2026) */
.boxes-section{position:relative;z-index:1;padding:0 5vw 60px;}
.boxes-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:800px;margin:0 auto;}
.service-box{
  background:var(--bg);border-radius:4px;padding:36px 28px;
  box-shadow:inset 0 0 0 1px rgba(201,168,76,0.45),inset 0 0 0 5px var(--bg);
}
.box-symbol{font-size:22px;color:var(--gold);display:block;margin-bottom:12px;line-height:1;}
/* Both icons stand in a slot of the same height, so the two titles stay level. */
.box-icon-slot{height:56px;display:flex;align-items:flex-end;margin-bottom:12px;}
.box-icon{display:block;object-fit:contain;}
.box-icon-small{width:24px;height:24px;}
.box-icon-large{width:56px;height:56px;}
.box-title{font-family:var(--display);font-size:20px;font-weight:600;color:var(--heading);margin-bottom:12px;}
.box-body{font-style:italic;font-size:15px;color:var(--text);line-height:1.65;}
.box-body p + p{margin-top:8px;}

/* About (from the live About page) */
.about-header{text-align:center;padding:80px 5vw 60px;}
.about-header .brand-raised,.about-header .brand-well{font-size:clamp(80px,14vw,140px);}
.about-header .brand-well-row{margin-left:clamp(32px,5vw,64px);}
/* P.'s picture, centred under "Well" (P., 4 Oct 2026). An olive ring keeps it calm on the paper. */
.brand-well-col{display:flex;flex-direction:column;align-items:center;}
.about-face{
  display:block;
  width:clamp(120px,16vw,180px);height:auto;aspect-ratio:1;
  object-fit:cover;
  border-radius:50%;
  margin-top:clamp(18px,3vw,28px);
  box-shadow:0 0 0 2px #676742;
}
.content-section{
  max-width:900px;margin:0 auto;
  padding:48px 5vw;
  border-top:1px solid var(--divider);
  display:grid;
  grid-template-columns:200px 1fr;
  gap:48px;
  align-items:start;
  position:relative;z-index:1;
}
.content-section.flip{direction:rtl;}
.content-section.flip > *{direction:ltr;}
.service-mark{text-align:center;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:8px;}
.service-mark .sm-raised{font-family:var(--brand-font);font-size-adjust:none;font-size:22px;font-weight:700;color:var(--heading);display:block;line-height:1;letter-spacing:-0.5px;}
.service-mark .sm-well-row{display:flex;align-items:baseline;margin-left:10px;gap:5px;}
.service-mark .sm-well{font-family:var(--brand-font);font-size-adjust:none;font-size:22px;font-weight:700;font-style:italic;color:var(--olive-well);letter-spacing:-0.5px;line-height:1;}
.service-mark .sm-service{font-family:var(--brand-font);font-size-adjust:none;font-size:12px;font-style:italic;font-weight:600;color:var(--olive-dk);letter-spacing:0.5px;align-self:flex-end;margin-bottom:1px;}
.service-mark img{width:32px;height:32px;object-fit:contain;margin-top:4px;}
.about-prose p{font-style:italic;font-size:16px;color:var(--text);line-height:1.8;margin-bottom:1.2em;}
.about-prose p:last-child{margin-bottom:0;}
.closing-wrap{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:48px 5vw 32px;border-top:1px solid var(--divider);text-align:center;}
.closing-prose{font-style:italic;font-size:16px;color:var(--text);line-height:1.8;margin-bottom:1.2em;}
.signature{font-family:var(--display);font-style:italic;font-size:18px;color:var(--olive-dk);line-height:1.6;}

/* Bio (P., 4 Oct 2026): the short version, then "Read more" and "Publications", each opening in place */
.bio{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:72px 5vw 72px;}
.bio-heading{font-family:var(--display);font-size:clamp(32px,5vw,46px);font-weight:700;color:var(--heading);line-height:1.1;text-align:center;margin-bottom:28px;text-wrap:balance;}
.bio-short p{font-size:19px;line-height:1.7;margin-bottom:16px;}
.bio-short{margin-bottom:28px;}
.reveal{border-top:1px solid var(--divider);}
.reveal:last-child{border-bottom:1px solid var(--divider);}
.reveal summary{
  list-style:none;cursor:pointer;
  padding:16px 0;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-family:var(--ui);font-size-adjust:none;font-size:13px;font-weight:600;letter-spacing:0.4px;
  color:var(--olive-dk);
}
.reveal summary::-webkit-details-marker{display:none;}
.reveal summary::after{content:'+';font-size:18px;font-weight:400;line-height:1;}
.reveal[open] summary::after{content:'−';}
.reveal summary:hover .reveal-label{text-decoration:underline;}
.reveal summary:focus-visible{outline:2px solid var(--olive-dk);outline-offset:3px;}
.reveal-body{padding:4px 0 28px;font-size:16px;line-height:1.6;}
.reveal-body p{margin-bottom:12px;}
.reveal-body ul,.reveal-body ol{margin:0 0 18px 22px;}
.reveal-body li{margin-bottom:6px;}
.reveal-body strong{color:var(--heading);font-weight:600;}
.bio-pubs li{font-size:15px;line-height:1.5;overflow-wrap:anywhere;}

/* Contact (P., 4 Oct 2026): a Netlify form, linked to the site's own terms */
.contact{position:relative;z-index:1;max-width:560px;margin:0 auto;padding:72px 5vw 72px;}
.contact-heading{font-family:var(--display);font-size:clamp(32px,5vw,46px);font-weight:700;color:var(--heading);line-height:1.1;text-align:center;margin-bottom:14px;}
.contact-intro{font-style:italic;font-size:17px;line-height:1.6;text-align:center;margin-bottom:28px;text-wrap:balance;}
.contact-form{display:flex;flex-direction:column;gap:8px;}
.field-label{font-family:var(--ui);font-size-adjust:none;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-top:12px;}
.field{
  background:transparent;border:none;border-bottom:1px solid var(--divider);
  padding:8px 0;font-family:var(--serif);font-size:17px;color:var(--heading);outline:none;width:100%;border-radius:0;
}
textarea.field{border:1px solid var(--divider);border-radius:3px;padding:10px 12px;resize:vertical;line-height:1.5;}
.field:focus{border-color:var(--olive-dk);}
.contact .consent{margin-top:14px;}
.contact .btn-primary{margin-top:14px;}
.contact-note{font-family:var(--ui);font-size-adjust:none;font-size:12px;line-height:1.6;opacity:0.7;margin-top:28px;text-align:center;}
.trap{display:none;}

/* Page not found (both languages on one page) */
.notfound h1{font-family:var(--display);font-size:clamp(32px,5vw,44px);font-weight:700;color:var(--heading);margin-bottom:12px;line-height:1.15;text-wrap:balance;}
.notfound p{font-style:italic;font-size:17px;margin-bottom:24px;}
.nf-part + .nf-part{margin-top:28px;padding-top:24px;border-top:1px solid var(--divider);}
.nf-part[lang="el"]{font-family:'Libertinus Serif','EB Garamond',serif;}
.nf-part[lang="el"] h1,.nf-part[lang="el"] .cta-link{font-family:'Libertinus Serif','EB Garamond',serif;}

/* Guide page (hidden until P. switches it on) */
.guide{max-width:880px;margin:0 auto;padding:56px 5vw 72px;display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:start;position:relative;z-index:1;}
.guide-cover img{width:100%;height:auto;border-radius:4px;box-shadow:0 2px 14px rgba(30,26,14,0.12);}
.guide h1{font-family:var(--display);font-size:clamp(32px,5vw,46px);font-weight:700;color:var(--heading);line-height:1.1;margin-bottom:14px;}
.guide-intro{font-style:italic;font-size:17px;line-height:1.65;margin-bottom:18px;}
.guide-points{margin:0 0 26px 20px;font-size:16px;}
.guide-points li{margin-bottom:6px;}
.guide form{display:flex;flex-direction:column;gap:18px;}
.guide input[type="email"]{background:transparent;border:none;border-bottom:1px solid var(--divider);padding:8px 0;font-family:var(--serif);font-size:17px;color:var(--heading);outline:none;width:100%;}
.guide input[type="email"]:focus{border-bottom-color:var(--olive-dk);}
.consent{display:flex;gap:10px;align-items:flex-start;font-style:italic;font-size:14px;line-height:1.6;cursor:pointer;}
.consent input{margin-top:4px;flex-shrink:0;width:14px;height:14px;accent-color:var(--olive-dk);}
.consent a{color:var(--olive-dk);}
.btn-primary{
  align-self:flex-start;
  font-family:var(--ui);font-size-adjust:none;font-size:13px;font-weight:600;letter-spacing:0.4px;
  color:var(--bg);background:var(--olive-dk);border:none;border-radius:3px;padding:14px 28px;cursor:pointer;
  box-shadow:inset 0 0 0 1.5px var(--gold),inset 0 0 0 4px var(--olive-dk);
}
.btn-primary:hover{background:#575730;}
.btn-primary:disabled{opacity:0.6;cursor:default;}
.guide-thanks{display:none;}
.guide-thanks h2{font-family:var(--display);font-size:32px;font-weight:700;color:var(--heading);margin-bottom:10px;}
.guide-thanks p{font-style:italic;font-size:16px;margin-bottom:14px;}
.guide-thanks a{color:var(--olive-dk);font-family:var(--ui);font-size-adjust:none;font-size:14px;font-weight:500;}
.guide.sent form{display:none;}
.guide.sent .guide-thanks{display:block;}

/* ── FOOTER ── */
footer{
  position:relative;
  z-index:1;
  border-top:1px solid var(--divider);
  padding:24px 5vw 40px;
  text-align:center;
}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-bottom:8px;}
.footer-links a{font-family:var(--ui);font-size-adjust:none;font-size:12px;color:var(--olive-dk);text-decoration:none;}
.footer-links a:hover{text-decoration:underline;}
.footer-copy{font-family:var(--ui);font-size-adjust:none;font-size:11px;color:var(--text);opacity:0.6;}
.footer-legal{font-family:var(--ui);font-size-adjust:none;font-size:10px;color:var(--text);opacity:0.45;margin-top:6px;}

/* ── BUILD MARKS (previews and unfinished pages only) ── */
.draft-ribbon,.notready-band{
  position:fixed;
  left:0;right:0;
  z-index:200;
  color:#fff;
  font-family:var(--ui);font-size-adjust:none;
  font-size:12px;
  font-weight:600;
  letter-spacing:0.6px;
  text-align:center;
  padding:6px 12px;
}
.draft-ribbon{bottom:0;background:#8a3b2a;}
.notready-band{bottom:0;background:#B23B3B;}
.draft-ribbon + .notready-band{bottom:29px;}
mark.missing{
  background:#fbe3e3;
  color:#B23B3B;
  font-family:var(--ui);font-size-adjust:none;
  font-style:normal;
  font-size:0.8em;
  font-weight:600;
  padding:1px 5px;
  border-radius:3px;
  border:1px dashed #B23B3B;
}

/* ── RESPONSIVE ── */
@media(max-width:800px){
  .process-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:760px){
  .how-with-app{grid-template-columns:1fr;gap:32px;}
  .app-shot{max-width:240px;margin:0 auto;}
  .plans{grid-template-columns:1fr;max-width:400px;margin:0 auto;}
  .guide{grid-template-columns:1fr;gap:28px;}
  .guide-cover{max-width:280px;}
}
/* Phones: the menu folds into the three-line button; EN | ΕΛ stays on the page, next to it. */
@media(max-width:700px){
  :root{--hero-top:max(48px, calc((100vh - 1.9 * var(--brand-size) - 1.65 * var(--tag-lines) * var(--tag-size)) / 2 - 46px));}
  .nav-left,.nav-right{display:none;}
  .lang-toggle{margin-left:auto;padding-left:0;border-left:none;}
  .burger{display:flex;}
  .fold{padding-bottom:40px;}
  .cards-grid{grid-template-columns:1fr;}
  .content-section{grid-template-columns:1fr;gap:24px;}
  .content-section.flip{direction:ltr;}
  .service-mark{flex-direction:row;justify-content:flex-start;align-items:center;}
  .bio,.contact{padding-top:48px;}
}
@media(max-width:600px){
  .boxes-grid{grid-template-columns:1fr;}
}
@media(max-width:430px){
  :root{--tag-lines:2;}
}
@media(max-width:500px){
  .process-grid{grid-template-columns:1fr;}
}
@media print{
  header,.mobile-nav,footer,.draft-ribbon,.notready-band{display:none;}
  body::before{display:none;}
  main{padding-top:0;}
  .reveal-body{display:block;}
}
