/* Shared story; artwork and colour distinguish the two design studies. */
:root{--muted:var(--akatos-muted,#627876);--accent:var(--akatos-accent,#9e4636)}
body[data-design="workshop"]{--ink:#243f3d;--rust:#956135;--accent:#956135;--paper:#f4efe4;--muted:#69766a;background:var(--paper)}
html{scroll-behavior:auto}body{overflow-x:clip}
.motion-intent .journey{height:215svh}
.navigation{padding:16px 5vw}.hero-copy{top:19svh}
.story-track{position:relative;scroll-margin-top:0;background:var(--paper)}
.story-scene{position:relative;padding:95px 0 50px}
.story-copy{width:min(680px,86%);margin:auto;text-align:center;position:relative;z-index:12;pointer-events:none}
.story-copy h2{font:400 clamp(29px,3.7vw,48px)/1.18 Georgia,serif;letter-spacing:-.04em}
.story-copy h2 em{font-style:normal;color:var(--accent)}
.story-copy p{font:400 clamp(23px,2.9vw,35px)/1.28 Georgia,serif;letter-spacing:-.025em;max-width:580px;margin:35px auto}
.assembly{position:relative;width:min(96%,88svh,950px);aspect-ratio:3/2;margin:70px auto 0;isolation:isolate}
.assembly img{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.interior-layer{z-index:1;clip-path:inset(var(--beam) 0 0)}
.floor-layer{z-index:4;clip-path:inset(var(--base) 0 0)}
.rising-columns{position:absolute;inset:0;z-index:3;clip-path:inset(0 0 calc(100% - var(--base)))}
.column-piece{position:absolute;inset:0}
.pillar-words{position:absolute;inset:0;z-index:6;pointer-events:none}
.pillar-word{position:absolute;top:var(--beam);transform:translate(-50%,-135%);font:400 clamp(19px,3vw,36px)/1.1 Georgia,serif;letter-spacing:-.04em;color:var(--muted);white-space:nowrap}
.pillar-word.is-active{color:var(--accent)}.pillar-word.is-complete{color:var(--ink)}
.new-roof{position:absolute;inset:0;z-index:8;pointer-events:none}
.new-roof .roof-layer{clip-path:inset(0 0 calc(100% - var(--beam)))}
.roof-word-wrap{position:absolute;top:var(--roof-top);left:50%;transform:translate(-50%,-100%);margin-top:-10px;pointer-events:auto;text-align:center}
.roof-word-wrap h2{margin:0;font:400 clamp(48px,6.6vw,80px)/1 Georgia,serif;letter-spacing:-.055em}
.roof-word{padding:0 2px 6px;border:0;background:none;font:inherit;letter-spacing:inherit;color:var(--accent);text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:8px;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);cursor:help;transition:background .2s,color .2s}
.roof-word:hover,.roof-word[aria-expanded="true"]{background:#e7d4a859;border-radius:3px}.title-period{text-decoration:none}
.roof-definition{position:absolute;z-index:50;top:100%;left:50%;transform:translateX(-50%);width:min(310px,84vw);padding:25px;background:#fffaf0;border:1px solid #cdbb98;box-shadow:0 12px 40px #263a3326;text-align:left;color:var(--ink);font:15px/1.5 Georgia,serif;letter-spacing:0}
.roof-definition[hidden]{display:none}.definition-close{position:absolute;right:4px;top:3px;border:0;background:none;color:var(--muted);width:34px;height:34px;cursor:pointer;font-size:23px}.pronunciation{font:12px/1.3 Arial,sans-serif;color:var(--muted);margin-bottom:15px}.pronunciation span{margin-left:12px;font-style:italic}.meaning{font:25px/1.2 Georgia,serif;letter-spacing:-.03em}.definition-note{margin-top:13px;font-size:14px;color:var(--muted)}

/* Enhancement only: without JS or with reduced motion, all text remains in normal flow. */
.motion-story .story-track{height:330svh}
.motion-story .story-scene{height:100svh;position:sticky;top:0;padding:0}
.motion-story .story-copy{position:absolute;top:calc(76px + 2svh);left:50%;transform:translateX(-50%);height:180px}
.motion-story .story-copy>*{position:absolute;top:0;left:0;width:100%;margin:0}
.motion-story .story-ingredients,.motion-story .story-addition{opacity:0;visibility:hidden}
.motion-story .assembly{position:absolute;left:50%;bottom:6svh;transform:translateX(-50%);margin:0}
.motion-story .column-piece,.motion-story .new-roof,.motion-story .pillar-word{will-change:transform,opacity}

.endurance{position:relative;padding:60px 7vw 55px;text-align:center;scroll-margin-top:90px}
.supporting-copy{max-width:680px;margin:0 auto 45px;font:400 clamp(21px,2.5vw,30px)/1.45 Georgia,serif;color:var(--muted);letter-spacing:-.02em}
.endurance h2{max-width:850px;margin:auto;font:400 clamp(34px,4.4vw,61px)/1.15 Georgia,serif;letter-spacing:-.035em}.endurance h2 em{font-weight:400;color:var(--accent)}
.new-invitation{padding:30px 7vw 110px;text-align:center;scroll-margin-top:90px}.invitation-line{display:block;width:50px;height:1px;background:#b7ad96;margin:0 auto 60px}.new-invitation h2{font:400 clamp(58px,8vw,108px)/1.02 Georgia,serif;letter-spacing:-.055em}.new-invitation h2 em{font-weight:400;color:var(--accent)}.new-invitation>p{font:18px/1.5 Georgia,serif;color:var(--muted);margin:25px auto 30px;max-width:350px}
.design-switch{position:fixed;left:50%;bottom:12px;transform:translateX(-50%);display:flex;padding:3px;gap:2px;background:#fffaf0ed;border:1px solid #cfc3aa;border-radius:30px;z-index:60;box-shadow:0 3px 15px #193f4e10;font:11px/1 Arial,sans-serif}
.design-switch a{text-decoration:none;padding:9px 12px;border-radius:24px;white-space:nowrap;color:#61706b}.design-switch a[aria-current="page"]{background:var(--ink);color:var(--paper)}.design-switch a span{margin-left:5px}
body:not(.past-hero) .design-switch{bottom:75px}
footer{padding-bottom:76px}
@media(max-width:700px){
 .motion-intent .journey{height:205svh}.navigation{padding:14px 6vw}.hero-copy{top:16svh}
 .story-copy{width:87%}.story-copy h2{font-size:clamp(27px,7.1vw,38px);line-height:1.2}.story-copy p{font-size:clamp(23px,6vw,29px);line-height:1.3}
 .motion-story .story-copy{top:92px;height:190px}
 .assembly{width:min(100%,95svh)}.motion-story .assembly{bottom:max(8svh,calc(100svh - 570px))}
 .pillar-word{font-size:clamp(19px,5.2vw,28px)}.roof-word-wrap h2{font-size:clamp(48px,13vw,65px)}
 
 .endurance{padding:48px 7vw 45px}.supporting-copy{font-size:22px;margin-bottom:35px}.endurance h2{font-size:clamp(34px,8.8vw,46px)}.desktop-break{display:none}
 .new-invitation{padding-bottom:90px}.invitation-line{margin-bottom:45px}.new-invitation h2{font-size:clamp(58px,14vw,80px)}.new-invitation>p{font-size:17px}
 .design-switch{font-size:10px;bottom:10px}.design-switch a{padding:9px 10px}body:not(.past-hero) .design-switch{bottom:72px}
}
@media(max-height:650px){.motion-story .story-copy{top:80px}.story-copy h2{font-size:clamp(25px,6.5vw,35px)}.story-copy p{font-size:clamp(21px,5.5vw,27px)}.assembly{width:min(100%,82svh)}.motion-story .assembly{bottom:6svh}.roof-word-wrap h2{font-size:clamp(43px,11vw,59px)}}
@media(max-height:480px){.motion-story .story-copy{top:72px;width:60%;height:90px}.story-copy h2{font-size:23px}.story-copy p{font-size:22px}.assembly{width:66svh}.motion-story .assembly{bottom:0}.roof-word-wrap h2{font-size:35px}.pillar-word{font-size:17px}}
@media(prefers-reduced-motion:reduce){.pillar-words,.rising-columns{display:none}.story-copy p{margin:25px auto}.story-copy .story-addition{margin-bottom:55px}.assembly{margin-top:75px}.roof-word-wrap{margin-top:-10px}.design-switch{box-shadow:none}.roof-word{transition:none}}

/* Refinement: quiet navigation and one compact text/art composition. */
.navigation{transition:transform .25s ease,background .25s ease}
body.past-hero .navigation{background:var(--paper);box-shadow:0 1px 0 #193f4e0b}
.navigation:before{display:none}
body.nav-hidden .navigation{transform:translateY(-110%);pointer-events:none}
body.nav-hidden .navigation:focus-within{transform:none;pointer-events:auto}
.navigation .join-link{border:0;background:none;padding:0;gap:9px}
.motion-story .story-track{height:270svh}
.motion-story .story-scene{height:min(100svh,800px)}
.motion-story .story-copy{top:80px;height:auto}
.motion-story .assembly{bottom:auto}
.primary-link{background:none;color:var(--ink);border:0;border-bottom:1px solid currentColor;padding:12px 0;min-width:0;gap:35px;font:26px/1.2 Georgia,serif}
.primary-link:hover{background:none;color:var(--accent)}
.invitation-links{gap:24px}.thesis-link{font-size:14px;opacity:.75}
.roof-definition{border:0;border-radius:10px;box-shadow:0 8px 35px #263a331c}
.study-controls,.hero-next{border-radius:22px}
.endurance{padding-top:25px;padding-bottom:35px}
.new-invitation{padding-top:20px}.invitation-line{margin-bottom:35px}
@media(max-width:700px){
 .motion-story .story-scene{height:min(100svh,640px)}
 .motion-story .story-copy{top:74px}
 .motion-story .story-track{height:245svh}
 .endurance{padding-top:22px;padding-bottom:30px}
 .primary-link{min-width:0;font-size:25px;padding:10px 0;gap:28px}
 .invitation-line{margin-bottom:30px}
}
@media(prefers-reduced-motion:reduce){.navigation{transition:none}}
@media(min-width:701px){.motion-story .story-scene{height:min(100svh,740px)}}
@media(max-width:700px){.motion-story .story-scene{height:min(100svh,calc(340px + 40vw))}}
.join-form{width:min(100%,440px);margin:36px auto 12px;text-align:left}
.email-label{display:block;font:12px/1.5 Arial,sans-serif;color:var(--muted);margin-bottom:8px}
.email-row{display:flex;align-items:center;border-bottom:1px solid var(--ink);gap:18px}
.email-row input{flex:1;min-width:0;width:100%;border:0;border-radius:0;background:none;color:var(--ink);font:18px/1.4 Georgia,serif;padding:14px 0;outline-offset:4px}
.email-row input::placeholder{color:var(--muted);opacity:.8}
.email-row:focus-within{border-bottom-color:var(--accent)}
.email-row button{display:flex;align-items:center;gap:15px;border:0;background:none;padding:14px 0 14px 10px;min-height:48px;color:var(--ink);font:21px/1.4 Georgia,serif;cursor:pointer;white-space:nowrap}
.email-row button:hover{color:var(--accent)}.email-row button:disabled{opacity:.55;cursor:wait}
.join-form [role=status]{min-height:2.8em;margin:12px 0 0;color:var(--muted);font:13px/1.4 Arial,sans-serif;text-align:left}
.join-form input[aria-invalid=true]{color:var(--accent)}
/* An Akatos invitation, inspired by printed correspondence. */
@font-face{font-family:AkatosInvitation;src:url('../assets/fonts/cormorant-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:AkatosInvitation;src:url('../assets/fonts/cormorant-italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
.invitation-letter{padding:65px 6vw 54px;text-align:center;background:linear-gradient(180deg,var(--paper),#eae4d7);overflow:hidden}
.invitation-paper{position:relative;isolation:isolate;background:#fffbf2;width:min(100%,660px);margin:auto;padding:36px 62px 42px;border:1px solid #d4c9b580;box-shadow:0 20px 55px -30px #57472e55,0 1px 2px #65513e10}
.invitation-paper:before{content:'';position:absolute;inset:7px -7px -8px 6px;z-index:-2;background:#eee5d2;transform:rotate(-1.3deg);border:1px solid #d4c9b580}
.invitation-paper:after{content:'';position:absolute;inset:0;z-index:-1;background:#fffbf2;pointer-events:none}
.letter-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}
.letter-brand{text-align:left;font:32px/1 AkatosInvitation,Georgia,serif;letter-spacing:-.04em}
.letter-brand span{display:block;font:italic 15px/1.4 AkatosInvitation,Georgia,serif;letter-spacing:0;color:var(--muted);margin-top:6px}
.sail-stamp{width:69px;height:84px;background:#fcf6e9;padding:5px;border:1px dashed #b4ac93;transform:rotate(6deg)}
.sail-stamp img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 65%;filter:saturate(.8)}
.invitation-letter h2{font:400 clamp(38px,5vw,60px)/1.04 AkatosInvitation,Georgia,serif;letter-spacing:-.025em;margin:0;text-align:center}
.invitation-letter h2 em{color:var(--accent);font-weight:400;font-size:1.08em;display:inline-block;margin-top:4px}
.invitation-letter .join-form{width:min(100%,350px);margin:30px auto 0;text-align:center}
.invitation-letter .email-label{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.invitation-letter .email-row{display:flex;flex-direction:column;gap:17px;border:0}
.invitation-letter .email-row input{width:100%;flex:none;text-align:center;border:0;border-bottom:1px solid #a8a99a;border-radius:0;background:none;padding:11px 8px;font:17px/1.5 Georgia,serif;color:var(--ink);outline:none}
.invitation-letter .email-row input::placeholder{font:italic 20px/1.5 AkatosInvitation,Georgia,serif;color:#7b8275;opacity:1}
.invitation-letter .email-row input:focus{border-bottom:2px solid var(--accent);padding-bottom:10px}
.invitation-letter .email-row button{display:block;min-height:48px;padding:10px 26px;background:none;border:0;border-radius:0;color:var(--accent);font:500 13px/1.5 Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;cursor:pointer}
.invitation-letter .email-row button:hover{color:var(--ink)}
.invitation-letter .email-row button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.invitation-letter .join-form [role=status]{min-height:0;margin:0;font:12px/1.4 Arial,sans-serif;color:var(--muted);text-align:center}
.invitation-letter .join-form [role=status]:not(:empty){margin-top:12px}
.invitation-letter .invitation-links{margin-top:35px}
.invitation-letter .thesis-link{font:13px/1.5 Arial,sans-serif;text-decoration:none;border:0;opacity:1;color:var(--muted);gap:10px}
.invitation-letter .thesis-link:hover{color:var(--accent)}
body[data-design=classical] footer{background:#eae4d7;border:0}
@media(max-width:700px){.invitation-letter{padding:40px 5vw 35px}.invitation-paper{padding:24px 25px 25px}.letter-head{margin-bottom:23px}.letter-brand{font-size:28px}.sail-stamp{width:54px;height:66px}.invitation-letter h2{font-size:clamp(33px,9.7vw,49px);line-height:1.06}.invitation-letter .join-form{margin-top:24px}.invitation-letter .invitation-links{margin-top:28px}}

/* A short message on a postcard, with a single inline email action. */
.invitation-paper{width:min(100%,580px);padding:30px 40px 35px;box-shadow:0 10px 35px -25px #57472e55}
.invitation-paper:before{display:none}
.letter-head{margin-bottom:32px}
.letter-brand{font-size:28px}
.letter-brand span{font-size:14px}
.sail-stamp{width:51px;height:63px;padding:4px;transform:rotate(4deg)}
.invitation-letter h2{font:400 30px/1.25 AkatosInvitation,Georgia,serif;letter-spacing:-.015em;text-align:left;max-width:380px}
.invitation-letter h2 em{display:inline;font-size:1em;margin:0}
.invitation-letter .join-form{width:100%;margin:30px 0 0}
.invitation-letter .email-row{flex-direction:row;gap:12px;border-bottom:1px solid #a8a99a}
.invitation-letter .email-row input{flex:1;min-width:0;width:100%;border:0;padding:12px 0;text-align:left;font:16px/1.5 Arial,sans-serif}
.invitation-letter .email-row input::placeholder{font:15px/1.5 Arial,sans-serif}
.invitation-letter .email-row input:focus{border:0;padding-bottom:12px}
.invitation-letter .email-row:focus-within{border-bottom:2px solid var(--accent);margin-bottom:-1px}
.invitation-letter .email-row button{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;padding:0;text-decoration:none;color:var(--ink)}
.invitation-letter .email-row button:hover{color:var(--accent)}
@media(max-width:700px){.invitation-paper{padding:24px 25px 28px}.letter-head{margin-bottom:28px}.letter-brand{font-size:26px}.sail-stamp{width:45px;height:56px}.invitation-letter h2{font-size:28px;line-height:1.25}.invitation-letter .join-form{margin-top:26px}}

/* Postcard proportions and one shared footer. */
.invitation-letter{padding-bottom:24px}
.invitation-paper{width:min(100%,680px);padding:28px 36px 30px;border:0;background:#fffaf0;box-shadow:0 1px 0 #d6cebd,0 3px 0 -1px #f9f2e5,0 4px 0 -1px #d9d0bf,0 16px 35px -24px #57472e66;transform:rotate(-.6deg);border-radius:1px}
.invitation-paper:after{background:#fffaf0;border-radius:1px}
.letter-head{margin-bottom:25px}
.postage{position:relative;display:flex;align-items:center;gap:0}
.postmark{width:85px;height:44px;margin-right:-14px;stroke:#8b8675;stroke-width:.8;opacity:.25;transform:rotate(-8deg)}
.sail-stamp{position:relative;background:#f8f1df;border:0;padding:5px;outline:1px dashed #b4ac9380;outline-offset:-1px;transform:rotate(3deg)}
.invitation-letter h2{max-width:440px;font-size:29px;line-height:1.25}
.invitation-letter .join-form{margin-top:25px;max-width:100%}
body[data-design=classical] footer.postcard-footer{width:100%;padding:14px max(6vw,calc((100% - 680px)/2)) 35px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#eae4d7}
.postcard-footer>a:first-child{font:24px/1.2 AkatosInvitation,Georgia,serif;letter-spacing:-.03em;text-decoration:none}
.postcard-footer>a:last-child{font:12px/1.5 Arial,sans-serif;text-decoration:none;color:var(--muted)}
.postcard-footer span{margin-left:9px}
.postcard-footer>a:hover{color:var(--accent)}
@media(max-width:700px){.invitation-letter{padding:35px 5vw 20px}.invitation-paper{padding:20px 22px 24px}.letter-head{margin-bottom:23px}.invitation-letter h2{font-size:26px;line-height:1.22}.invitation-letter .join-form{margin-top:22px}.postmark{width:62px;height:36px;margin-right:-10px}.sail-stamp{width:43px;height:53px}.letter-brand{font-size:25px}.letter-brand span{font-size:13px}body[data-design=classical] footer.postcard-footer{padding:14px 6vw 30px}}
.postcard-footer>a:last-child{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:#62787666}
.postcard-footer>a:last-child:hover{text-decoration-color:currentColor}

/* Compact brand dictionary entry. */
.dictionary-entry-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin:0 16px 12px 0;font:14px/1.4 Georgia,serif}.dictionary-entry-head strong{font-size:22px;font-weight:400}.dictionary-entry-head abbr{font-style:italic;text-decoration:none;color:var(--muted)}.dictionary-entry-head span{font:12px/1.4 Arial,sans-serif;color:var(--muted)}.dictionary-entry-meaning{margin:0;font:16px/1.5 Georgia,serif;letter-spacing:0}

/* Preserve the story in normal flow for reduced motion and without JavaScript. */
.story-copy .static-pillars{font:400 clamp(22px,3vw,32px)/1.4 Georgia,serif;color:var(--accent);margin:28px auto 18px}
.motion-story .static-pillars{display:none}
html:not(.motion-story) .pillar-words,html:not(.motion-story) .rising-columns{display:none}
html:not(.motion-story) .story-copy .story-addition{margin-bottom:55px}

/* Readable navigation with comfortable touch targets. */
.navigation>div{font-size:16px;gap:24px}
.navigation>div a{min-height:44px}
@media(max-width:700px){.navigation>div{font-size:15px;gap:16px}.navigation .join-link{min-height:44px;gap:6px}}
@media(max-width:360px){.navigation>div{gap:12px}}

/* Clip the scaled pillar artwork without changing sticky scroll behavior. */
.story-track{overflow-x:clip}

/* Match the navigation typography at both ends of the page. */
.postcard-footer>a:first-child{font:27px Georgia,serif;letter-spacing:normal}
.postcard-footer>a:last-child{font-size:16px;min-height:44px;display:flex;align-items:center}
@media(max-width:700px){.postcard-footer>a:first-child{font-size:23px}.postcard-footer>a:last-child{font-size:15px}}
/* Move the assembled artwork on the compositor rather than relaying it out. */
.motion-story .assembly{top:0;will-change:transform}

/* Waiting values recede until their column rises. */
.motion-story .pillar-word{color:#929d98}
.motion-story .pillar-word.is-active{color:var(--accent)}
.motion-story .pillar-word.is-complete{color:var(--ink)}
