:root{--background:#e9ded3;--paper:#fffaf0;--ink:#433a35;--muted-ink:#77665d;--accent:#a88479}*{box-sizing:border-box}html{background:var(--background);min-width:320px}body{color:var(--ink);background:var(--background);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Georgia,Times New Roman,serif}.setting{isolation:isolate;place-items:center;min-height:100svh;padding:clamp(1.15rem,4vw,4rem);display:grid;position:relative;overflow:hidden}.setting:before{z-index:-2;content:"";background:radial-gradient(circle at 18% 12%,#ffffff52,#0000 30%),radial-gradient(circle at 82% 88%,#97706414,#0000 34%);position:absolute;inset:0}.setting:after{z-index:-1;opacity:.08;pointer-events:none;content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90' viewBox='0 0 90 90'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E");position:absolute;inset:0}.letter{background:var(--paper);border:1px solid #70584917;width:min(100%,47rem);margin:auto;padding:clamp(2.5rem,7vw,5.75rem) clamp(1.75rem,8vw,6rem) clamp(2.65rem,7vw,5.25rem);animation:1s cubic-bezier(.22,.75,.28,1) both letter-arrival;position:relative;transform:rotate(-.28deg);box-shadow:0 2px 3px #49302512,0 18px 46px #4930252b,0 45px 85px #49302514}.letter:before{opacity:.035;pointer-events:none;content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='.12'/%3E%3C/svg%3E");position:absolute;inset:0}.languageSwitcher{z-index:1;color:var(--muted-ink);letter-spacing:.13em;align-items:center;font-family:Arial,Helvetica,sans-serif;font-size:.66rem;display:flex;position:absolute;top:clamp(1.25rem,3vw,2rem);right:clamp(1.35rem,4vw,2.75rem)}.languageChoice{color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;opacity:.52;background:0 0;border:0;border-bottom:1px solid #0000;padding:.35rem .28rem}.languageChoice:hover{opacity:.8}.languageChoice:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.languageSeparator{opacity:.45;margin:0 .12rem}html[data-locale=fr] .languageChoiceFr,html[data-locale=en] .languageChoiceEn{opacity:1;border-bottom-color:currentColor;font-weight:600}.letterHeader{flex-direction:column;align-items:center;margin-bottom:clamp(2rem,5vw,3.3rem);display:flex}.brand{color:var(--muted-ink);letter-spacing:.25em;text-transform:uppercase;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:.71rem;font-weight:500;line-height:1.4}.ornament{background:var(--accent);opacity:.65;width:2.75rem;height:1px;margin-top:1rem}.letterBody{max-width:35rem;margin:0 auto;position:relative}.localizedContent{display:none}html[data-locale=fr] .locale-fr,html[data-locale=en] .locale-en{display:block}h1{color:#52433d;letter-spacing:-.025em;margin:0 0 clamp(2rem,5vw,3rem);font-size:clamp(2rem,6vw,3.25rem);font-weight:400;line-height:1.08}.letterBody p{margin:0 0 1.35em;font-size:clamp(1.04rem,1.8vw,1.18rem);line-height:1.73}.heart{filter:saturate(.68);margin-left:.12em;font-size:.8em;display:inline-block}.signature{color:#76594f;text-align:right;margin-top:clamp(2.2rem,5vw,3.3rem);padding-right:clamp(.4rem,6vw,3.25rem);font-family:Snell Roundhand,Segoe Script,Bradley Hand,cursive;font-size:clamp(2.35rem,7vw,3.7rem);line-height:1;transform:rotate(-4deg)}.redirectPage{color:var(--ink)}.redirectPage a{color:inherit}@keyframes letter-arrival{0%{opacity:0;transform:translateY(10px)rotate(-.28deg)scale(.995)}to{opacity:1;transform:translateY(0)rotate(-.28deg)scale(1)}}@media (max-width:520px){.setting{align-items:start;padding:.9rem}.letter{min-height:calc(100svh - 1.8rem);padding:2.75rem 1.55rem 3rem;transform:none}.languageSwitcher{top:1.1rem;right:1.15rem}.letterHeader{margin-bottom:2.4rem}.letterBody p{line-height:1.65}.signature{padding-right:.75rem}@keyframes letter-arrival{0%{opacity:0;transform:translateY(8px)scale(.997)}to{opacity:1;transform:translateY(0)scale(1)}}}@media (prefers-reduced-motion:reduce){.letter{animation:none}}
