/* Letters from the Innkeepers — brand-matched, mobile-friendly. */
.letters-home-invite{background:radial-gradient(circle at 15% 12%,#53684766 0,transparent 48%),linear-gradient(120deg,#162b20,#254131 65%,#182c22);border-block:1px solid #ceb17d70;padding:72px 0;color:#f6edd8;position:relative;overflow:hidden}
.letters-home-invite:before{content:'✧';position:absolute;left:3%;top:-105px;font:340px/1 Georgia,serif;color:#d7bd885a;opacity:.19;pointer-events:none}
.letters-home-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:36px;position:relative}
.letters-home-invite .letters-kicker,.letters-page-hero .letters-kicker{font:700 10px/1.6 'Trebuchet MS',Arial,sans-serif;letter-spacing:.32em;text-transform:uppercase;color:#dec38d}
.letters-home-invite h2{font:normal clamp(38px,4.1vw,63px)/1.09 Georgia,serif;letter-spacing:-.045em;margin:16px 0}
.letters-home-invite h2 em{font-weight:normal;color:#e0bf83}
.letters-home-invite p{color:#d4dccf;max-width:700px;font-size:15px;line-height:1.85}
.letters-home-invite .letters-home-button{display:inline-flex;align-items:center;justify-content:center;min-width:215px;min-height:53px;border:1px solid #dfbc7e;background:#e5d2aa;color:#23402e;text-transform:uppercase;letter-spacing:.13em;font-weight:700;font-size:11px;padding:16px 22px;transition:background .18s ease,transform .18s ease}
.letters-home-invite .letters-home-button:hover{background:#fff0ca;transform:translateY(-2px)}
.letters-page-hero{background:radial-gradient(ellipse at 50% 0,#4f634630,transparent 72%),linear-gradient(#152a21,#1d3627);text-align:center;padding:92px 22px 82px;color:#f5ead1;position:relative;border-bottom:1px solid #aa89554f}
.letters-page-hero .letters-emblem{width:72px;height:72px;object-fit:contain;display:block;margin:0 auto 18px;filter:drop-shadow(0 1px 7px #0005)}
.letters-page-hero h1{font:normal clamp(48px,6.3vw,96px)/.99 Georgia,serif;letter-spacing:-.055em;margin:18px auto 23px;max-width:900px}
.letters-page-hero h1 em{font-weight:normal;color:#ddc08a}
.letters-page-hero .letters-deck{max-width:655px;font:normal clamp(16px,1.5vw,20px)/1.8 Georgia,serif;color:#e2dbcb;margin:auto}
.letters-page-hero .letters-rule{display:flex;align-items:center;justify-content:center;gap:15px;color:#bd9963;margin:37px auto 0;font:23px Georgia,serif}
.letters-page-hero .letters-rule:before,.letters-page-hero .letters-rule:after{content:'';height:1px;width:95px;background:#997c4f80}
.letters-sheet-section{background:#ecdec3;position:relative;padding:94px 22px 110px;color:#2c3227}
.letters-sheet-section:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 2% 10%,#c3a97d24,transparent 50%),radial-gradient(ellipse at 95% 90%,#ac865221,transparent 55%)}
.letters-sheet-layout{position:relative;max-width:1160px;margin:0 auto;display:grid;grid-template-columns: minmax(0,.93fr) minmax(0,1.07fr);gap:67px;align-items:center}
.letters-note{padding:24px 10px 30px 0;position:relative}
.letters-note .letters-overline{font:700 10px 'Trebuchet MS',Arial,sans-serif;letter-spacing:.26em;color:#99683d;text-transform:uppercase}
.letters-note h2{font:normal clamp(37px,3.7vw,58px)/1.14 Georgia,serif;margin:18px 0 24px;letter-spacing:-.04em}
.letters-note h2 em{color:#aa7547;font-weight:normal}
.letters-note p{font:normal 16px/1.95 Georgia,serif;color:#554b3a;margin:0 0 19px}
.letters-note .letters-signature{font:italic 24px/1.3 Georgia,serif;color:#38563f;margin-top:23px}
.letters-note .letters-signature small{display:block;font:700 10px/2 'Trebuchet MS',Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#926d4a;margin-top:6px}
.letters-parchment{position:relative;background:linear-gradient(145deg,#fffcf3,#f7edda);border:1px solid #cdb894;padding:47px 47px 43px;box-shadow:17px 18px 0 #675a4620,0 25px 65px #654a2a30}
.letters-parchment:before,.letters-parchment:after{content:'✦';font:22px Georgia,serif;color:#b68c58;position:absolute}
.letters-parchment:before{top:13px;left:16px}.letters-parchment:after{bottom:13px;right:16px}
.letters-parchment .letters-form-heading{text-align:center;margin-bottom:23px}
.letters-parchment .letters-form-heading img{display:block;width:54px;height:54px;object-fit:contain;margin:0 auto 9px;background:#263b2c;padding:6px;border-radius:50%}
.letters-parchment .letters-form-heading span{font:700 10px 'Trebuchet MS',Arial,sans-serif;text-transform:uppercase;letter-spacing:.22em;color:#996b3e}
.letters-parchment .letters-form-heading h3{font:normal 38px/1.12 Georgia,serif;letter-spacing:-.035em;margin:11px 0 5px;color:#2a3f2d}
.letters-parchment .letters-form-heading p{color:#736551;font:14px/1.6 Georgia,serif;margin:0}
.letters-join-form label.letters-field-label{display:block;font:700 10px 'Trebuchet MS',Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#4b5947;margin:18px 0 8px}
.letters-join-form .letters-entry{display:block;width:100%;border:1px solid #b6a98d;background:#fffdf8;color:#253e2f;border-radius:0;height:52px;padding:14px 15px;font:16px Georgia,serif;box-sizing:border-box}
.letters-join-form .letters-entry::placeholder{color:#8c826d}
.letters-join-form .letters-entry:focus-visible,.letters-join-form button:focus-visible,.letters-home-button:focus-visible{outline:3px solid #b98b57;outline-offset:3px}
.letters-check{display:flex;gap:12px;align-items:flex-start;margin:22px 0 23px;font:12px/1.7 'Trebuchet MS',Arial,sans-serif;color:#5f5548;cursor:pointer}
.letters-check input{margin:3px 0 0;flex:0 0 19px;width:19px;height:19px;accent-color:#2b4a38;cursor:pointer}
.letters-join-form button[type=submit]{display:block;width:100%;background:#254330;color:#f6e9ca;padding:18px 21px;border:1px solid #254330;border-radius:0;font:700 11px 'Trebuchet MS',Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase;transition:background .18s ease}
.letters-join-form button[type=submit]:hover{background:#386048}
.letters-join-form button[type=submit]:disabled{opacity:.65;cursor:progress}
.letters-form-feedback{min-height:1.2em;margin:15px 0 0;font:13px/1.6 'Trebuchet MS',Arial,sans-serif}
.letters-form-feedback.is-success{color:#275b37;font-weight:700}
.letters-form-feedback.is-error{color:#a43825}
.letters-form-tail{font:italic 12px/1.7 Georgia,serif;text-align:center;margin:10px auto 0;color:#887b65}
.letters-topics{background:#152c22;color:#f6eed9;padding:83px 22px 92px}
.letters-topics .letters-topics-wrap{max-width:1160px;margin:auto}
.letters-topics .letters-topics-overline{font:700 10px 'Trebuchet MS',Arial,sans-serif;letter-spacing:.26em;color:#d4b580;text-transform:uppercase;text-align:center}
.letters-topics h2{text-align:center;font:normal clamp(34px,3.5vw,54px)/1.1 Georgia,serif;margin:16px 0 49px}
.letters-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.letters-topic{border:1px solid #b59a685d;padding:29px 26px;min-height:165px;background:#35534022}
.letters-topic .letters-topic-symbol{font:28px Georgia,serif;color:#dfbf85}
.letters-topic h3{font:normal 23px Georgia,serif;margin:12px 0 8px;color:#f2e1bf}
.letters-topic p{color:#cdd6c9;font:13px/1.8 'Trebuchet MS',Arial,sans-serif;margin:0}
@media(max-width:900px){.letters-sheet-layout{grid-template-columns:1fr;max-width:680px;gap:35px}.letters-note{padding:0}.letters-home-inner{grid-template-columns:1fr}.letters-home-invite .letters-home-button{justify-self:start}.letters-topic-grid{grid-template-columns:1fr 1fr}.letters-page-hero{padding:74px 20px 70px}}
@media(max-width:600px){.letters-home-invite{padding:59px 4px}.letters-home-inner{gap:20px}.letters-home-invite h2{font-size:43px}.letters-home-invite p{font-size:14px}.letters-page-hero h1{font-size:54px}.letters-page-hero .letters-deck{font-size:16px}.letters-sheet-section{padding:52px 15px 75px}.letters-parchment{padding:34px 21px 28px;box-shadow:8px 10px 0 #675a4620}.letters-parchment .letters-form-heading h3{font-size:32px}.letters-topic-grid{grid-template-columns:1fr}.letters-topics{padding:65px 18px}.letters-topics h2{margin-bottom:31px}}
