*{box-sizing:border-box}
:root{--letter-green:#244b36;--letter-green-dark:#173524;--letter-gold:#84672f;--letter-paper:#e8d09d}
body.letter-page{margin:0;min-height:100vh;background:#050403;color:var(--letter-green);font-family:"Segoe Script","Lucida Handwriting","Brush Script MT",cursive}
.letter-environment{min-height:100vh;display:grid;place-items:center;padding:28px 16px;background:linear-gradient(rgba(5,3,8,.38),rgba(4,2,7,.72)),url('img/letter-bg-v42.webp') center/cover fixed no-repeat}
.magic-letter-shell{width:min(760px,94vw);perspective:1600px;transform-origin:center;transition:opacity .15s}
.magic-letter{position:relative;width:100%;min-height:680px;padding:54px clamp(34px,7vw,76px) 58px;background:linear-gradient(rgba(244,222,170,.14),rgba(219,187,124,.08)),url('img/letter-parchment-v42.webp') center/100% 100% no-repeat;box-shadow:0 35px 100px rgba(0,0,0,.68);filter:drop-shadow(0 8px 3px rgba(0,0,0,.28));color:var(--letter-green);text-shadow:0 1px rgba(255,255,255,.16)}
.magic-letter:after{content:"";position:absolute;inset:2.5%;pointer-events:none;border:1px solid rgba(90,66,30,.18);box-shadow:inset 0 0 52px rgba(90,55,20,.12)}
.magic-letter-close{position:absolute;z-index:4;right:25px;top:20px;width:42px;height:42px;border:0;background:transparent;color:var(--letter-green-dark);font:700 2rem/1 Georgia,serif;cursor:pointer;opacity:.72}.magic-letter-close:hover{opacity:1;transform:scale(1.08)}
.magic-letter-crest{display:block;width:112px;height:112px;object-fit:contain;margin:0 auto 6px;filter:sepia(.12) saturate(.8) contrast(1.02) drop-shadow(0 4px 5px rgba(76,48,20,.18))}
.magic-letter-school{text-align:center;margin:0;font-family:Georgia,serif;font-size:.74rem;text-transform:uppercase;letter-spacing:.18em;color:#31563f}.magic-letter h1{text-align:center;margin:9px 0 26px;font:700 clamp(1.65rem,4.4vw,2.65rem)/1.1 Georgia,serif;letter-spacing:.04em;color:#1c442f}.magic-letter-copy{font-size:clamp(1.02rem,2vw,1.2rem);line-height:1.78}.magic-letter-copy p{margin:0 0 16px}.magic-letter-salutation{font-size:1.12em;margin-bottom:22px!important}.magic-letter-signature{text-align:right;margin-top:28px!important;font-size:1.1em}.magic-letter-reason{margin:21px 0;padding:12px 14px;border-top:1px solid rgba(36,75,54,.27);border-bottom:1px solid rgba(36,75,54,.27);font-size:.96em}.magic-letter-date{text-align:right;font-size:.88em;opacity:.82;margin-top:-10px!important}.magic-letter-note{text-align:center;font-size:.79em;opacity:.72;margin-top:25px!important}
.magic-letter-shell.closing .magic-letter{animation:rotateAndFadeOut 1s ease-in-out forwards}@keyframes rotateAndFadeOut{0%{transform:rotate(0deg) scale(1);opacity:1}70%{opacity:.45}100%{transform:rotate(360deg) scale(.08);opacity:0}}
.magic-letter-shell.opening .magic-letter{animation:letterArrive .72s cubic-bezier(.17,.82,.28,1) both}@keyframes letterArrive{from{transform:translateY(22px) scale(.92) rotate(-2deg);opacity:0}to{transform:none;opacity:1}}
.owl-arrival{position:fixed;inset:0;z-index:50;background:#000;overflow:hidden}.owl-arrival[hidden]{display:none}.owl-arrival video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}.owl-arrival:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 55%,rgba(0,0,0,.48))}.owl-badge{position:absolute;z-index:3;left:24px;top:22px;color:#eadcb9;font:600 .62rem Georgia,serif;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 2px 7px #000}.owl-controls{position:absolute;z-index:5;right:18px;bottom:18px;display:flex;gap:8px}.owl-controls button,.owl-start button,.after-letter button{border:1px solid #c6a35e;background:rgba(8,8,7,.82);color:#e6d3a8;padding:11px 16px;font:700 .62rem Georgia,serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.owl-start{position:absolute;z-index:10;inset:0;display:grid;place-items:center;text-align:center;padding:24px;background:radial-gradient(circle,rgba(25,21,14,.53),rgba(0,0,0,.91));color:#eee1c5;font-family:Georgia,serif}.owl-start[hidden]{display:none}.owl-start>div{max-width:550px}.owl-start h1{font-size:clamp(2rem,6vw,4.2rem);margin:0 0 10px}.owl-start p{color:#c1b496;line-height:1.55}.owl-start button{background:#9d7739;color:#140e07;font-size:.74rem;padding:14px 20px}.after-letter{min-height:100vh;display:grid;place-items:center;text-align:center;color:#d7c49a;background:#070604;font-family:Georgia,serif}.after-letter[hidden]{display:none}
@media(max-width:650px){.magic-letter{min-height:610px;padding:47px 28px 42px;background-size:cover}.magic-letter-crest{width:88px;height:88px}.magic-letter-close{right:13px;top:12px}.magic-letter-copy{line-height:1.62}.owl-controls{right:10px;bottom:10px}.owl-badge{left:13px;top:13px}}

/* v43 — robustní přílet sovy na mobilu */
.owl-start .owl-skip-secondary{margin-left:8px;background:rgba(8,8,7,.72);color:#e6d3a8}.owl-controls #owlSkip{background:rgba(116,86,39,.84)}
@media(max-width:650px){.owl-controls{left:10px;right:10px;justify-content:flex-end;flex-wrap:wrap}.owl-controls button{padding:9px 11px;font-size:.56rem}.owl-start .owl-skip-secondary{display:block;margin:9px auto 0}}

/* v446: zavreni dopisu prekryje cely viewport, zadna stara grafika/probliknuti. */
body.acceptance-transition::after{content:'';position:fixed;inset:0;z-index:2147483000;background:#070708;pointer-events:none;animation:letterFade446 .22s ease both}
@keyframes letterFade446{from{opacity:0}to{opacity:1}}
