@import url('/tarot/tarot.css');
:root{--paper:#f3e9d3;--ink:#102625;--accent:#98502c}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 Georgia,serif}
a{color:inherit;text-underline-offset:4px}
button,input,textarea{font:inherit}
button,.ink-button{display:inline-block;background:var(--ink);color:var(--paper);padding:13px 22px;border:1px solid var(--ink);text-decoration:none;cursor:pointer}
button:disabled{opacity:.6;cursor:wait}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #bc671f;outline-offset:4px}
.desk-header{background:var(--ink);color:var(--paper);padding:20px max(5%,20px);display:flex;justify-content:space-between;gap:24px;align-items:center}
.brand{font-size:30px;text-decoration:none}
.brand span{font-size:23px;margin-left:12px}
.desk-header nav{display:flex;flex-wrap:wrap;gap:10px 24px;font:14px/1.5 Arial,sans-serif}
.eyebrow,.small,.fiction-label,.signature{font-family:Arial,sans-serif}
.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.small,.fiction-label{font-size:14px;line-height:1.55}
.masthead{text-align:center;border-bottom:3px double #796f5d;padding:40px 20px 34px;max-width:1240px;margin:auto}
.masthead h1{font-size:clamp(70px,12vw,150px);letter-spacing:-.065em;line-height:1;margin:12px 0 20px}
.masthead>p:not(.eyebrow){font-size:23px;margin:12px}
.masthead .ink-button{font:14px Arial,sans-serif;margin-top:10px}
.lead{max-width:1120px;margin:auto;padding:60px 25px;display:grid;grid-template-columns:1.5fr 1fr;gap:65px;border-bottom:1px solid #ada28b}
.lead h2{font-size:46px;line-height:1.08;letter-spacing:-.025em;margin:10px 0 25px}
.lead h2 a{text-decoration:none}
.lead-question{font-style:italic;font-size:23px}
.lead aside img{width:100%;height:auto;max-height:540px;object-fit:cover}
.lead aside>p{font-style:italic;font-size:22px}
.byline{display:flex;gap:15px;align-items:center;text-decoration:none;margin-top:30px;font:14px/1.5 Arial,sans-serif}
.byline img{width:64px;height:80px;object-fit:cover}
.byline strong,.byline small{display:block}
.byline strong{font:23px Georgia,serif}
.byline small{font-size:14px;margin-top:5px}
.submission-prompt{max-width:1120px;margin:0 auto;padding:30px 25px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-block:1px solid #ada28b;background:rgba(255,255,255,.2)}
.submission-prompt h2{font-size:32px;line-height:1.15;letter-spacing:-.02em;margin:4px 0 6px}
.submission-prompt p{margin:0}
.submission-prompt .ink-button{flex-shrink:0;font:14px Arial,sans-serif}
.archive{max-width:1240px;margin:auto;padding:55px 25px}
.archive-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:3px double #796f5d;padding-bottom:15px}
.archive h2,.write-desk h2,.send-prompt h2{font-size:42px;line-height:1.15;letter-spacing:-.02em}
.archive-heading p{font:14px/1.6 Arial,sans-serif}
.archive-heading h1{font-size:clamp(38px,5vw,58px);line-height:1.1;margin:16px 0}
.archive-more{margin:32px 0 0;text-align:center}
.letter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 34px}
.letter-grid article{padding:30px 0;border-bottom:1px solid #ada28b;display:flex;flex-direction:column}
.letter-grid h3{font-size:28px;line-height:1.18;margin:5px 0 10px}
.letter-grid h3 a{text-decoration:none}
.letter-grid p{margin:10px 0}
.read-answer{font:14px Arial,sans-serif;margin-top:auto;padding-top:15px}
.write-desk{background:var(--ink);color:var(--paper);padding:65px max(5%,25px);display:grid;grid-template-columns:1fr 1fr;gap:65px}
.write-desk .eyebrow{color:#e4ba58}
.write-desk h2{margin:12px 0 25px}
.write-desk form{scroll-margin-top:20px}
.write-desk form>label{display:block;margin-bottom:20px;font:16px/1.5 Arial,sans-serif}
.write-desk input:not([type=checkbox]),.write-desk textarea{display:block;width:100%;margin-top:8px;padding:13px;background:#f8f1e3;color:var(--ink);border:1px solid #a89b82;border-radius:0;font:16px/1.5 Arial,sans-serif}
.write-desk .consent{display:flex;align-items:start;gap:12px}
.consent input{width:20px;height:20px;flex-shrink:0;margin-top:3px}
.write-desk button{background:#e4ba58;color:var(--ink);font:16px Arial,sans-serif}
.write-desk [role=alert]{color:#ffe2bf;border-left:3px solid #e4ba58;padding:10px}
.receipt{overflow-wrap:anywhere;font:14px/1.7 monospace}
.letter{max-width:770px;margin:0 auto;padding:25px 25px 60px}
.letter h1{font-size:clamp(38px,6vw,65px);line-height:1.08;letter-spacing:-.025em}
.question{border-block:1px solid #ada28b;padding:20px 0;margin:30px 0}
.question h2{font-size:25px}
.question p{font-size:21px}
.question .signature{font-size:14px;text-align:right}
.answer{font-size:21px}
.answer>p:first-child{font-weight:bold}
.back{display:block;max-width:770px;margin:35px auto 0;padding:0 25px;font:14px Arial,sans-serif}
.adjacent{max-width:1000px;margin:auto;border-top:1px solid #ada28b;padding:30px 25px;display:flex;justify-content:space-between;gap:30px;font:16px/1.6 Arial,sans-serif}
.adjacent>a{max-width:45%}
.send-prompt{text-align:center;padding:30px 20px 65px}
footer{padding:40px 25px;border-top:3px double #796f5d;text-align:center;font:15px/1.7 Arial,sans-serif}
footer>p{max-width:760px;margin:15px auto}
footer>a:first-child{font:27px Georgia,serif}
.skip{position:absolute;left:-9999px}
.skip:focus{left:15px;top:15px;background:var(--paper);padding:10px;z-index:99}
[hidden]{display:none!important}
@media(max-width:850px){.letter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.lead{gap:30px}
.lead h2{font-size:36px}
.write-desk{gap:30px}
}
@media(max-width:600px){.desk-header{align-items:start;gap:15px}
.brand{font-size:26px;white-space:nowrap}
.brand span{font-size:18px;margin-left:5px}
.desk-header nav{justify-content:end;gap:8px 12px;font-size:14px}
.masthead{padding-top:30px}
.lead,.write-desk{grid-template-columns:1fr}
.lead{padding-top:35px}
.lead aside{display:none}
.submission-prompt{align-items:stretch;flex-direction:column;padding:26px 22px;gap:18px}
.submission-prompt h2{font-size:28px}
.submission-prompt .ink-button{text-align:center;min-height:44px}
.letter-grid{grid-template-columns:1fr}
.archive-heading{display:block}
.archive h2,.write-desk h2{font-size:36px}
.letter h1{font-size:42px}
.answer,.question p{font-size:19px}
.write-desk{padding:40px 22px}
.adjacent{font-size:14px}
.byline small{font-size:14px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}
}
