/* Local assets only: no CDN or hosted fonts. */
body {line-height:1.5} h1,h2,h3,p,figure {margin:0} button,input {font:inherit} button {cursor:pointer} img,svg {vertical-align:middle} img {max-width:100%;height:auto} table {border-collapse:collapse} svg {flex-shrink:0}

:root { --ink:#22272b; --paper:#f2f3f1; --cream:#ffffff; --clay:#f47b20; --olive:#79ad32; --sand:#d9ddd7; --line:rgba(34,39,43,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { position:absolute; z-index:10; top:0; left:0; right:0; min-height:104px; display:flex; align-items:center; justify-content:space-between; padding:12px clamp(24px,5vw,76px); background:rgba(255,255,255,.96); color:var(--ink); border-bottom:1px solid rgba(34,39,43,.1); }
.brand { display:flex; gap:11px; align-items:center; }
.brand img { width:112px; height:78px; object-fit:contain; display:block; }
nav { display:flex; gap:30px; font-size:12px; letter-spacing:.07em; }
nav a { padding-bottom:4px; border-bottom:1px solid transparent; }
nav a:hover { border-color:currentColor; }
.hero { min-height:760px; padding-top:104px; display:grid; grid-template-columns:1.02fr .98fr; background:var(--ink); color:var(--cream); overflow:hidden; }
.hero-copy { padding:165px clamp(30px,7vw,110px) 84px; display:flex; flex-direction:column; justify-content:center; }
.eyebrow { margin:0 0 25px; font-size:10px; font-weight:700; letter-spacing:.24em; }
h1,h2,h3 { font-family:Georgia,'Times New Roman',serif; font-weight:400; }
h1 { margin:0; font-size:clamp(58px,6.4vw,101px); line-height:.91; letter-spacing:-.045em; }
h1 em { color:#a8cf70; font-weight:400; }
.lead { max-width:570px; margin:36px 0 28px; font-family:Georgia,serif; font-size:18px; line-height:1.7; color:rgba(250,247,240,.8); }
.text-link { width:fit-content; display:flex; gap:10px; align-items:center; padding:11px 0; border-bottom:1px solid rgba(250,247,240,.55); font-size:12px; letter-spacing:.08em; }
.hero-art { position:relative; min-height:650px; background:#9eb972; overflow:hidden; }
.sun { position:absolute; width:280px; height:280px; background:var(--clay); border-radius:50%; top:17%; right:-55px; opacity:.88; }
.arch { position:absolute; bottom:0; background:#e7dfcf; }
.arch-main { left:8%; width:60%; height:74%; border-radius:48% 48% 0 0/29% 29% 0 0; box-shadow:22px -10px 0 rgba(93,73,56,.16); }
.arch-side { right:-5%; width:37%; height:49%; background:#343a3e; border-radius:55% 0 0 0; }
.door { position:absolute; bottom:0; left:19%; width:34%; height:55%; border-radius:80px 80px 0 0; background:#433b30; box-shadow:inset 10px 0 0 rgba(255,255,255,.08); }
.window { position:absolute; top:35%; right:13%; width:21%; height:24%; background:#394146; border:9px solid #c9d1c2; }
.plant { position:absolute; bottom:-10px; z-index:2; width:135px; height:225px; border-radius:50% 7% 45% 12%; background:#527d2a; transform:rotate(-10deg); }
.plant-one { right:14%; }
.plant-two { left:-55px; bottom:30px; transform:rotate(24deg) scale(.74); }
.art-note { position:absolute; z-index:3; right:28px; bottom:26px; font-size:9px; letter-spacing:.22em; writing-mode:vertical-rl; }
.band { padding:110px clamp(24px,7vw,105px); }
.intro { display:grid; grid-template-columns:1.2fr .8fr; gap:12%; align-items:end; background:var(--paper); }
.intro h2 { margin:0; font-size:clamp(39px,4vw,62px); line-height:1.08; letter-spacing:-.025em; }
.intro>p { margin:0 0 5px; font:17px/1.75 Georgia,serif; color:#5f635c; }
.stay-list { padding:0 clamp(24px,5.5vw,86px) 110px; background:var(--paper); display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,2.6vw,42px); }
.stay-image { aspect-ratio:16/10; position:relative; overflow:hidden; margin:0 0 22px; background:#cfd5cc; }
.stay-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.stay-card:hover .stay-image img { transform:scale(1.025); }
.stay-image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(16,20,16,.22),transparent 36%,rgba(16,20,16,.28)); pointer-events:none; }
.stay-image figcaption { position:absolute; z-index:2; right:14px; bottom:12px; color:rgba(255,255,255,.82); font-size:8px; letter-spacing:.09em; text-transform:uppercase; }
.placeholder.clay { background:#a9573d; }
.placeholder.olive { background:#65715a; }
.placeholder.sand { background:#c0a579; }
.stay-image>span { position:absolute; left:20px; top:18px; z-index:2; color:rgba(255,255,255,.8); font:14px Georgia,serif; letter-spacing:.1em; }
.mini-arch { position:absolute; width:66%; height:82%; right:-4%; bottom:-13%; background:rgba(245,237,219,.62); border-radius:50% 50% 0 0/32% 32% 0 0; }
.stay-meta { display:flex; flex-wrap:wrap; gap:16px; color:#72766e; font-size:10px; text-transform:uppercase; letter-spacing:.09em; }
.stay-meta span { display:flex; align-items:center; gap:5px; }
.stay-card h3 { font-size:29px; line-height:1.08; margin:14px 0 12px; }
.stay-card p { color:#62665f; line-height:1.65; font-size:14px; margin:0 0 18px; }
.stay-gallery { display:grid; grid-template-columns:repeat(5,1fr); gap:6px; margin:0 0 18px; }
.stay-gallery img { width:100%; aspect-ratio:1; object-fit:cover; display:block; background:#d9ddd7; }
.stay-card>a { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; border-bottom:1px solid var(--line); padding-bottom:6px; }
.equipment { background:#30363a; color:var(--cream); }
.equipment-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:10%; align-items:end; margin-bottom:70px; }
.equipment-heading h2 { margin:0; font-size:clamp(42px,4.8vw,72px); line-height:1.03; letter-spacing:-.035em; }
.equipment-heading h2 em { color:#a8cf70; font-weight:400; }
.equipment-heading>p { margin:0 0 6px; color:rgba(255,255,255,.7); font:17px/1.75 Georgia,serif; }
.equipment-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.18); border-left:1px solid rgba(255,255,255,.18); }
.equipment-grid article { min-height:300px; padding:34px 32px; border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.025); transition:.25s ease; }
.equipment-grid article:hover { background:rgba(255,255,255,.07); transform:translateY(-2px); }
.equipment-top { display:flex; justify-content:space-between; align-items:flex-start; color:#a8cf70; }
.equipment-top svg { stroke-width:1.35; }
.equipment-top span { color:rgba(255,255,255,.5); font:12px Georgia,serif; letter-spacing:.1em; }
.equipment-grid h3 { margin:68px 0 15px; font-size:27px; line-height:1.12; }
.equipment-grid p { margin:0; color:rgba(255,255,255,.68); font-size:13px; line-height:1.7; }
.equipment-note { margin:24px 0 0; color:rgba(255,255,255,.52); font-size:10px; line-height:1.6; letter-spacing:.04em; }
.environment { display:grid; grid-template-columns:.85fr 1.15fr; gap:9%; background:#dfe8d5; }
.environment-heading { align-self:center; }
.environment-heading h2 { margin:0 0 28px; font-size:clamp(42px,4.8vw,72px); line-height:1.03; letter-spacing:-.035em; }
.environment-heading h2 em { color:#5d8e24; font-weight:400; }
.environment-heading>p:last-child { max-width:590px; margin:0; color:#596054; font:17px/1.75 Georgia,serif; }
.environment-actions { display:grid; grid-template-columns:1fr; border-top:1px solid rgba(34,39,43,.18); }
.environment-actions article { position:relative; min-height:190px; padding:32px 58px 32px 72px; border-bottom:1px solid rgba(34,39,43,.18); }
.environment-actions svg { position:absolute; left:18px; top:34px; width:28px; height:28px; color:#5d8e24; stroke-width:1.3; }
.environment-actions span { position:absolute; right:3px; top:35px; color:#747d6f; font:12px Georgia,serif; letter-spacing:.1em; }
.environment-actions h3 { margin:0 0 12px; font-size:27px; }
.environment-actions p { max-width:560px; margin:0; color:#5e6559; font-size:14px; line-height:1.7; }
.quote-strip { min-height:128px; padding:30px 7vw; display:flex; align-items:center; justify-content:center; gap:18px; background:var(--clay); color:var(--cream); }
.quote-strip p { font:italic clamp(23px,2.5vw,38px)/1.2 Georgia,serif; margin:0; }
.philosophy { background:var(--cream); }
.section-heading { max-width:1000px; }
.section-heading h2 { margin:0; font-size:clamp(40px,4.5vw,67px); line-height:1.08; letter-spacing:-.03em; }
.section-heading h2 em { color:var(--clay); font-weight:400; }
.principles { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:78px; background:var(--line); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.principles article { position:relative; min-height:330px; padding:42px 38px; background:var(--cream); }
.principles article>span { position:absolute; right:25px; top:28px; font:13px Georgia,serif; color:#8a8e85; }
.principles svg { color:var(--clay); stroke-width:1.2; width:28px; height:28px; }
.principles h3 { margin:62px 0 16px; font-size:28px; }
.principles p { margin:0; color:#666a62; font-size:14px; line-height:1.7; }
.marousi { display:grid; grid-template-columns:1fr 1fr; min-height:680px; background:#e2e6df; }
.location-art { position:relative; overflow:hidden; display:grid; place-items:center; background:#30363a; color:rgba(255,255,255,.76); }
.location-art>span { position:absolute; left:28px; top:29px; font-size:9px; letter-spacing:.26em; }
.location-art small { position:absolute; right:27px; bottom:26px; font-size:9px; letter-spacing:.2em; }
.location-art::before,.location-art::after { content:""; position:absolute; border:1px solid rgba(250,247,240,.22); border-radius:46% 54% 38% 62%; }
.location-art::before { width:67%; height:59%; transform:rotate(18deg); }
.location-art::after { width:42%; height:72%; transform:rotate(-28deg); }
.map-line { width:76%; height:1px; background:rgba(250,247,240,.25); transform:rotate(-17deg); }
.location-dot { position:absolute; width:92px; height:92px; border-radius:50%; background:var(--cream); color:var(--clay); display:grid; place-items:center; box-shadow:0 0 0 12px rgba(250,247,240,.12); }
.location-dot b { font:45px Georgia,serif; }
.location-copy { padding:100px clamp(35px,7vw,110px); display:flex; flex-direction:column; justify-content:center; }
.location-copy h2 { margin:0 0 30px; font-size:clamp(43px,4.8vw,72px); line-height:1; letter-spacing:-.035em; }
.location-copy>p:not(.eyebrow) { font:17px/1.75 Georgia,serif; color:#5c584e; }
.location-points { display:flex; flex-wrap:wrap; gap:10px; margin-top:25px; }
.location-points span { padding:9px 12px; border:1px solid rgba(32,36,31,.27); border-radius:999px; font-size:9px; letter-spacing:.12em; }
.contact { display:flex; flex-direction:column; align-items:center; text-align:center; background:#6f9f2e; color:var(--cream); }
.contact-logo { width:170px; height:auto; margin-bottom:30px; padding:12px 16px; background:#fff; border-radius:2px; }
.contact h2 { max-width:900px; margin:0 0 26px; font-size:clamp(42px,5vw,75px); line-height:1.06; letter-spacing:-.035em; }
.contact h2 em { color:#ffe2c8; font-weight:400; }
.contact>p:not(.eyebrow) { max-width:640px; color:rgba(250,247,240,.68); line-height:1.7; }
.domain { margin-top:34px; padding-bottom:7px; border-bottom:1px solid rgba(250,247,240,.4); font:18px Georgia,serif; letter-spacing:.1em; }
footer { padding:18px clamp(24px,5vw,76px); display:flex; align-items:center; justify-content:space-between; gap:30px; background:#22272b; color:rgba(255,255,255,.72); font-size:10px; letter-spacing:.08em; }
.footer-brand { padding:5px 10px; background:#fff; border-radius:2px; }
.footer-brand img { width:86px; height:60px; }
footer>a:last-child { text-transform:uppercase; }
@media (max-width:820px) {
  .site-header nav { display:none; }
  .hero { grid-template-columns:1fr; }
  .hero-copy { min-height:690px; padding-top:110px; }
  .hero-art { min-height:560px; }
  .intro { grid-template-columns:1fr; gap:34px; }
  .stay-list { grid-template-columns:1fr; }
  .equipment-heading { grid-template-columns:1fr; gap:34px; }
  .equipment-grid { grid-template-columns:1fr; }
  .equipment-grid article { min-height:255px; }
  .environment { grid-template-columns:1fr; gap:55px; }
  .environment-actions article { padding-right:42px; }
  .principles { grid-template-columns:1fr; }
  .principles article { min-height:280px; }
  .marousi { grid-template-columns:1fr; }
  .location-art { min-height:500px; }
  footer { flex-direction:column; text-align:center; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Project presentation phase */
.culture { background:#fff; }
.culture-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:3rem; }
.culture-heading h2 { max-width:650px; }
.culture-heading > p { max-width:380px; line-height:1.8; }
.culture-date { margin:2rem 0 1rem; font-weight:600; }
.culture-filters { display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:2rem; }
.culture-filters button { cursor:pointer; border:1px solid #c7ccc6; border-radius:30px; background:#fff; color:var(--ink); padding:.65rem 1rem; font:inherit; }
.culture-filters button[aria-pressed="true"] { background:var(--ink); color:#fff; border-color:var(--ink); }
.culture a:focus-visible,.culture button:focus-visible { outline:3px solid #f47b20; outline-offset:4px; }
.culture-event { display:grid; grid-template-columns:145px minmax(0,1fr) 185px; align-items:start; gap:2rem; padding:2rem 0; border-top:1px solid #d9ddd7; }
.culture-event h3 { font-size:1.45rem; line-height:1.4; margin:.3rem 0 .8rem; }
.culture-event p { line-height:1.7; margin:.4rem 0; }
.culture-time { display:flex; flex-direction:column; gap:.5rem; }
.culture-time time { font-size:2rem; font-variant-numeric:tabular-nums; }
.culture-time small { color:#595e58; font-size:.8rem; line-height:1.5; }
.culture-area { color:#526832; font-weight:600; }
.culture-event > a { align-self:center; font-size:.9rem; line-height:1.6; text-decoration:underline; text-underline-offset:4px; }
.culture-sources { background:var(--paper); padding:1.5rem; margin-top:1.5rem; }
.culture-sources h3 { font-size:1.1rem; margin-bottom:1rem; }
.culture-sources > div { display:flex; flex-wrap:wrap; gap:1rem 2rem; }
.culture-sources a { font-size:.9rem; text-decoration:underline; text-underline-offset:4px; }
.culture-note,.culture-empty { font-size:.9rem; line-height:1.8; margin-top:1.5rem; color:#535953; }
@media(max-width:760px) { .culture-heading { flex-direction:column; gap:1rem; } .culture-event { grid-template-columns:90px minmax(0,1fr); gap:1rem; } .culture-event > a { grid-column:2; } .culture-time time { font-size:1.65rem; } }
.project-status { font-size:1rem; line-height:1.6; margin:1.5rem 0; color:#435721; }
.hero .project-status { color:#bfd394; }
.hero-project-image { margin:0; min-width:0; display:flex; flex-direction:column; justify-content:center; background:var(--paper); }
.hero-project-image img { display:block; width:100%; height:auto; object-fit:contain; }
.hero-project-image figcaption { padding:1rem 1.5rem; font-size:.875rem; line-height:1.5; }
.operation { background:var(--paper); }
.operation-intro { max-width:760px; font-size:1.125rem; line-height:1.8; margin:2rem 0 3rem; }
.operation-rows article { display:grid; grid-template-columns:minmax(220px,1fr) 2fr; gap:3rem; border-top:1px solid var(--line); padding:2rem 0; }
.operation-rows h3 { font-size:1.5rem; line-height:1.4; }
.operation-rows p { font-size:1rem; line-height:1.8; margin:0; }
.site-header nav { flex-wrap:wrap; }
@media (max-width:760px) { .operation-rows article { grid-template-columns:1fr; gap:1rem; } .hero-project-image { min-height:0; } }

.culture-region-badge { display:inline-block; border-radius:4px; padding:.2rem .5rem; font-size:.75rem; font-weight:700; background:#e9efdf; color:#385123; margin-right:.4rem; }
.culture-region-badge[data-region="athens-center"] { background:#e7edf9; color:#284779; }
.culture-regions button[data-region="athens-center"][aria-pressed="true"] { background:#284779; border-color:#284779; }
.culture-regions button[data-region="local"][aria-pressed="true"] { background:#385123; border-color:#385123; }

.garden-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.garden-gallery { align-self:start; align-content:start; }
.garden-gallery a { display:block; aspect-ratio:4/3; min-width:0; background:#e8ece5; }
.garden-gallery img { aspect-ratio:4/3; height:100%; object-fit:contain; }
@media (min-width:821px) {
  .stay-card { display:grid; grid-template-rows:subgrid; grid-row:span 6; row-gap:0; min-width:0; }
  .stay-card > a { justify-self:start; align-self:start; }
}
.garden-gallery a:focus-visible { outline:3px solid #f47b20; outline-offset:3px; }
.portfolio-cover,.portfolio-tile { padding:0; border:0; display:block; width:100%; cursor:zoom-in; background:#e8ece5; }
.portfolio-cover { height:100%; }
.portfolio-tile { aspect-ratio:4/3; min-width:0; }
.portfolio-cover:focus-visible,.portfolio-tile:focus-visible { outline:3px solid #f47b20; outline-offset:-3px; }
.stay-image > span,.stay-image figcaption { pointer-events:none; }
.stay-portfolio { position:fixed; inset:0; margin:auto; width:min(1200px,96vw); max-width:96vw; height:94dvh; max-height:94dvh; padding:0; border:0; border-radius:10px; background:#f4f5f0; color:#29352d; }
.stay-portfolio::backdrop { background:rgba(15,23,18,.8); }
.portfolio-shell { display:flex; flex-direction:column; height:100%; padding:20px; box-sizing:border-box; }
.portfolio-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-shrink:0; }
.portfolio-header h2 { font-size:clamp(18px,2vw,28px); margin:0; }
.portfolio-header p { font-size:12px; margin:6px 0 12px; }
.portfolio-header button,.portfolio-stage button { border:0; border-radius:50%; background:#fff; color:#29352d; width:44px; height:44px; cursor:pointer; flex-shrink:0; }
.portfolio-stage { position:relative; flex:1; min-height:0; display:flex; align-items:center; justify-content:center; background:#e8ece5; }
.portfolio-stage > img { display:block; width:100%; height:100%; object-fit:contain; }
.portfolio-zoom-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 10px; font-size:12px; }
.portfolio-zoom-toolbar button { cursor:pointer; border:1px solid #a5b4a1; border-radius:5px; background:white; padding:8px 12px; }
.portfolio-zoom-viewport { position:absolute; inset:0; overflow:auto; overscroll-behavior:contain; }
.portfolio-stage .portfolio-zoom-image { position:static; transform:none; display:block; width:100%; height:100%; max-width:none; padding:0; margin:0; border:0; border-radius:0; box-shadow:none; background:transparent; cursor:zoom-in; }
.portfolio-stage .portfolio-zoom-image.is-zoomed { width:200%; height:200%; cursor:zoom-out; }
.portfolio-zoom-image img { display:block; width:100%; height:100%; max-width:none; object-fit:contain; }
.portfolio-stage button { position:absolute; z-index:1; top:50%; transform:translateY(-50%); box-shadow:0 2px 8px #0002; }
.portfolio-prev { left:10px; }.portfolio-next { right:10px; }
.portfolio-caption { margin:10px 0; font-size:12px; line-height:1.5; flex-shrink:0; }
.portfolio-thumbnails { display:flex; gap:8px; overflow-x:auto; padding:4px; flex-shrink:0; }
.portfolio-thumbnails button { width:84px; height:62px; flex-shrink:0; padding:2px; border:2px solid transparent; background:#e8ece5; cursor:pointer; }
.portfolio-thumbnails button[aria-pressed="true"] { border-color:#466b41; }
.portfolio-thumbnails img { width:100%; height:100%; object-fit:contain; }
.stay-portfolio button:focus-visible { outline:3px solid #f47b20; outline-offset:2px; }
@media(max-width:650px) { .portfolio-shell { padding:12px; }.portfolio-thumbnails button { width:65px; height:50px; } }
#stay-garden { scroll-margin-top:120px; }

#stay-courtyard { scroll-margin-top:120px; }
.eco-detail { background:#eef2ed; color:#293d36; min-height:80vh; }
.eco-back { display:inline-block; margin-bottom:2rem; font-size:.9rem; text-decoration:underline; text-underline-offset:4px; }
.eco-detail .eyebrow { color:#526b50; }
.eco-heading { display:grid; grid-template-columns:1.1fr 1fr; gap:4rem; align-items:center; margin-bottom:3.5rem; }
.eco-heading h1 { font-family:Georgia,serif; font-size:clamp(2.5rem,4.2vw,4.75rem); line-height:1.06; font-weight:400; letter-spacing:-.035em; }
.eco-heading p { line-height:1.85; }
.eco-phase { font-size:.85rem; color:#526b50; margin-top:1rem; }
.eco-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #d2dcd1; border-left:1px solid #d2dcd1; }
.eco-grid article { padding:1.8rem; border-right:1px solid #d2dcd1; border-bottom:1px solid #d2dcd1; background:#f7f9f5; }
.eco-card-top { display:flex; justify-content:space-between; align-items:flex-start; color:#526b50; font-size:.7rem; letter-spacing:.1em; margin-bottom:1.25rem; }
.eco-icon { display:grid; place-items:center; width:48px; height:48px; background:#e0e8d9; color:#3b563d; }
.eco-grid h2 { font-family:Georgia,serif; font-size:1.55rem; line-height:1.2; font-weight:400; margin-bottom:1rem; }
.eco-grid p { font-size:.9rem; line-height:1.8; color:#42564d; }
.eco-card-photo { display:block; width:100%; aspect-ratio:4/3; object-fit:contain; background:#fff; margin:0 0 1.5rem; }
.booking-page { background:#f2f5ef; }
.booking-page h1 { font:400 clamp(2.3rem,4vw,4rem)/1.15 Georgia,serif; }
.booking-intro { max-width:780px; line-height:1.8; margin-top:1rem; }
.booking-month { display:flex; align-items:center; justify-content:center; gap:2rem; margin:3rem 0 1rem; }
.booking-month h2 { font-size:1.5rem; text-align:center; }
.booking-month button { background:white; border:1px solid #bac8b7; padding:.8rem 1.2rem; border-radius:6px; cursor:pointer; font-size:1.3rem; }
.booking-month button:focus-visible { outline:3px solid #526b50; outline-offset:3px; }
.booking-legend { font-size:.9rem; line-height:1.8; margin:1.5rem 0; }
.booking-key { display:inline-block; width:14px; height:14px; background:#6f3e31; vertical-align:middle; margin-right:.5rem; }
.booking-calendars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.booking-unit { padding:1.4rem; background:#fff; border:1px solid #d7dfd3; border-radius:8px; min-width:0; }
.booking-unit h3 { font-size:1.2rem; }
.booking-update { font-size:.8rem; color:#586554; margin:.6rem 0 1.3rem; }
.booking-calendar { width:100%; table-layout:fixed; border-spacing:3px; }
.booking-calendar th { font-size:.75rem; font-weight:600; padding:.4rem 0; }
.booking-calendar td { text-align:center; height:40px; font-size:.85rem; background:#f1f3ef; border-radius:3px; }
.booking-calendar td:empty { background:transparent; }
.booking-calendar td.is-booked { background:#6f3e31; color:white; font-weight:700; }
.booking-dot { display:block; font-size:.4rem; }
.booking-periods { width:100%; border-collapse:collapse; margin-top:1.2rem; font-size:.8rem; }
.booking-periods caption { text-align:left; font-weight:600; margin-bottom:.7rem; }
.booking-periods th,.booking-periods td { text-align:left; padding:.6rem .2rem; border-top:1px solid #e0e5db; }
@media(max-width:1100px) { .booking-calendars { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .booking-calendars { grid-template-columns:1fr; } .booking-month { gap:1rem; } }
.eco-footnote { display:flex; gap:1rem; align-items:flex-start; max-width:1000px; font-size:.8rem; line-height:1.8; margin-top:2rem; }
.eco-footnote svg { flex-shrink:0; color:#526b50; }
.eco-detail a:focus-visible { outline:3px solid #526b50; outline-offset:5px; }
@media(max-width:1100px) { .eco-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .eco-heading { gap:2rem; } }
@media(max-width:650px) { .eco-heading,.eco-grid { grid-template-columns:1fr; } .eco-heading { margin-bottom:2rem; } .eco-grid article { padding:1.5rem; } }

.booking-demo-banner { background:#fff4d7; color:#664b17; padding:1.2rem; border:1px solid #e4cf98; border-radius:6px; margin-top:1.5rem; line-height:1.8; }
.booking-demo-label { color:#765018; font-size:.8rem; margin-top:.5rem; font-weight:600; }

.menu-toggle{display:none}.site-header nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}.site-header nav li{margin:0}.site-header nav{gap:0}.site-header{flex-wrap:wrap}.page-body:not(.home-body){padding-top:104px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link:focus{position:fixed;z-index:10000;top:10px;left:10px;clip-path:none;width:auto;height:auto;background:white;padding:12px}.admin-bar .site-header{top:32px}.wp-block-freeform{margin:0}.stay-gallery img,.stay-image img{width:100%}.stay-card>p p{margin:0}.site-header .custom-logo-link img{width:112px;height:78px;object-fit:contain}.site-header .custom-logo-link{display:block}.ath-dialog[open]{display:block}.ath-shortcode-missing{padding:100px 24px}.content-standard{max-width:1000px;margin:auto;padding:80px 24px}.culture-event{padding:24px;border:1px solid var(--line)}.culture-event.athens-center{border-top:4px solid #547fb1}.culture-event.local{border-top:4px solid #79ad32}.culture-events{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.culture-event h3{font-size:25px;margin:12px 0}.culture-event a{text-decoration:underline}.culture-choices{display:flex;gap:16px;flex-wrap:wrap;margin:25px 0}.culture-choices button{padding:8px 15px;border:1px solid var(--line);background:white}.culture-choices button[aria-pressed=true]{background:var(--ink);color:white}.culture-empty{padding:24px}.booking-demo-banner{padding:18px;background:#fff3d7;margin:24px 0}.booking-calendar td{position:relative}.booking-dot{font-size:8px;margin-left:2px}.equipment-grid article p,.eco-grid article p{margin-top:12px}.eco-grid .eco-card-photo{width:100%}.portfolio-thumbnails img{width:100%;height:100%;object-fit:contain}
@media(max-width:1100px){.site-header nav ul{gap:12px}.site-header nav{font-size:11px}}
@media(max-width:820px){.menu-toggle{display:block;background:transparent;border:1px solid var(--line);padding:8px 12px}.site-header nav{display:none;width:100%}.site-header nav.is-open{display:block}.site-header nav ul{flex-direction:column;padding:20px 0;gap:14px}.culture-events{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Consistent navigation across home and both subpages. */
:root { --navigation-height:104px; }
.site-header { position:fixed; height:var(--navigation-height); min-height:0; flex-wrap:nowrap; gap:24px; z-index:50; }
.site-header .menu-toggle { display:none; color:var(--ink); background:#fff; border:1px solid var(--line); padding:10px 14px; border-radius:4px; font:inherit; cursor:pointer; }
.site-header nav { display:flex; flex-wrap:nowrap; align-items:center; gap:clamp(12px,1.3vw,24px); font-size:12px; letter-spacing:.015em; }
.site-header nav a { display:block; padding:10px 0; white-space:nowrap; }
.site-header nav a[aria-current] { color:#425d25; border-bottom:2px solid #79ad32; }
.site-header a:focus-visible,.site-header button:focus-visible { outline:3px solid #f47b20; outline-offset:4px; }
main section[id],#top { scroll-margin-top:calc(var(--navigation-height) + 20px); }
.eco-detail,.booking-page { padding-top:calc(var(--navigation-height) + 40px); }
@media(max-width:1279px){
 :root { --navigation-height:88px; }
 .site-header { padding:10px 24px; }
 .site-header .brand img { width:90px; height:64px; }
 .site-header .menu-toggle { display:block; margin-left:auto; }
 .site-header nav { display:none; position:absolute; top:100%; left:0; right:0; padding:12px 24px 24px; max-height:calc(100dvh - var(--navigation-height)); overflow-y:auto; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 12px 18px #22272b12; }
 .site-header nav.is-open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
 .site-header nav a { padding:12px 8px; font-size:16px; white-space:normal; }
 .hero { padding-top:var(--navigation-height); }
}

.site-header nav ul { display:flex; flex-wrap:nowrap; gap:clamp(12px,1.3vw,24px); }
.page-body:not(.home-body) { padding-top:var(--navigation-height); }
.page-body:not(.home-body) .eco-detail,.page-body:not(.home-body) .booking-page { padding-top:40px; }
.admin-bar { --admin-toolbar:32px; }
.admin-bar main section[id] { scroll-margin-top:calc(var(--navigation-height) + var(--admin-toolbar) + 20px); }
@media(max-width:1279px){.site-header nav ul{flex-direction:column;gap:0}.site-header .custom-logo-link img{width:90px;height:64px}}
@media(max-width:782px){.admin-bar{--admin-toolbar:46px}.admin-bar .site-header{top:46px}}
@media(max-width:600px){.admin-bar .site-header{top:0}.admin-bar{--admin-toolbar:0px}}

.marousi-guide{grid-column:1/-1;background:#f5f3ec;color:#163f3b;padding:48px clamp(24px,6vw,96px)}
.marousi-guide-intro{max-width:900px;margin-bottom:36px}
.marousi-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 56px}
.marousi-guide article{border-top:1px solid #ccd5cc;padding-top:24px;min-width:0}
.marousi-guide h3{font-size:27px;line-height:1.2;margin:0 0 16px;font-weight:400}
.marousi-guide p{font-size:16px;line-height:1.8;margin:0 0 16px}
.marousi-guide a{color:#245c50;text-decoration:underline;text-underline-offset:4px;font-size:14px;overflow-wrap:anywhere}
.marousi-guide .guide-note{font-size:13px;margin:40px 0 0;color:#52665e}
@media(max-width:700px){.marousi-guide-grid{grid-template-columns:1fr}.marousi-guide{padding:32px 24px}}

.faq{background:#f6f4ee;color:#163f3b}.faq h2{font-size:clamp(36px,5vw,64px);font-weight:400}.faq details{max-width:1000px;border-bottom:1px solid #ccd5cc;padding:20px 0}.faq summary{cursor:pointer;font-size:20px;line-height:1.5;font-weight:600}.faq details p{font-size:16px;line-height:1.8;max-width:850px;margin:18px 0 0}.faq a{text-decoration:underline;text-underline-offset:3px}.faq summary:focus-visible{outline:2px solid #b66b26;outline-offset:5px}

/* Local introduction on the left, complete visitor guide on the right. */
.marousi{grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-template-rows:240px 1fr;background:#30363a;align-items:start}
.marousi>.location-art{grid-column:1;grid-row:1;height:240px;min-height:0;align-self:stretch}
.marousi>.location-copy{grid-column:1;grid-row:2;background:#30363a;color:#faf7f0;padding:32px clamp(24px,3vw,48px) 48px;position:sticky;top:var(--navigation-height);align-self:start}
.marousi>.location-copy h2{font-size:clamp(36px,3.6vw,58px)}
.marousi>.location-copy>p:not(.eyebrow){color:#e0e1da}
.marousi .location-points span{border-color:#777f7e}
.marousi>.marousi-guide{grid-column:2;grid-row:1/3;min-width:0;padding:48px clamp(24px,4vw,64px)}
.marousi .marousi-guide-grid{grid-template-columns:1fr}
@media(max-width:820px){
 .marousi{grid-template-columns:1fr;grid-template-rows:auto}
 .marousi>.location-art,.marousi>.location-copy,.marousi>.marousi-guide{grid-column:1;grid-row:auto}
 .marousi>.location-copy{position:static}
 .marousi>.marousi-guide{padding:32px 24px}
}

.opening-plan{background:#eef1e9;padding-top:36px;padding-bottom:36px}.opening-plan h2{font-size:32px}.opening-plan p{line-height:1.7}.opening-plan li{padding:8px 0}.opening-state{font-size:14px;color:#34584b}

/* Language selector: native links work even without JavaScript. */
/* Allow long translated words to wrap inside grid tracks, including narrow phones. */
main{overflow-wrap:anywhere}
.intro>*,.equipment-heading>*,.equipment-grid>*,.environment>*,.environment-actions>*,.principles>*,.eco-heading>*{min-width:0}
.text-link{max-width:100%}
.ath-language{position:relative;flex:0 0 auto;margin-left:10px;font-family:Arial,sans-serif;font-size:13px;color:#123c37}
.ath-language summary{cursor:pointer;list-style:none;padding:10px 12px;border:1px solid #c6d2cb;border-radius:4px;background:#f8faf7;font-weight:700}
.ath-language summary::-webkit-details-marker{display:none}
.ath-language ul{position:absolute;right:0;top:100%;list-style:none;margin:8px 0 0;padding:8px;background:#fff;min-width:155px;border:1px solid #c6d2cb;box-shadow:0 10px 24px #0002;border-radius:5px;z-index:110}
.ath-language a{display:block;padding:9px 12px;text-decoration:none;color:#123c37;border-radius:3px}
.ath-language a:hover,.ath-language a[aria-current]{background:#edf3ee}
.ath-language summary:focus-visible,.ath-language a:focus-visible{outline:3px solid #967520;outline-offset:2px}
html:not([lang="el"]) .site-header #primary-menu a{font-size:12px}
html:not([lang="el"]) .site-header #primary-menu ul{gap:12px}
html:not([lang="el"]) .booking-month h2{overflow-wrap:anywhere}
@media(max-width:1279px){.ath-language{margin-left:8px}.site-header .menu-toggle{margin-left:auto}.ath-language ul{max-height:70vh;overflow:auto}}
@media(max-width:480px){.ath-language summary{padding:9px 8px}.site-header .brand img,.site-header .custom-logo{max-width:105px}.menu-toggle{font-size:12px}}
