:root{--ink:#202020;--red:#b42929;--muted:#656565;--line:#dededb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fafaf8;color:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:3px}a:hover{color:var(--red)}a:focus-visible,input:focus-visible,button:focus-visible{outline:3px solid var(--red);outline-offset:3px}.wrap{width:min(980px,calc(100% - 36px));margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:72px;border-bottom:1px solid var(--line)}header>a{padding:12px 0;font-size:14px;text-decoration:none}.brand{font-size:21px;font-weight:750;letter-spacing:-.045em}.brand span{color:var(--red)}h1,h2,p{margin:0}.intro{text-align:center;padding:32px 0 27px}h1{font-size:clamp(29px,4vw,43px);line-height:1.12;letter-spacing:-.05em}.intro p{margin-top:10px;color:var(--muted);font-size:16px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.cards article{min-width:0}.cards img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#eeeDE8;border:1px solid #e6e5df;border-radius:9px}.cards h2{font-size:18px;letter-spacing:-.02em;line-height:1.25;margin:13px 0 5px}.cards small{font-size:12px;display:block;color:var(--muted)}.caption{font-size:12px;color:var(--muted);text-align:center;margin:20px 0 27px}.newsletter{max-width:660px;margin:0 auto 22px;border-top:1px solid var(--line);padding-top:25px}.newsletter h2{font-size:24px;letter-spacing:-.04em;text-align:center;line-height:1.2;margin-bottom:20px}.email-row{display:flex;gap:9px}.email-row input{min-width:0;flex:1;width:100%;border:1px solid #aaa;border-radius:6px;background:#fff;padding:13px;font:16px Arial;color:var(--ink)}button{border:0;border-radius:6px;min-height:48px;padding:12px 23px;background:var(--ink);color:#fff;font:600 16px Arial;cursor:pointer;white-space:nowrap}button:hover{background:var(--red)}button:disabled{opacity:.6;cursor:wait}.consent-row{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:7px 0;font-size:14px;cursor:pointer}.consent-row input{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:var(--red)}.privacy-link{font-size:12px;color:var(--muted);margin:3px 0 0 30px}.status{font-size:14px;margin-top:10px;min-height:22px}.success{color:#285333;font-weight:600}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;padding:18px 0;color:var(--muted);font-size:12px}footer a{display:inline-block;padding:8px 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;top:-100px;left:10px;background:#fff;padding:10px}.skip:focus{top:10px}.no-js form{display:none}.policy{max-width:730px;padding:30px 0}.policy h1{font-size:32px}.policy h2{font-size:21px;margin:25px 0 10px}.policy p{margin:12px 0}.policy .notice{border-left:3px solid var(--red);padding:12px 16px;background:#eee}
@media(max-width:600px){header{min-height:60px}.intro{padding:23px 0 21px}.cards{grid-template-columns:1fr;gap:12px}.cards article{display:grid;grid-template-columns:100px 1fr;column-gap:15px;align-items:center;background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden;padding:10px}.cards img{grid-row:1/3;width:100px;height:100px;border:0;border-radius:5px}.cards h2{align-self:end;margin:0 0 5px;font-size:18px}.cards small{align-self:start;font-size:12px}.caption{margin:14px 0 20px}.newsletter{padding-top:20px}.newsletter h2{font-size:23px;text-align:left;margin-bottom:15px}.email-row{gap:7px}button{padding:12px 16px}.privacy-link{margin-left:30px}}@media(max-width:350px){.wrap{width:calc(100% - 24px)}.cards article{grid-template-columns:85px 1fr;column-gap:10px}.cards img{height:85px;width:85px}.brand{font-size:19px}.email-row{flex-direction:column}.newsletter h2{font-size:21px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Mobile layout, including the 393px iPhone 15 viewport. */
@media (max-width:600px) {
  .wrap { width:calc(100% - 32px); }
  header { min-height:64px; gap:10px; }
  header>a { display:inline-flex; align-items:center; min-height:44px; }
  .brand { font-size:20px; }
  .intro { padding:28px 0 24px; }
  .intro h1 { max-width:320px; margin-inline:auto; font-size:34px; line-height:1.08; }
  .intro p { font-size:15px; line-height:1.5; }
  .cards { gap:12px; }
  .cards article { grid-template-columns:104px minmax(0,1fr); column-gap:14px; padding:10px; }
  .cards img { width:104px; height:104px; }
  .cards h2 { font-size:17px; line-height:1.3; }
  .cards small { line-height:1.5; }
  .caption { margin:18px auto 24px; max-width:300px; line-height:1.6; }
  .newsletter { padding-top:24px; margin-bottom:16px; scroll-margin-top:20px; }
  .newsletter h2 { max-width:290px; font-size:25px; line-height:1.2; margin-bottom:18px; }
  .email-row { flex-direction:column; gap:10px; }
  .email-row input, .email-row button { min-height:50px; width:100%; }
  .consent-row { min-height:44px; align-items:center; line-height:1.5; padding-block:10px; }
  .privacy-link { margin-left:0; }
  .privacy-link a { display:inline-flex; align-items:center; min-height:44px; }
  footer { align-items:center; flex-wrap:wrap; padding-bottom:max(20px,env(safe-area-inset-bottom)); }
  footer a { min-height:44px; display:inline-flex; align-items:center; }
}
@media (max-width:350px) {
  .brand { font-size:18px; }
  header>a:not(.brand) { font-size:13px; }
  .intro h1 { font-size:30px; }
  .cards article { grid-template-columns:85px minmax(0,1fr); gap:10px; }
  .cards img { width:85px; height:85px; }
}

/* Editorial headings for the frame-inspiration landing page. */
.intro h1, .cards h2, .newsletter h2 {
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  font-weight: 400;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.intro h1 { font-size:clamp(36px,5vw,54px); line-height:1.08; }
.cards h2 { font-size:23px; line-height:1.15; letter-spacing:-.015em; }
.newsletter h2 { font-size:32px; line-height:1.15; }
@media (max-width:600px) {
  .intro h1 { font-size:38px; max-width:330px; }
  .cards h2 { font-size:22px; line-height:1.15; }
  .newsletter h2 { font-size:30px; max-width:320px; }
}
@media (max-width:350px) {
  .intro h1 { font-size:34px; }
  .cards h2 { font-size:20px; }
  .newsletter h2 { font-size:27px; }
}

/* Keep scrolling available without a visible scrollbar. */
html { scrollbar-width: none; }
html::-webkit-scrollbar, body::-webkit-scrollbar { display: none; width: 0; height: 0; }

/* Fill the gift journal thumbnails with the new editorial photos. */
.cards img { object-fit:cover; }
