@font-face { font-family:'MS Serif'; font-style:normal; font-weight:400; font-display:swap; src:url('assets/fonts/source-serif-4.ttf') format('truetype'); }
@font-face { font-family:'MS Mono'; font-style:normal; font-weight:400; font-display:swap; src:url('assets/fonts/noto-sans-mono.ttf') format('truetype'); }
@font-face { font-family:'MS Inter'; font-style:normal; font-weight:100 900; font-display:swap; src:url('assets/fonts/inter-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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'MS Inter'; font-style:normal; font-weight:100 900; font-display:swap; src:url('assets/fonts/inter-greek.woff2') format('woff2'); unicode-range:U+0370-03FF; }
:root { --bg:#fffefb; --paper:#f5f1e9; --cream:#f5f1e9; --sand:#eee7dc; --card:#fffaf2; --ink:#322318; --ink-soft:#322318; --muted:#745a44; --green:#174c3f; --green-deep:#103b31; --on-dark:#f7f0e7; --on-dark-muted:#e7dcd2; --accent-on-dark:#d9c7a3; --brown:var(--green); --brown-light:var(--green); --bronze:var(--green); --serif:'MS Serif',Georgia,serif; --sans:'MS Inter',Arial,sans-serif; --mono:'MS Mono',monospace; --shell:min(1280px,calc(100% - 80px)); --radius-sm:8px; --radius-md:20px; --radius-pill:999px; --space-section:clamp(56px,7vw,96px); --heading-section:clamp(2rem,3.3vw,3.3rem); }
/* Keep the page canvas and header consistent when following the main navigation. */
body { background:var(--sand); }
.site-header { top:24px; width:var(--shell); border-radius:var(--radius-pill); background:var(--paper); }
.header-row { min-height:76px; width:calc(100% - 40px); gap:20px; }
.brand { flex-shrink:0; gap:12px; }
.brand-copy strong { font-size:1.4rem; }
.brand-copy small { font-size:12px; letter-spacing:.015em; white-space:nowrap; }
.desktop-nav { gap:clamp(12px,1.2vw,20px); }
.desktop-nav a { font-size:13px; white-space:nowrap; }
.header-actions { gap:12px; }
.site-language { display:inline-flex; flex:none; gap:0; height:44px; padding:3px; border:1px solid var(--green); border-radius:var(--radius-pill); font:12px/1 var(--sans); }
.site-language button,.site-language button[aria-pressed=true] { width:44px; height:36px; min-height:36px; padding:0; border:0; border-radius:var(--radius-pill); }
.site-language button[aria-pressed=false] { color:var(--green); }
.site-language button:focus-visible { outline-offset:0; }
.header-contact,.button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:12px 24px; border:1px solid transparent; border-radius:var(--radius-pill); font:500 14px/1.5 var(--sans); letter-spacing:0; text-decoration:none; }
.header-contact { min-height:44px; padding:10px 17px; font-size:13px; }
.button-dark,.button-gold,.header-contact { background:var(--green); color:var(--on-dark); border-color:var(--green); }
.button-light { background:var(--card); color:var(--green-deep); }
.button-outline { background:transparent; color:var(--green); border-color:var(--green); }
.button:hover,.header-contact:hover { transform:none; background:var(--green-deep); color:var(--on-dark); border-color:var(--green-deep); }
.text-link,.index-heading>a,.scenario-card>a,.contact-panel-details { display:inline-flex; gap:12px; align-items:center; min-height:44px; padding-block:10px; margin-top:0; color:var(--green); font:500 14px/1.6 var(--sans); letter-spacing:0; text-decoration:underline; text-underline-offset:5px; }
.button .link-arrow,.text-link .link-arrow,.index-heading .link-arrow { flex:none; margin:0; }
.eyebrow { color:var(--muted); font:400 12px/1.65 var(--mono); letter-spacing:.1em; }
.hero .eyebrow::after { display:none; }
.hero { background:var(--sand); }
.hero-content { width:var(--shell); grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); padding:168px 0 48px; gap:clamp(32px,5vw,72px); }
.hero-copy { padding:0; }
.hero h1 { max-width:600px; font-size:clamp(3.4rem,5.3vw,5.7rem); line-height:1.06; letter-spacing:-.055em; }
.hero-lede { max-width:490px; margin-top:24px; color:var(--muted); font:16px/1.8 var(--sans); }
.hero-actions { margin-top:28px; gap:12px; }
.hero .button { min-width:0; padding:12px 22px; }
.hero .button-outline { color:var(--green); background:transparent; }
.hero-foot { width:var(--shell); padding:22px 0; color:var(--muted); font:12px/1.7 var(--mono); }
.succession-visual { width:100%; }
.family-tree svg { overflow:hidden; }
.human-figure circle,.human-figure path { fill:#6c8170; }
.family-person.is-active .human-figure circle,.family-person.is-active .human-figure path { fill:var(--green); }
.family-connections path { stroke:#849889; }
.family-trace,.family-arrow { stroke:var(--green); }
.tree-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin:8px 0 0; color:var(--muted); font:12px/1.6 var(--sans); }
.tree-controls button { min-height:44px; padding:10px 0; color:var(--green); border-color:var(--green); }
.section,.journey-preview,.publication-band,.process-explorer { padding-block:var(--space-section); }
h2,.home-pathways h2,.page-cta h2,.journey-preview h2,.publication-band h2 { font-size:var(--heading-section); line-height:1.12; }
.reading-row h2,.prose h2 { font-size:clamp(1.5rem,2.1vw,2rem); line-height:1.25; }
.home-pathways { background:var(--bg); }
.home-pathway-grid { gap:16px; margin-top:32px; }
.home-pathway-grid>a { gap:16px; min-height:104px; padding:22px; border-radius:var(--radius-md); background:var(--card); box-shadow:none; }
.pathway-icon { width:32px; height:32px; }
.pathway-icon svg { width:28px; height:28px; stroke-width:1.5; }
.home-pathway-grid strong { font-size:1.2rem; }
.olive-decoration { right:0; bottom:0; width:min(520px,42%); max-width:100%; opacity:.1; transform:none; }
.journey-preview-grid { gap:clamp(32px,6vw,90px); grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.journey-preview,.process-explorer,.contact { background:var(--green); color:var(--on-dark); }
.journey-preview .eyebrow,.journey-preview ol span,.process-explorer .eyebrow,.timeline-panel>span,.timeline-panel small,.timeline-rail button span { color:var(--accent-on-dark); }
.journey-preview p,.journey-preview ol small,.process-explorer-head>p,.timeline-panel p,.timeline-rail button { color:var(--on-dark-muted); }
.journey-preview .button,.process-explorer .button { background:var(--card); color:var(--green-deep); border-color:var(--card); }
.timeline-rail button[aria-selected=true] { background:var(--card); color:var(--green-deep); }
.timeline-rail button[aria-selected=true] span { color:var(--green); }
.timeline-panel strong { color:var(--on-dark); }
.service-groups { gap:36px; }
.home-services .reading-row { grid-template-columns:minmax(0,1fr) 44px; padding-block:24px; }
.home-services .reading-row h2 { margin-bottom:10px; }
.home-services .reading-row p { max-width:850px; }
.reading-row:hover { background:var(--sand); }
.coastal-story { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:clamp(32px,6vw,90px); align-items:center; padding-block:var(--space-section); }
.coastal-story figure { margin:0; border-radius:var(--radius-md); overflow:hidden; }
.coastal-story img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.coastal-story p:not(.eyebrow) { margin:24px 0; color:var(--muted); }
.journal-preview { border-top:1px solid var(--line); }
.watch-preview { padding-block:56px; gap:40px; }
.publication-band { margin-bottom:0; }
.page-cta { padding-block:var(--space-section); border-top:0; }
.site-footer { background:var(--green-deep); color:var(--on-dark); }
.footer-grid h2 { color:var(--accent-on-dark); font-size:12px; }
.footer-grid p,.footer-grid a,.footer-bottom,.footer-brand-wrap .brand-copy small { color:var(--on-dark-muted); }
.footer-brand-wrap p a { display:inline-flex; align-items:center; min-height:44px; }
.footer-grid>div:not(:first-child) { display:flex; flex-direction:column; align-items:flex-start; }
.footer-bottom { font-size:12px; }
.contact-widget { position:relative; bottom:auto; right:auto; left:auto; display:flex; justify-content:flex-end; align-items:flex-end; min-height:72px; margin-top:0; padding:8px max(16px,env(safe-area-inset-right)); background:var(--green-deep); pointer-events:none; }
.contact-launcher,.contact-panel { pointer-events:auto; }
.contact-launcher { width:auto; height:48px; min-width:48px; padding:12px 16px; border:1px solid var(--accent-on-dark); border-radius:var(--radius-pill); outline:0; box-shadow:none; gap:10px; display:flex; }
.contact-launcher::after { content:'Contact'; font:500 14px var(--sans); }
html[lang=el] .contact-launcher::after { content:'Επικοινωνία'; }
.contact-launcher svg { width:24px; height:24px; }
.contact-panel { position:absolute; right:16px; bottom:64px; margin:0; border-radius:var(--radius-md); background:var(--card); }
.contact-panel-heading button { width:44px; height:44px; }
.contact-panel p,.contact-panel-link,.contact-panel-details { color:var(--ink); }
.contact-panel .contact-panel-note { color:var(--muted); font-size:12px; }
.journey-language { font-size:12px; }
.journey-language button { min-width:44px; min-height:44px; border-radius:var(--radius-pill); }
.journey-form,.journey-result,.contact-panel { border-radius:var(--radius-md); }
.roadmap-grid span,.timeline-panel small,.timeline-panel>span,.timeline-rail button span,.watch-item time,.scenario-card>span { font-size:12px; }
.journey-privacy>span { border-color:var(--green); color:var(--green); }
.journey-hero h1 { font-size:clamp(3.25rem,6vw,6rem); line-height:1.03; }
.reading-category,.library-count,.small-note,.case-citation,.source-list,.form-disclaimer { font-size:max(12px,.8rem); }
.office-contacts a { display:inline-flex; align-items:center; min-height:44px; }
.page-heading { padding-block:72px 48px; }
.inner-page .site-header { margin-top:24px; }
@media(max-width:1250px) { .desktop-nav { display:none; } .menu-button { display:block; } .header-actions>.site-language { display:flex; } .mobile-menu { left:0; right:0; top:84px; border-radius:var(--radius-md); } .header-row { gap:12px; } }
@media(max-width:900px) { .hero-content { grid-template-columns:1fr; padding-top:150px; } .hero-copy { max-width:680px; } .succession-visual { max-width:620px; justify-self:center; } .home-pathway-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .watch-preview { grid-template-columns:1fr; gap:24px; } }
@media(max-width:760px) { :root { --shell:calc(100% - 40px); } .site-header { top:16px; width:calc(100% - 24px); } .header-row { width:calc(100% - 28px); min-height:68px; gap:8px; } .brand { gap:8px; } .brand-eagle { width:34px; height:28px; } .brand-copy strong { font-size:20px; } .brand-copy small { font-size:10px; letter-spacing:0; } .header-actions { gap:6px; } .header-actions>.site-language { display:none; } .menu-button { width:44px; min-width:44px; } .mobile-menu { top:76px; max-height:calc(100dvh - 110px); } .mobile-menu nav>a:not(.button) { font-size:1.25rem; } .mobile-language { padding-block:14px; } .hero-content { padding:128px 0 30px; gap:24px; } .hero h1 { font-size:clamp(3rem,10.6vw,4.4rem); line-height:1.04; } .hero-actions { flex-direction:column; align-items:stretch; } .hero-foot { align-items:flex-start; gap:16px; font:12px/1.7 var(--sans); } .hero-foot span { flex:1; } .tree-controls { align-items:center; font-size:12px; } .tree-controls>span { max-width:180px; text-align:right; } .home-pathway-grid { grid-template-columns:1fr; gap:12px; } .home-pathway-grid>a { min-height:88px; } .olive-decoration { width:85%; max-width:100%; right:0; bottom:0; opacity:.1; } .journey-preview-grid,.coastal-story { grid-template-columns:1fr; } .journey-preview li { padding-block:20px; } .journey-preview h2 br { display:none; } .coastal-story { gap:28px; } .index-heading { margin-bottom:24px; gap:12px; } .service-groups { gap:28px; } .reading-row { padding-block:24px; } .watch-preview { padding-block:48px; } .page-cta { gap:24px; } .footer-grid { padding-bottom:32px; } .footer-bottom { padding-bottom:24px; } .contact-widget { min-height:68px; padding-block:10px; } .contact-launcher { width:auto; height:48px; margin-left:auto; } .contact-panel { width:calc(100vw - 32px); max-height:calc(100dvh - 100px); } .inner-page .site-header { margin-top:16px; } .journey-page .site-header { top:16px; } .journey-hero { padding-top:138px; gap:32px; } }
@media(max-width:359px) { .brand-copy small { display:none; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
@media print { .contact-widget { display:none!important; } }
@media(max-width:760px) { .header-contact { display:none; } .header-actions>.site-language { display:flex; } .brand-copy small { display:none; } .brand-copy strong { font-size:19px; } .brand-eagle { width:28px; } .brand { gap:6px; } .header-row,.header-actions { gap:4px; } .mobile-language { display:none; } }
@media(max-width:380px) { .brand-copy strong { font-size:18px; } .header-row { width:calc(100% - 24px); } }
.site-language { height:46px; padding:0; }
.site-language button,.site-language button[aria-pressed=true] { width:44px; height:44px; min-height:44px; }
.contact-page h3 { margin:28px 0 12px; }
/* This absolute header already has a top offset; do not add the inner-page margin. */
.journey-page .site-header { margin-top:0; }
