:root{--paper:#f7f1e5;--cream:#fffaf0;--ink:#493f32;--moss:#465946;--sage:#74866c;--rose:#bb7775;--border:#d7c7ae;--muted:#726b5f;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.skip-link{position:absolute;top:-100px;left:10px;z-index:99;background:white;padding:10px}.skip-link:focus{top:10px}.announcement{background:#52634d;color:#f8eee1;text-align:center;font:500 .67rem var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:11px 8px}.tiny-star{padding:0 14px;color:#e7cf9c}.site-header{position:sticky;top:0;z-index:20;background:rgba(250,245,235,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(108,88,60,.13)}.nav-wrap{max-width:1240px;margin:auto;padding:19px 36px;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;font:600 1.65rem/1 var(--serif);letter-spacing:.01em}.brand em{font-weight:400}.brand-mark{color:var(--sage);font-size:2rem}.main-nav{display:flex;align-items:center;gap:34px}.main-nav a{text-decoration:none;font-size:.78rem;letter-spacing:.025em}.main-nav a:hover,.text-link:hover{color:#9c655c}.nav-pill{border:1px solid #6b795d;border-radius:24px;padding:10px 19px}.nav-pill span{margin-left:8px}.menu-toggle{display:none}.hero{max-width:1320px;margin:0 auto;min-height:645px;display:grid;grid-template-columns:48% 52%;align-items:center;padding:52px 38px 78px;gap:16px}.hero-text{padding:0 3% 0 7%;position:relative;z-index:1}.eyebrow{font-size:.66rem;letter-spacing:.2em;font-weight:700;color:#7e816b;text-transform:uppercase}.hero-text .eyebrow span{color:#b2906d;padding:0 6px}.hero h1,h2,h3{font-family:var(--serif);font-weight:500}h1{font-size:clamp(3.4rem,5.4vw,5.8rem);line-height:.99;letter-spacing:-.035em;margin:25px 0}h1 em,h2 em{color:#819077;font-weight:400}.hero-text>p{max-width:450px;font-size:.97rem;line-height:1.95;color:#655e53}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:23px;margin-top:30px}.btn{display:inline-flex;gap:22px;align-items:center;text-decoration:none;border-radius:3px;font-size:.78rem;padding:15px 23px}.btn-primary{background:var(--moss);color:#fdf5e7}.btn-primary:hover{background:#344432}.text-link{font-size:.79rem;text-underline-offset:5px}.hero-note{font:italic 1.17rem var(--serif);color:#897d6b;margin-top:52px}.leaf{font-size:1.5rem;margin-right:8px}.hero-art-wrap{position:relative;padding:14px}.hero-art{padding:11px;background:#ede0c7;box-shadow:0 24px 56px rgba(59,41,24,.13);transform:rotate(1.5deg)}.hero-art img{width:100%;aspect-ratio:1/1;object-fit:cover}.art-stamp{position:absolute;bottom:-26px;left:-15px;background:#f6e9d0;border:1px solid #8b7b61;border-radius:50%;height:116px;width:116px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font:700 .64rem/1.6 var(--serif);letter-spacing:.06em;transform:rotate(-14deg);box-shadow:0 0 0 5px #f6e9d0,0 0 0 6px #9d8a6b;color:#6f6651}.art-stamp span{font-size:1.2rem}.lace-rule{text-align:center;color:#ada388;letter-spacing:17px;font-size:19px;margin:-12px auto 0}.section{scroll-margin-top:100px}.story{max-width:1130px;margin:0 auto;padding:120px 28px;display:grid;grid-template-columns:45% 55%;gap:9%;align-items:center}.story-image-frame{position:relative;max-width:420px;margin:auto;background:#ebddc5;padding:12px;box-shadow:0 18px 42px #45362419;transform:rotate(-2deg)}.story-image-frame img{height:530px;width:100%;object-fit:cover;object-position:top}.story-image-label{position:absolute;bottom:-17px;right:-30px;background:#f8f1df;padding:12px 17px;font:italic 1.25rem var(--serif);box-shadow:0 5px 15px #45362421}.story-copy{max-width:510px}.story-copy h2,.section-header h2,.letter-heading h2,.join-section h2{font-size:clamp(3rem,5vw,4.6rem);line-height:1.05;letter-spacing:-.025em;margin:24px 0}.story-copy p{color:#696255;font-size:.9rem;line-height:2;margin:20px 0}.signature{font:italic 1.4rem var(--serif);margin-top:35px;color:#776c58}.signature strong{font-weight:600}.friends{background:#e9e8da;position:relative;padding:105px 28px 115px}.friends:before,.friends:after{content:'';height:14px;position:absolute;left:0;right:0;background:radial-gradient(circle at 10px -1px,var(--paper) 11px,transparent 12px) repeat-x;background-size:22px 14px}.friends:before{top:-1px;transform:rotate(180deg)}.friends:after{bottom:-1px}.section-header{text-align:center;margin:auto auto 46px;max-width:600px}.section-header h2{margin:19px 0 13px}.section-header p,.letter-heading p{color:#746b60;font-size:.91rem}.friends-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));max-width:1180px;margin:auto;gap:15px}.friend-card{text-align:center;background:#fbf5e9;padding:12px 12px 20px;border:1px solid #d3c6ae;box-shadow:0 8px 16px #423b2b0c}.friend-card:nth-child(even){transform:translateY(12px)}/* Character portraits are cropped above the lettering embedded in the original illustration.
   Names and roles remain accessible, selectable HTML text below each portrait. */
.friend-card img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center top;filter:saturate(.87);background:#f5e8d3}.friend-card h3{font-size:2.05rem;line-height:1;margin:20px 0 4px}.friend-card .role{font:italic 1.1rem var(--serif);color:#8c685f;margin:0}.friend-card p:last-child{font-size:.73rem;line-height:1.65;color:#706759;margin:10px 1px 2px}.letter-section{padding:112px 28px;max-width:1250px;margin:auto}.letter-heading{text-align:center;max-width:700px;margin:auto auto 43px}.letter-heading h2{margin:20px 0 12px}.letter-display{display:grid;grid-template-columns:54% 46%;align-items:center;gap:0}.letter-photo{position:relative;transform:rotate(-1.2deg);background:#eadcc6;padding:11px;box-shadow:0 18px 40px #48352220}.letter-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}.letter-photo>span{position:absolute;left:15px;bottom:16px;background:#f8eddaeb;font:italic 1.05rem var(--serif);padding:8px 16px}.letter-paper{margin:20px 0 20px -30px;transform:rotate(1deg);background:#fbf3e3;padding:39px clamp(24px,4.1vw,57px) 31px;border:1px solid #ddc6a1;box-shadow:0 15px 35px #49351d19;position:relative;text-align:center;background-image:radial-gradient(#9c866f15 .6px,transparent .6px);background-size:6px 6px}.letter-paper-top{font:600 1.2rem/1.1 var(--serif)}.letter-paper-top small{font-size:.6rem;letter-spacing:.2em}.letter-number{font-size:.65rem;letter-spacing:.2em;color:#957a61;margin:25px 0 2px}.letter-paper h3{font-size:2.8rem;line-height:1.02;margin:4px 0 24px}.letter-paper p{font:1.17rem/1.35 var(--serif);text-align:left;margin:12px 0}.letter-paper .salutation{font-style:italic}.signoff{text-align:left;font:italic 1.04rem var(--serif);margin:23px 0}.signoff strong{font-size:1.85rem;font-weight:500}.letter-button{background:transparent;border:0;border-bottom:1px solid #978369;color:#584b3e;font-size:.75rem;padding:9px 0;cursor:pointer}.letter-button:hover{color:#a26760}.letter-disclaimer{text-align:center;color:#8c8576;font-size:.72rem;margin-top:39px}.join-section{text-align:center;position:relative;overflow:hidden;background:#e4e8d9;padding:100px 24px 90px}.join-section:before,.join-section:after{content:'❦';position:absolute;opacity:.1;color:#50644d;font:19rem var(--serif);top:15%;pointer-events:none}.join-section:before{left:-95px;transform:rotate(-20deg)}.join-section:after{right:-90px;transform:rotate(20deg)}.join-section h2{margin:20px 0}.join-section>p{max-width:500px;margin:0 auto 28px;color:#696e5f;font-size:.9rem}.join-spark{color:#ab8e67;letter-spacing:15px;margin-bottom:15px}.join-section form{max-width:550px;margin:25px auto 0;position:relative;z-index:1}.email-row{display:flex;border:1px solid #bdc6b3;background:#fffaf0;padding:5px}.email-row input{flex:1;min-width:0;background:none;border:0;padding:14px 12px;outline:0;font-size:.85rem;color:#4b4e42}.email-row input:focus-visible{outline:2px solid #718968;outline-offset:-2px}.email-row button{border:0;background:#52664d;color:white;padding:0 22px;font-size:.77rem;cursor:pointer}.email-row button:hover{background:#374b35}.consent{display:flex;text-align:left;align-items:flex-start;gap:12px;margin-top:16px;font-size:.72rem;line-height:1.65;color:#5d6659}.consent input{margin-top:4px;accent-color:#4e6549}.consent a{text-underline-offset:3px}.small-note{font:italic 1.08rem var(--serif)!important;margin-top:22px!important}.join-decoration{font:3rem var(--serif);color:#839179}.footer{background:#435444;color:#f9f1e4;padding:42px 32px 22px}.footer-inner{max-width:1180px;margin:auto;display:flex;justify-content:space-between;gap:25px}.footer-brand{font:2.1rem var(--serif)}.footer-brand span{color:#d2b68b}.footer p{font:italic 1.15rem var(--serif);margin:1px 0}.footer-links{display:flex;gap:26px;align-items:center}.footer-links a{color:#f5ead9;text-decoration:none;font-size:.76rem}.footer-links a:hover{text-decoration:underline}.footer-bottom{max-width:1180px;margin:36px auto 0;border-top:1px solid #ffffff35;padding-top:19px;display:flex;gap:12px;justify-content:space-between;font-size:.63rem;color:#dedbcc}.hidden-field,.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}dialog{max-width:610px;width:calc(100% - 30px);max-height:85vh;overflow:auto;padding:43px 48px;background:#f9f0de;border:1px solid #c8b394;box-shadow:0 30px 100px #0d160b66;color:#5b4b3b}dialog::backdrop{background:#17261cb8;backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:17px;top:10px;background:none;border:0;font-size:2rem;color:#67594c;cursor:pointer}.dialog-kicker{font:.65rem var(--sans);letter-spacing:.17em;text-align:center;color:#9d7a5f}dialog h2{text-align:center;font-size:3.1rem;margin:18px 0 30px}dialog p{font:1.33rem/1.5 var(--serif)}.dialog-signature{font-style:italic}.dialog-signature strong{font-size:2rem}.dialog-footnote{font-size:.95rem!important;color:#8e806e}a:focus-visible,button:focus-visible{outline:2px solid #a16a51;outline-offset:4px}@media(max-width:980px){.hero{min-height:auto;grid-template-columns:1fr 1fr;padding:55px 28px}.hero-text{padding:0}.hero h1{font-size:3.5rem}.friends-grid{grid-template-columns:repeat(3,1fr);max-width:780px}.friend-card:nth-child(even){transform:none}.letter-display{grid-template-columns:1fr 1fr}.letter-paper{padding:28px 22px}.story{gap:6%;padding:85px 28px}.story-image-frame img{height:430px}}@media(max-width:700px){.nav-wrap{padding:13px 19px}.brand{font-size:1.38rem}.brand-mark{font-size:1.5rem}.menu-toggle{display:flex;width:40px;height:36px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:5px;align-items:flex-end;cursor:pointer}.menu-toggle span{height:2px;background:#495540;width:23px}.menu-toggle span:nth-child(2){width:17px}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#f8f1e5;box-shadow:0 16px 22px #3b352b13;padding:20px 25px 30px;flex-direction:column;align-items:stretch;gap:18px}.main-nav.is-open{display:flex}.nav-pill{text-align:center}.hero{display:flex;flex-direction:column;text-align:center;padding:46px 20px 50px;gap:30px}.hero-text{order:1}.hero-art-wrap{order:0;width:min(100%,490px)}.art-stamp{width:90px;height:90px;font-size:.55rem;bottom:-15px;left:3px}.hero h1{font-size:clamp(3rem,10vw,4rem);margin:15px 0}.hero-text>p{margin:0 auto}.hero-actions{justify-content:center;gap:15px}.hero-note{margin-top:29px}.lace-rule{letter-spacing:9px}.story{display:flex;flex-direction:column;gap:49px;padding:65px 25px 78px}.story-image-frame{width:80%}.story-image-frame img{height:auto;aspect-ratio:4/5}.story-image-label{font-size:.96rem;right:-18px}.story-copy{text-align:center}.story-copy h2,.section-header h2,.letter-heading h2,.join-section h2{font-size:3.25rem}.friends{padding:76px 18px 84px}.friends-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.friend-card{padding:8px 8px 15px}.friend-card h3{font-size:1.75rem}.friend-card .role{font-size:1rem}.friend-card p:last-child{font-size:.68rem}.friends-grid .friend-card:last-child{grid-column:1/-1;max-width:220px;margin:auto}.letter-section{padding:75px 19px}.letter-display{display:flex;flex-direction:column;gap:20px}.letter-photo{width:100%;transform:rotate(-1deg)}.letter-paper{margin:0;width:95%;max-width:490px;transform:rotate(1deg)}.join-section{padding:77px 20px 62px}.footer-inner{display:block;text-align:center}.footer-links{justify-content:center;margin-top:25px}.footer-bottom{display:block;text-align:center;line-height:2}.footer-bottom span{display:block}.email-row button{padding:0 12px}.consent{font-size:.72rem}dialog{padding:40px 23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
