/* Photographs and words lead; the interface stays quiet. */
.sn-native-site .sn-native-main :is(.sn-mosaic-card, .sn-teacher-card, .sn-memory-link, .sn-milestone-card, .sn-care-card, .sn-promise-card, .sn-value-card, .sn-letter-type-card, .sn-living-item, .sn-action-card, .sn-mini-card, .sn-area-card, .sn-dynamic-memory-card, .sn-gallery-card, .career, .sn-memory-card, .sn-featured-memory) p,
.sn-native-site .sn-home :is(.value-grid, .world-grid) p { font-size: 15px; line-height: 1.8; }
.sn-native-site .sn-poem-rights p { font-size: 14px; line-height: 1.8; }
.sn-letters-page .sn-dynamic-letters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; scroll-margin-top: 110px; }
.sn-letters-page .sn-dynamic-letters .sn-letter { display: flex; flex-direction: column; width: 100%; max-width: none; margin: 0; padding: clamp(26px, 3vw, 36px); border-radius: 22px; scroll-margin-top: 110px; }
.sn-letters-page .sn-dynamic-letters .sn-letter:only-of-type { grid-column: 1 / -1; max-width: 720px; margin-inline: auto; }
.sn-letters-page .sn-dynamic-letters .sn-letter::after { display: none; }
.sn-letters-page .sn-dynamic-letters h3 { margin-bottom: 18px; font-size: clamp(26px, 2.5vw, 34px); line-height: 1.3; overflow-wrap: anywhere; }
.sn-letters-page .sn-dynamic-letters h3 a:hover { text-decoration: underline; text-underline-offset: 5px; }
.sn-letters-page .sn-dynamic-letters .sn-letter-preview { margin-bottom: 24px; font-size: 17px; line-height: 1.8; }
.sn-letters-page .sn-dynamic-letters .sn-letter-permalink { position: relative; z-index: 1; align-self: flex-start; margin-top: auto; padding: 10px 0; color: #6c3768; font-size: 14px; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; }
.sn-dynamic-letters .sn-poetry-pagination { grid-column: 1 / -1; }
@media (max-width: 760px) {
  .sn-letters-page .sn-dynamic-letters { grid-template-columns: minmax(0, 1fr); gap: 20px; }
}
.sn-native-fallback.sn-single-letter { max-width: 900px; }
.sn-single-letter h1 { margin-bottom: 30px; color: #54235f; font-size: clamp(32px, 4.5vw, 52px); line-height: 1.2; overflow-wrap: anywhere; }
.sn-single-letter-content { padding: clamp(24px, 5vw, 48px); border: 1px solid #e8dce4; border-radius: 22px; background: #fffdf9; box-shadow: 0 16px 45px #45284110; }
.sn-single-letter-content p { color: #5c4b60; font: 400 19px/1.9 Georgia, serif; }
.sn-single-letter-content .sn-sign { margin-top: 28px; color: #54235f; }
.sn-single-letter-back { margin-top: 28px; }
@media (max-width: 600px) {
  .sn-native-fallback { padding: 125px 18px 60px; }
  .sn-single-letter-content p { font-size: 18px; line-height: 1.85; }
}
.sn-writing-archive .sn-archive-eyebrow { color: #805475; font-size: 13px; letter-spacing: .08em; }
.sn-writing-archive h1 { color: #54235f; line-height: 1.2; overflow-wrap: anywhere; }
.sn-archive-list { display: grid; gap: 20px; margin: 36px 0; }
.sn-archive-list article { padding: clamp(20px, 4vw, 32px); border: 1px solid #e6dbe4; border-radius: 18px; background: #fffdf9; }
.sn-archive-list h2 { margin: 0 0 14px; font: 500 clamp(23px, 3vw, 30px)/1.5 Georgia, serif; overflow-wrap: anywhere; }
.sn-archive-list h2 a, .sn-archive-read { color: #54235f; }
.sn-archive-list p { color: #645469; line-height: 1.8; }
.sn-writing-archive .nav-links { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 30px; }
.sn-writing-archive .page-numbers { padding: 10px 15px; border: 1px solid #dfd0e3; border-radius: 8px; color: #54235f; background: #fffdf9; }
.sn-writing-archive .page-numbers.current { color: #fff; background: #54235f; }
.sn-native-site .sn-home .quote p{font:italic clamp(18px,1.6vw,21px)/1.8 Georgia,serif;color:#fff4fa}
.sn-native-site .sn-home .quote{padding:28px 28px 25px 44px}
.sn-home-paths{background:#fffaf5;border-bottom:1px solid #e9dfe6}
.sn-paths-inner{display:grid;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:auto;padding:24px 0}
.sn-home-paths a{display:block;padding:12px 30px;text-decoration:none!important;border-right:1px solid #e6dce5;color:#54235f!important;transition:background .2s}
.sn-home-paths a:last-child{border:0}
.sn-home-paths a:hover{background:#f7edf3}
.sn-home-paths span{display:block;font-size:12px;color:#786777;margin-bottom:5px}
.sn-home-paths strong{display:block;font:400 27px/1.4 Georgia,serif}
.sn-home-paths b{float:right;font:400 21px/1.6 system-ui;color:#ad537a}
.sn-native-site .sn-hero-polaroid img{display:block;width:100%;height:170px;object-fit:cover;border-radius:7px}
.sn-native-site .sn-hero-polaroid .sn-open-photo{display:block}
.sn-native-site .sn-gallery-hero .sn-hero-board {
  background: linear-gradient(145deg, #5d3b57, #462b48 58%, #39243e);
  box-shadow: inset 0 0 0 1px rgba(255, 218, 170, .34), 0 26px 62px rgba(31, 8, 44, .32);
}
.sn-native-site .sn-gallery-hero .sn-hero-board::before { opacity: .1; }
@media (min-width: 601px) {
  .sn-native-site .sn-gallery-hero .sn-hero-polaroid:nth-child(3) { left: 28%; }
}
@media (min-width: 601px) and (max-width: 760px) {
  .sn-native-site .sn-gallery-hero .sn-hero-polaroid:nth-child(3) { left: 16%; }
}
.sn-native-site .sn-real-diary{min-height:0;max-width:480px;margin:0 auto;transform:rotate(2deg)}
.sn-native-site .sn-real-diary img{display:block;width:100%;height:auto;max-height:580px;object-fit:contain;padding:12px;border-radius:8px;background:#fffdf5;box-shadow:0 22px 65px #24112850}
.sn-native-site .sn-real-diary p{margin:18px 0 0;text-align:center;color:#fff2e0;font:italic 20px/1.5 Georgia,serif}
.sn-keepsake-section{padding:85px 0;background:#fffaf5}
.sn-keepsake-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px;margin-top:38px}
.sn-keepsake-grid figure{margin:0;padding:10px 10px 18px;background:#fff;box-shadow:0 8px 28px #45284112;transform:rotate(-1deg);transition:transform .25s,box-shadow .25s}
.sn-keepsake-grid figure:nth-child(2n){transform:rotate(1.5deg)}
.sn-keepsake-grid figure:hover{transform:translateY(-4px) rotate(0);box-shadow:0 14px 35px #45284120}
.sn-keepsake-grid img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.sn-keepsake-grid figcaption{padding:14px 8px 0;color:#61425a;font:italic 16px/1.45 Georgia,serif}
.sn-native-site .sn-life-photo img{width:100%;height:100%;object-fit:cover}
.sn-native-site .sn-life-love .sn-photo-frame img{display:block;width:100%;height:560px;object-fit:cover}
.sn-native-site .sn-life-love .sn-album-grid{grid-template-columns:1fr 1fr;max-width:850px;margin:auto;gap:24px}
.sn-native-site .sn-life-love .sn-album-tile.large{grid-row:auto}
.sn-native-site .sn-life-love .sn-album-tile img{width:100%;height:auto;display:block}
.sn-native-site .sn-road-page .sn-photo-frame img{display:block;width:100%;height:560px;object-fit:cover}
.sn-native-site .sn-road-page .sn-road-tile img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover}
.sn-native-site .sn-road-page .sn-road-tile.large img{min-height:560px}
.sn-native-site .sn-road-chapter.dark .sn-story-text>p{color:#eee1ed}
.sn-native-site .sn-memory-content{max-width:850px;margin-inline:auto;padding:54px 48px}
.sn-native-site .sn-memory-content p{font-size:18px;line-height:1.95}
.sn-native-site .sn-memory-content blockquote{font-family:Georgia,serif;font-size:25px;line-height:1.65}
.sn-native-site .sn-reading-tools{font:12px/1.5 system-ui,sans-serif;background:#fffaf5;border-color:#ece0e8;box-shadow:none}
.sn-quiet-invitation{padding:75px 24px;text-align:center;background:radial-gradient(ellipse at 50% 0,#f5dde7,transparent 65%),#fffaf5;color:#54235f}
.sn-quiet-invitation .sn-container{max-width:900px;margin:auto}
.sn-invitation-kicker{font:11px/1.5 system-ui;letter-spacing:2px;text-transform:uppercase;color:#986080}
.sn-quiet-invitation blockquote{margin:22px 0 14px;font:italic clamp(35px,5vw,56px)/1.25 Georgia,serif}
.sn-quiet-invitation p{color:#79546f!important}
.sn-quiet-invitation nav{display:flex;justify-content:center;gap:16px 30px;flex-wrap:wrap;margin-top:30px}
.sn-quiet-invitation a{color:#663373!important;border-bottom:1px solid #d6b7cc;padding-bottom:6px;font-size:14px;text-decoration:none}
.sn-open-photo{cursor:zoom-in;display:block;color:inherit}
.sn-open-photo:focus-visible{outline:3px solid #ffd45c;outline-offset:5px}
.sn-photo-dialog{position:fixed;inset:0;width:min(1120px,95vw);max-width:95vw;max-height:95dvh;padding:50px 24px 20px;border:1px solid #ffffff30;border-radius:14px;background:#251b29;color:#fff;overflow:auto;box-shadow:0 30px 100px #0009}
.sn-photo-dialog::backdrop{background:#130c1ce8;backdrop-filter:blur(8px)}
.sn-photo-dialog figure{margin:0;display:flex;flex-direction:column;align-items:center}
.sn-photo-dialog img{display:block;max-width:100%;height:auto;max-height:70dvh;object-fit:contain}
.sn-photo-dialog figcaption{padding:18px 36px 8px;color:#f3e7ed;text-align:center;font:italic 18px/1.5 Georgia,serif}
.sn-photo-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#fff;font:28px/1.1 system-ui;padding:5px 10px}
.sn-photo-toolbar{display:flex;justify-content:center;align-items:center;gap:22px;font:12px/1.5 system-ui;margin-top:10px}
.sn-photo-toolbar button{border:1px solid #ffffff50;border-radius:999px;background:transparent;color:#fff;padding:7px 16px;font-size:16px}
.sn-photo-counter{color:#d8c5d1;min-width:44px;text-align:center}
.sn-reading-progress{position:fixed;left:0;top:0;height:3px;width:100%;background:#ffd285;transform:scaleX(0);transform-origin:left;z-index:99998;pointer-events:none}
.admin-bar .sn-reading-progress{top:32px}
@media(max-width:900px){.sn-keepsake-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sn-paths-inner{padding-inline:12px}.sn-home-paths a{padding-inline:18px}.sn-home-paths strong{font-size:24px}}
@media(max-width:782px){.admin-bar .sn-reading-progress{top:46px}}
@media(max-width:600px){.sn-native-site .sn-home .quote p{font-size:18px}.sn-native-site .sn-home .quote{padding:24px 23px 23px 35px}.sn-paths-inner{grid-template-columns:1fr;padding:6px 22px}.sn-home-paths a{padding:18px 4px;border-right:0;border-bottom:1px solid #e6dce5}.sn-home-paths a:last-child{border:0}.sn-home-paths span{font-size:11px}.sn-home-paths strong{font-size:25px}.sn-keepsake-section{padding:55px 0}.sn-keepsake-grid{gap:20px 12px}.sn-keepsake-grid figure{padding:7px 7px 12px}.sn-keepsake-grid figcaption{font-size:14px;padding:10px 2px 0}.sn-native-site .sn-real-diary{max-width:320px;margin:18px auto 0}.sn-native-site .sn-life-photo img{height:auto}.sn-native-site .sn-life-love .sn-photo-frame img,.sn-native-site .sn-road-page .sn-photo-frame img{height:auto;max-height:650px;object-fit:contain}.sn-native-site .sn-life-love .sn-album-grid{grid-template-columns:1fr}.sn-native-site .sn-memory-content{padding:30px 23px}.sn-native-site .sn-memory-content p{font-size:17px;line-height:1.9}.sn-native-site .sn-memory-content blockquote{font-size:22px;padding-inline:19px}.sn-photo-dialog{padding:50px 12px 18px}.sn-photo-dialog figcaption{font-size:16px;padding-inline:0}.sn-photo-dialog img{max-height:65dvh}.sn-photo-toolbar{gap:13px}}
@media(prefers-reduced-motion:reduce){.sn-keepsake-grid figure{transition:none}}
@media print{.sn-reading-progress,.sn-photo-dialog,.sn-home-paths{display:none!important}.sn-keepsake-grid figure{transform:none}.sn-open-photo::after{display:none}}
@media(max-width:600px){
 .sn-native-site .sn-poetry-hero-grid,.sn-native-site .sn-gallery-hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .sn-native-site .sn-poetry-hero-grid>div:first-child,.sn-native-site .sn-gallery-hero-grid>div:first-child{display:contents}
 .sn-native-site .sn-poetry-eyebrow,.sn-native-site .sn-gallery-eyebrow{order:1;align-self:flex-start}
 .sn-native-site .sn-poetry-hero h1,.sn-native-site .sn-gallery-hero h1{order:2}
 .sn-native-site .sn-poetry-hero .sn-real-diary{order:3;margin:14px auto 30px}
 .sn-native-site .sn-gallery-hero .sn-hero-board{order:3;margin:8px 0 30px;min-height:420px}
 .sn-native-site .sn-poetry-hero-line,.sn-native-site .sn-gallery-hero-line{order:4;font-size:18px}
 .sn-native-site .sn-poetry-hero-note,.sn-native-site .sn-gallery-hero-note{order:5}
 .sn-native-site .sn-poetry-hero .sn-button-row,.sn-native-site .sn-gallery-hero .sn-button-row{order:6}
 .sn-native-site .sn-life-collage{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 .sn-native-site .sn-life-photo.main{grid-column:1/-1;margin-bottom:0}
 .sn-native-site .sn-life-photo.small,.sn-native-site .sn-life-photo.top{width:100%;margin:0;aspect-ratio:1/1;border-radius:20px}
 .sn-native-site .sn-life-photo.small img,.sn-native-site .sn-life-photo.top img{height:100%;object-fit:cover}
}
.sn-native-site .sn-life-love .sn-chapter.dark .sn-story-text>p{color:#eee1ed}
.sn-native-site .sn-drop:not(.open) .sn-drop-menu{visibility:hidden;opacity:0;pointer-events:none}
.sn-native-site .sn-drop.open .sn-drop-menu{visibility:visible;opacity:1;pointer-events:auto}
@media(max-width:600px){
 .sn-native-site .sn-life-hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .sn-native-site .sn-life-hero-grid>div:first-child{display:contents}
 .sn-native-site .sn-life-eyebrow{order:1;align-self:flex-start}
 .sn-native-site .sn-life-hero h1{order:2}
 .sn-native-site .sn-life-hero .sn-life-collage{order:3;margin:12px 0 28px}
 .sn-native-site .sn-life-hero-line{order:4;font-size:18px}
 .sn-native-site .sn-life-hero-note{order:5}
 .sn-native-site .sn-life-hero .sn-button-row{order:6}
}
.sn-native-site .sn-home .sn-home-diary{display:block;max-width:460px;margin:auto;transform:rotate(1.5deg);color:#fff0dc;text-decoration:none}
.sn-native-site .sn-home .sn-home-diary img{width:100%;height:auto;max-height:560px;object-fit:contain;padding:12px;border-radius:7px;background:#fffdf5;box-shadow:0 22px 65px #24112840}
.sn-native-site .sn-home .sn-home-diary span{display:block;text-align:center;padding-top:16px;font:italic 19px/1.5 Georgia,serif}
.sn-related-writings{margin-top:30px;padding:22px;border:1px solid #e9dce5;border-left:4px solid #e8b960;border-radius:0 12px 12px 0;background:#fffaf5}
.sn-related-writings h2{margin:0 0 10px;font:500 19px/1.6 system-ui,sans-serif;color:#54235f;letter-spacing:normal}
.sn-related-writings p{margin:0 0 15px;color:#746174;font-size:14px;line-height:1.7}
.sn-related-writings ul{list-style:none;padding:0;margin:0;display:grid;gap:16px}
.sn-piece-type{display:block;color:#8c617f;font-size:11px;margin-bottom:3px}
.sn-single-poem-scan.sn-multipage-scan{position:relative;top:auto}
.sn-native-site .sn-brand-mark img,.sn-native-site .sn-footer-logo-mark img,.sn-native-site .sn-monogram-image{display:block;width:100%;height:100%;border-radius:50%}
.sn-multipage-scan .sn-diary-scan-page{margin:0}
.sn-multipage-scan .sn-diary-scan-page + .sn-diary-scan-page{margin-top:24px}
.sn-multipage-scan .sn-diary-scan-page figcaption{padding:6px 0 12px;text-align:center;font-size:15px;font-weight:600;color:#54235f}
.sn-alternate-scans figure{margin:18px 0}
.sn-alternate-scans figure img{display:block;width:100%;height:auto;border-radius:10px}
.sn-alternate-scans figcaption{margin-top:8px;color:#746174;font-size:13px;text-align:center}
.sn-alternate-scans summary{cursor:pointer;padding:12px 0;color:#663373;font-size:16px;line-height:1.6}
.sn-alternate-scans .sn-alternate-transcription p{font-size:18px;line-height:1.9;color:#54235f}
.sn-native-site .sn-related-writings a{color:#663373;text-decoration:underline;text-underline-offset:4px;font-size:16px;line-height:1.8}

.sn-native-site .sn-drop:not(.open) .sn-drop-menu{transition:none}.sn-poem-keepsake,.sn-photo-keepsake{display:grid;place-items:center;min-height:240px;padding:28px;background:#fff8ee;color:#6d3d67;text-align:center;font:italic 24px/1.6 Georgia,serif}
.sn-poetry-browser{scroll-margin-top:130px;outline:none}
.sn-native-site .sn-dyn-featured-poem{grid-template-columns:.85fr 1.15fr;gap:30px;align-items:start;max-width:1050px;margin-inline:auto}
.sn-native-site .sn-dyn-featured-poem .sn-dyn-diary{position:relative;top:auto;padding:12px;border-radius:22px}
.sn-native-site .sn-dyn-featured-poem .sn-dyn-diary img{display:block;width:100%;height:auto;min-height:0;max-height:340px;object-fit:contain;border-radius:12px;background:#fffaf5}
.sn-native-site .sn-dyn-featured-poem .sn-diary-caption{position:static;margin-top:10px;padding:8px 12px;font-size:12px;backdrop-filter:none}
.sn-native-site .sn-dyn-featured-poem .sn-dyn-poem-card{padding:28px}
.sn-native-site .sn-dyn-featured-poem .sn-dyn-poem-card h3{font-size:28px;line-height:1.4;letter-spacing:normal;margin:16px 0}
.sn-native-site .sn-dyn-featured-poem .sn-featured-excerpt{padding:18px 20px;font-size:19px;line-height:1.8}
.sn-native-site .sn-dyn-featured-poem .sn-featured-excerpt p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin:0}
.sn-native-site .sn-dyn-featured-poem .sn-button-row{margin-top:20px}
@media(max-width:900px){.sn-native-site .sn-dyn-featured-poem{grid-template-columns:1fr;gap:20px}.sn-native-site .sn-dyn-featured-poem .sn-dyn-diary{max-width:440px;width:100%;margin-inline:auto}.sn-native-site .sn-dyn-featured-poem .sn-dyn-diary img{max-height:240px}}
@media(max-width:600px){.sn-native-site .sn-dyn-featured-poem .sn-dyn-diary img{max-height:210px}.sn-native-site .sn-dyn-featured-poem .sn-dyn-poem-card{padding:24px 20px}.sn-native-site .sn-dyn-featured-poem .sn-dyn-poem-card h3{font-size:24px}.sn-native-site .sn-dyn-featured-poem .sn-featured-excerpt{padding:14px 16px;font-size:17px}}
.sn-poetry-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;padding:24px;border:1px solid #e8dce9;border-radius:20px;background:#fffaf5;margin-top:30px}
.sn-poetry-filters label{display:flex;flex-direction:column;gap:7px;color:#54235f;font-size:13px;font-weight:650;flex:1 1 150px}
.sn-poetry-filters .sn-poetry-search{flex:2 1 270px}
.sn-poetry-filters input,.sn-poetry-filters select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #d7c7dc;border-radius:10px;background:#fff;color:#3d3650;font-size:15px}
.sn-poetry-filters button{min-height:46px;padding:10px 20px;border:0;border-radius:10px;background:#54235f;color:#fff;font-size:14px;font-weight:650}
.sn-poetry-reset{padding:10px 0;font-size:13px;text-decoration:underline!important}
.sn-poetry-results{margin:20px 0 0;color:#756d83;font-size:14px}
.sn-native-site .sn-poetry-browser .sn-dyn-poetry-grid{margin-top:22px}
.sn-native-site .sn-poetry-browser .sn-dyn-poetry-card{min-height:0}
.sn-native-site .sn-poetry-browser .sn-dyn-poetry-thumb img{display:block;height:175px;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:top}
.sn-native-site .sn-poetry-browser .sn-dyn-poetry-body{padding:22px}
.sn-native-site .sn-poetry-browser .sn-dyn-poetry-body h3{font-size:22px;line-height:1.45;margin-bottom:10px}
.sn-native-site .sn-poetry-browser .sn-dyn-poetry-body h3 a{font:inherit;letter-spacing:normal}
.sn-native-site .sn-poetry-browser .sn-dyn-poetry-body p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:18px}
.sn-poetry-pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:32px 0 0}
.sn-poetry-pagination a,.sn-poetry-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px 14px;border:1px solid #dfd0e3;border-radius:10px;color:#54235f;background:#fff;font-size:14px;text-decoration:none}
.sn-poetry-pagination [aria-current=page]{background:#54235f;color:#fff;border-color:#54235f}
@media(max-width:600px){.sn-poetry-filters{padding:18px;gap:12px}.sn-poetry-filters .sn-poetry-search{flex-basis:100%}.sn-poetry-filters button{width:100%}.sn-native-site .sn-poetry-browser .sn-dyn-poetry-thumb img{height:150px}.sn-poetry-pagination{gap:6px}}
@media(max-width:600px){
 .sn-native-site .sn-gallery-hero .sn-hero-board{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px;min-height:0}
 .sn-native-site .sn-gallery-hero .sn-hero-polaroid{position:relative;inset:auto!important;width:100%!important;display:block!important;padding:8px 8px 14px;transform:rotate(-2deg);border-radius:7px}
 .sn-native-site .sn-gallery-hero .sn-hero-polaroid:nth-child(2n){transform:rotate(2deg)}
 .sn-native-site .sn-gallery-hero .sn-hero-polaroid img{height:130px;object-fit:cover}
 .sn-native-site .sn-gallery-hero .sn-hero-polaroid strong{font-size:14px;margin-top:8px}
}
.sn-native-site .sn-dyn-featured-poem.sn-featured-text-only{grid-template-columns:minmax(0,780px);justify-content:center}

@media (min-width: 761px) {
  .sn-missing-page { text-align: center; }
  .sn-missing-page p { margin-inline: auto; }
  .sn-missing-page .sn-404-links { justify-content: center; }
}

.sn-native-site .sn-poetry-hero .sn-hero-keepsakes {
  position: relative;
  width: min(100%, 510px);
  margin-inline: auto;
  padding: 16px 27% 34px 2%;
}

.sn-hero-keepsakes figure {
  margin: 0;
  padding: 10px;
  border-radius: 15px;
  background: #fffaf0;
  color: #54235f;
  box-shadow: 0 16px 45px #24112865;
}

.sn-hero-keepsakes img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 7px;
}

.sn-hero-keepsakes figcaption {
  padding: 7px 3px;
  color: #713573;
  font: 700 11px/1.3 system-ui, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sn-hero-keepsakes .sn-hero-diary { transform: rotate(-3deg); }

.sn-hero-keepsakes .sn-hero-portrait,
.sn-hero-keepsakes .sn-hero-short {
  position: absolute;
  right: 1%;
  transform: rotate(6deg);
}

.sn-hero-keepsakes .sn-hero-portrait { top: 0; width: 34%; }
.sn-hero-keepsakes .sn-hero-portrait img { aspect-ratio: 1; object-fit: cover; object-position: center 35%; }
.sn-hero-keepsakes .sn-hero-short { bottom: 17%; width: 48%; transform: rotate(4deg); }

@media (max-width: 900px) {
  .sn-native-site .sn-poetry-hero .sn-hero-keepsakes { order: 3; margin: 20px auto 30px; }
}

@media (max-width: 480px) {
  .sn-hero-keepsakes figure { padding: 6px; border-radius: 10px; }
  .sn-hero-keepsakes figcaption { font-size: 9px; }
}

.sn-native-site .sn-road-visual.sn-road-hero-photo {
  margin: 0;
  min-height: 0;
  background: #34203f;
}

.sn-road-hero-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
}

/* Keep photo framing independent of the selected image's dimensions. */
.sn-native-site .sn-home :is(.hero-photo, .story-photo, .journey-photo) img,
.sn-native-site .sn-life-collage .sn-life-photo img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 1;
  object-fit: cover;
}

.sn-native-site .sn-home :is(.story-photo, .journey-photo) img {
  aspect-ratio: 5 / 4;
}

.sn-native-site .sn-life-collage .sn-life-photo .sn-open-photo {
  height: 100%;
}

.sn-native-site .sn-life-collage .sn-life-photo.main {
  border-top-right-radius: 28px;
}

.sn-native-site .sn-life-collage .sn-life-photo.main img,
.sn-native-site .sn-life-collage .sn-life-photo.main .sn-open-photo {
  height: auto;
  aspect-ratio: auto;
}

@media (min-width: 761px) {
  .sn-native-site .sn-life-hero .sn-life-collage {
    min-height: 0;
    padding-bottom: 20px;
  }

  .sn-native-site .sn-life-collage .sn-life-photo.main {
    position: relative;
    inset: auto;
    width: 75%;
    margin-left: 9%;
  }

  .sn-native-site .sn-life-collage .sn-life-photo.top {
    inset: 8% auto auto 0;
    width: 27%;
    transform: rotate(-7deg);
  }

  .sn-native-site .sn-life-collage .sn-life-photo.small {
    bottom: 2%;
    width: 33%;
  }
}

.sn-native-site .sn-life-love .sn-album-tile img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.sn-native-site .sn-life-love .sn-album-tile .sn-open-photo {
  height: 100%;
}

.sn-hero-keepsakes :is(.sn-hero-diary, .sn-hero-short) img {
  object-fit: contain;
  background: #fffaf0;
}

.sn-hero-keepsakes .sn-hero-diary img { max-height: 500px; }
.sn-hero-keepsakes .sn-hero-short img { max-height: clamp(70px, 13vw, 140px); }

.sn-native-site :is(.sn-her-portrait, .sn-legacy-centre-photo, .sn-profile-photo-placeholder) img,
.sn-native-site .sn-journey-book :is(.sn-polaroid, .sn-hero-photo) img,
.sn-native-site .sn-native-main .sn-photo-frame img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 1;
  object-fit: cover;
}

.sn-native-site .sn-native-main .sn-photo-frame img { aspect-ratio: 5 / 4; }
.sn-native-site .sn-profile-photo-placeholder img { aspect-ratio: 4 / 5; }
.sn-native-site .sn-journey-book .sn-polaroid img { aspect-ratio: 4 / 5; }

/* Her Legacy portrait and constellation. */
.sn-legacy-page .sn-legacy-orbit {
  width: 100%;
  max-width: 540px;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 1 / 1.12;
  margin-inline: auto;
  isolation: isolate;
  border: 1px solid rgba(255, 224, 190, .3);
  border-radius: clamp(22px, 4vw, 36px);
  background:
    radial-gradient(ellipse at 50% 47%, rgba(237, 170, 167, .25), transparent 60%),
    linear-gradient(145deg, #482945, #341f43 58%, #632f53);
  box-shadow: 0 22px 54px rgba(29, 12, 40, .3);
}

.sn-legacy-page .sn-legacy-orbit::before {
  top: 50%;
  width: 76%;
  height: auto;
  aspect-ratio: 1;
  border-color: rgba(255, 220, 177, .32);
  box-shadow: 0 0 0 12px rgba(255, 220, 177, .045);
}

.sn-legacy-page .sn-legacy-orbit::after {
  content: "";
  position: absolute;
  display: block;
  inset: 12px;
  width: auto;
  height: auto;
  border: 1px solid rgba(255, 224, 190, .14);
  border-radius: inherit;
  pointer-events: none;
}

.sn-legacy-page .sn-legacy-orbit .sn-legacy-centre-photo {
  width: 43%;
  height: auto;
  aspect-ratio: 1;
  border: clamp(3px, .55vw, 6px) solid #ffe2bd;
  box-shadow: 0 0 0 7px rgba(255, 220, 177, .16), 0 14px 36px rgba(26, 11, 34, .45);
}

.sn-legacy-page .sn-legacy-orbit .sn-legacy-centre-photo img {
  height: 100%;
  object-fit: cover;
  object-position: center 28%;
}

.sn-legacy-page .sn-legacy-orbit .sn-orbit-item {
  inset: var(--theme-y) auto auto var(--theme-x);
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: .5em;
  width: max-content;
  height: auto;
  padding: .65em .9em;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  background: #38253e;
  color: var(--theme-color);
  font: 600 clamp(13px, 1.7vw, 19px)/1.2 Georgia, serif;
  text-transform: none;
  box-shadow: 0 6px 16px rgba(20, 9, 28, .25);
}

.sn-legacy-page .sn-orbit-item::before {
  content: "";
  width: .38em;
  height: .38em;
  transform: rotate(45deg);
  background: currentColor;
}

.sn-legacy-page .sn-orbit-item:nth-of-type(1) { --theme-x: 78%; --theme-y: 30%; --theme-color: #ffd2dd; }
.sn-legacy-page .sn-orbit-item:nth-of-type(2) { --theme-x: 22%; --theme-y: 30%; --theme-color: #c8eddd; }
.sn-legacy-page .sn-orbit-item:nth-of-type(3) { --theme-x: 76%; --theme-y: 74%; --theme-color: #cae6ff; }
.sn-legacy-page .sn-orbit-item:nth-of-type(4) { --theme-x: 24%; --theme-y: 74%; --theme-color: #ead7ff; }
.sn-legacy-page .sn-orbit-item:nth-of-type(5) { --theme-x: 50%; --theme-y: 16%; --theme-color: #ffe0ad; }

@media (min-width: 981px) {
  .sn-native-site .sn-journey-book .sn-hero-photo.main img,
  .sn-native-site .sn-journey-book .sn-hero-photo.main .sn-open-photo {
    height: 100%;
  }
}

@media (max-width: 600px) {
  .sn-native-site .sn-gallery-page .sn-wall-photo img {
    height: auto;
    aspect-ratio: 4 / 3;
  }
}

.sn-native-site .sn-road-hero-photo .sn-road-quote-card {
  position: static;
  padding: clamp(16px, 2.4vw, 28px);
  border-radius: 0;
  background: #34203f;
}

.sn-native-site .sn-road-hero-photo .sn-road-quote-card p {
  font-size: clamp(17px, 2vw, 24px);
}

.sn-native-site :is(.sn-road-gallery .sn-road-photo-grid, .sn-journey-book .sn-photo-grid) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.sn-native-site :is(.sn-road-gallery .sn-road-tile, .sn-journey-book .sn-photo-tile) {
  position: relative;
  grid-row: auto;
  min-width: 0;
  min-height: 0;
  aspect-ratio: 4 / 3;
}

.sn-native-site :is(.sn-road-gallery .sn-road-tile, .sn-journey-book .sn-photo-tile) img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
}

.sn-native-site .sn-road-gallery .sn-road-tile.large img {
  min-height: 0;
  object-position: center 72%;
}

.sn-native-site :is(.sn-road-gallery .sn-road-tile, .sn-journey-book .sn-photo-tile) .sn-photo-label {
  inset: auto 14px 14px;
  padding: 12px 14px;
  color: #fff;
  background: rgba(44, 25, 58, .84);
}

@media (min-width: 981px) {
  .sn-native-site :is(.sn-road-gallery .sn-road-photo-grid, .sn-journey-book .sn-photo-grid) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.16fr);
  }

  .sn-native-site .sn-journey-book .sn-photo-grid {
    grid-template-columns: minmax(0, 1.16fr) repeat(2, minmax(0, 1fr));
  }

  .sn-native-site :is(.sn-road-gallery .sn-road-tile:nth-child(3), .sn-journey-book .sn-photo-tile.large) {
    grid-column: 3;
    grid-row: 1 / span 2;
    aspect-ratio: auto;
  }

  .sn-native-site .sn-journey-book .sn-photo-tile.large {
    grid-column: 1;
  }

  .sn-native-site .sn-road-gallery .sn-road-tile:nth-child(3) img {
    object-position: 47% center;
  }
}

@media (max-width: 600px) {
  .sn-native-site :is(.sn-road-gallery .sn-road-photo-grid, .sn-journey-book .sn-photo-grid) {
    grid-template-columns: minmax(0, 1fr);
  }

  .sn-native-site :is(.sn-road-gallery .sn-road-tile:nth-child(3), .sn-journey-book .sn-photo-tile.large) {
    aspect-ratio: 4 / 5;
  }
}
