/* Στον ακάλυπτο φυτρώνει θάλασσα — typographic folio.
 * Deliberately quiet Greek book typography, mobile-first rhythm and touch safety. */
:root{
 --display:"Noto Serif Display","GFS Didot","GFS Artemisia",Georgia,serif;
 --italic:"Noto Serif Display","GFS Neohellenic","GFS Artemisia",Georgia,serif;
 --book:"GFS Artemisia","Noto Serif",Georgia,serif;
 --serif:var(--book);
 --accent:#d7b59e;--ink:#f3ece3;--dim:#d9cec2;--quiet:#c1b7ae;
 --line:rgba(225,205,185,.22);
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:22px}
body{font-feature-settings:"kern" 1,"liga" 1;-webkit-font-smoothing:antialiased}
.site-shell{width:calc(100% - clamp(40px,7vw,134px));max-width:1440px}
.wordmark{font:400 clamp(19px,1.6vw,25px)/1.2 var(--display);letter-spacing:.105em}
.header-verse{color:#c8b8aa;letter-spacing:.16em}
.intro{min-height:0;isolation:isolate;padding-block:clamp(90px,8vw,143px) clamp(78px,7vw,108px)}
.intro h1{
 max-width:1330px;margin:clamp(34px,4vw,61px) 0 36px;
 font-family:var(--display);font-size:clamp(66px,7.9vw,137px);
 font-weight:400;line-height:1.18;letter-spacing:-.039em;
 text-wrap:pretty;overflow-wrap:normal;word-break:normal;hyphens:none;
 font-variant-ligatures:common-ligatures;
 text-shadow:0 1px 0 rgba(0,0,0,.1)
}
.intro h1 span{display:block;font-style:normal;letter-spacing:-.045em;max-width:100%}
.intro h1 br{display:none}
.intro h1 em{
 display:block;max-width:100%;font-family:var(--display);font-style:italic;font-weight:400;
 letter-spacing:-.033em;line-height:1.14;color:#e4bfa6
}
.hero-artwork{opacity:.33;filter:grayscale(.2);right:max(-60px,-4vw)}
.intro-description{font-family:var(--book);font-size:clamp(18px,1.55vw,22px);line-height:1.85;max-width:55ch;color:#dfd2c7}
.intro-meta,.eyebrow,.header-center{font-family:"Noto Sans",Arial,sans-serif}
.midnight-stamp{border-top:1px solid rgba(215,190,165,.25);border-bottom:1px solid rgba(215,190,165,.25);background:transparent;box-shadow:none}
.sky-strip{gap:19px}
.sky-text{font-family:var(--book);font-size:clamp(23px,2vw,31px);line-height:1.5;font-style:italic}
.quote-text,.daily-panel .quote-text{
 font:400 clamp(38px,3.95vw,61px)/1.47 var(--book);letter-spacing:-.008em;
 hanging-punctuation:first;overflow-wrap:break-word;hyphens:auto;
 white-space:pre-line;text-wrap:pretty
}
.story-body h3{font-family:var(--display);font-weight:400;line-height:1.22;letter-spacing:-.03em}
.story-content{font-family:var(--book);font-size:clamp(19px,1.65vw,22px);line-height:1.95;letter-spacing:.001em}
.story-content p{max-width:68ch;text-wrap:pretty;hyphens:auto;hyphenate-limit-chars:7 3 3}
.story-content p:first-child::first-letter{font-family:var(--display);font-size:2.2em;line-height:.9;float:left;padding:.04em .08em 0 0;color:#e2c9b2}
.room-stage blockquote{font-family:var(--book);font-size:clamp(30px,3.3vw,47px);line-height:1.52;text-wrap:pretty;white-space:pre-line}
.room-stage h3,.room-name,.rooms-head h2,.compass-heading h2,.imprint-heading h2,.closing-note h2{font-family:var(--display)}
.room-card{border-radius:0;transition:background .18s ease}
.room-card:focus-visible,.compass-suggestions button:focus-visible{outline:2px solid #e7c3a8;outline-offset:-3px}
.room-card .room-name{text-wrap:balance;font-weight:400}
.story-colophon,.room-stage-actions,.quote-header,.quote-footer{overflow-wrap:break-word}
.compass-result-verse,.last-words,.manifesto-body p{font-family:var(--book);line-height:1.7}
.compass-field input{font-family:var(--book);border-radius:0;max-width:100%;font-size:18px}
button,summary,input{touch-action:manipulation}
button{min-width:0}
button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:1190px){
 .intro h1{font-size:clamp(65px,7.7vw,104px);line-height:1.17}
 .site-shell{width:calc(100% - 70px)}
 .room-card{min-height:158px}
 .rooms-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:950px){
 .site-shell{width:calc(100% - 56px)}
 .intro{min-height:0;padding-block:83px 68px}
 .intro h1{font-size:clamp(60px,8vw,83px)}
 .intro-description{max-width:51ch}
 .experience{grid-template-columns:1fr}
 .aside-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .room-card{min-height:154px;padding:19px}
 .story-body{padding-inline:clamp(27px,5vw,65px)}
 .compass{min-width:0}
}
@media(max-width:760px){
 .site-shell{width:calc(100% - 42px)}
 .site-header{min-height:74px}
 .header-center{display:none}
 .intro{padding-block:68px 48px}
 .intro h1{font-size:clamp(52px,8.6vw,68px);line-height:1.2}
 .hero-artwork{width:min(72vw,500px);right:-8%;opacity:.18}
 .intro-description{font-size:18px;line-height:1.78}
 .sky-strip{padding-block:25px}
 .rooms-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}
 .room-stage blockquote{line-height:1.48}
 .daily-story{padding-top:clamp(55px,9vw,85px)}
 .story-body{padding-block:36px 30px}
 .story-content{font-size:19px;line-height:1.84;max-width:65ch}
 .story-content p{margin-bottom:1.25em}
 .compass-result p{hyphens:auto;overflow-wrap:break-word}
 .compass-result,.compass-heading,.compass-field{min-width:0}
}
@media(max-width:590px){
 .site-shell{width:calc(100% - 34px)}
 .site-header{min-height:68px;gap:10px}
 .wordmark{font-size:18px;letter-spacing:.07em;white-space:nowrap}
 .wordmark-star{font-size:17px;margin-right:3px}
 .manifesto-trigger{padding:10px 11px!important;min-height:44px;font-size:12px}
 .intro{padding:54px 0 38px}
 .intro::before{display:none}
 .intro h1{font-size:clamp(39px,8.65vw,54px);line-height:1.19;letter-spacing:-.025em;margin:30px 0 24px}
 .intro h1 span,.intro h1 em{letter-spacing:-.027em}
 .intro-description{font-size:clamp(17px,4.45vw,19px);line-height:1.76;max-width:35ch}
 .hero-artwork{top:-5px;right:-15%;opacity:.105;width:88vw}
 .intro-meta{gap:8px 17px;margin-top:30px;font-size:9px}
 .intro-meta span::before{display:none!important}
 .midnight-stamp{margin-top:27px;padding:15px 10px;gap:9px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center}
 .midnight-time{display:none}
 .midnight-copy>span{font-size:9px}
 .midnight-copy strong{font:400 14px/1.45 var(--book);letter-spacing:0}
 .sky-strip{display:flex;flex-direction:column;align-items:flex-start;min-height:0;gap:9px;padding-block:20px}
 .sky-text{font:italic 400 22px/1.45 var(--book)}
 .experience{margin-top:19px;gap:12px}
 .daily-panel .quote-text{font:400 clamp(29px,7.45vw,39px)/1.47 var(--book);padding:58px 21px 50px}
 .quote-header,.quote-footer{padding-inline:18px;gap:7px 14px}
 .aside-panel{grid-template-columns:1fr;gap:12px}
 .folio-art{min-height:205px;height:240px}
 .next-panel{min-height:0}
 .story-body{padding:29px 20px}
 .story-body h3{font-size:clamp(36px,8.7vw,51px);max-width:100%;line-height:1.2;margin:23px 0 31px}
 .story-masthead{padding:16px 18px;gap:9px;flex-wrap:wrap}
 .story-content{font-size:clamp(18px,4.55vw,20px);line-height:1.8;hyphens:auto}
 .story-content p:first-child::first-letter{font-size:2.15em}
 .rooms{padding-top:62px;padding-bottom:70px}
 .rooms-head{margin-bottom:27px}
 .rooms-head h2{font-size:clamp(43px,9vw,62px);line-height:1.18}
 .rooms-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}
 .room-card{min-height:132px;padding:14px 15px;gap:6px}
 .room-name{font-size:clamp(21px,5.4vw,28px);line-height:1.2}
 .room-card-symbol{font-size:14px}
 .room-stage{padding:23px 17px}
 .room-stage h3{font-size:clamp(25px,6vw,33px)}
 .room-stage blockquote{font:400 clamp(28px,7.2vw,36px)/1.52 var(--book)}
 .room-stage-actions{display:flex;flex-wrap:wrap;gap:9px 14px}
 .room-stage-actions button{min-height:48px}
 .compass-heading{display:block}
 .compass-heading h2{font-size:clamp(40px,8.6vw,53px);line-height:1.2}
 .compass-field{display:flex;flex-wrap:wrap}
 .compass-field input{font-size:18px;min-width:0;width:100%}
 .compass-field button,.compass-suggestions button{min-height:48px}
 .compass-result-verse{font:400 21px/1.57 var(--book);overflow-wrap:break-word}
 .imprint-frame{height:235px}
 .imprint-controls button{min-height:48px}
 .last-words{font:400 clamp(28px,7.2vw,38px)/1.56 var(--book)}
 .manifesto-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px)}
 .manifesto-dialog-inner{padding:26px 19px}
 .manifesto-body p{font-size:17px;line-height:1.76}
 footer{gap:13px;flex-wrap:wrap}
}
@media(max-width:390px){
 .site-shell{width:calc(100% - 28px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}
 .wordmark{font-size:16px}
 .manifesto-trigger{font-size:11px;padding:9px 10px!important}
 .intro h1{font-size:clamp(33px,9.5vw,39px);line-height:1.2}
 .intro h1 span,.intro h1 em{letter-spacing:-.045em}
 .intro-description{font-size:17px}
 .story-body{padding:26px 15px}
 .story-body h3{font-size:clamp(34px,8.8vw,40px)}
 .story-content{font-size:18px;line-height:1.82}
 .room-card{padding:13px 12px;min-height:124px}
 .room-name{font-size:20px}
 .room-stage blockquote{font-size:27px;line-height:1.49}
 .daily-panel .quote-text{font-size:29px;padding-inline:15px}
 .quote-header,.quote-footer{padding-inline:14px}
 .imprint-frame{height:210px}
}
@media(max-width:325px){
 .site-shell{width:calc(100% - 24px)}
 .intro h1{font-size:32px}
 .intro h1 span,.intro h1 em{letter-spacing:-.05em}
 .wordmark{font-size:15px}
 .manifesto-trigger{padding:9px 8px!important}
 .rooms-grid{grid-template-columns:1fr}
 .room-card{min-height:96px;padding:14px}
 .room-stage blockquote{font-size:25px}
 .story-body{padding-inline:13px}
}
@media (pointer:coarse){.room-card:hover{transform:none}.compass-suggestions button,.imprint-controls button{min-height:48px}}
@media (prefers-reduced-motion:reduce){
 *,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
}
