@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');
@font-face{font-family:DreamerDisplay;src:url("assets/DreamerTM-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:EuropaGrotesk;src:url("assets/europa-grotesk-sh-bold.otf") format("opentype");font-weight:700;font-display:swap}
@font-face{font-family:NaomiHandwriting;src:url("assets/NaomiHandwriting-Regular.ttf?v=1") format("truetype");font-weight:400;font-display:swap}
:root{--ink:#263b35;--muted:#718078;--cream:#f7f5ef;--paper:#fffdf8;--coral:#d9856c;--sage:#b9c5a3;--grotesk:'EuropaGrotesk','DM Sans',Arial,sans-serif;--handwriting:'NaomiHandwriting','Bradley Hand',cursive;--serif:'NaomiHandwriting','Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased}.topbar{height:74px;padding:0 clamp(20px,5.5vw,88px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7e4da;background:#faf9f5}.wordmark{text-decoration:none;color:var(--ink);font-weight:600;font-size:14px;letter-spacing:.015em;display:flex;align-items:center;gap:9px}.logo-mark{color:var(--coral);font-size:21px}.top-actions{display:flex;align-items:center;gap:24px}.save-status{color:#929b92;font-size:11px}.quiet-button{border:0;background:none;font:600 12px var(--sans);color:var(--ink);cursor:pointer;padding:11px 0}.quiet-button span{color:var(--coral);margin-left:7px}.intro{text-align:center;padding:86px 20px 68px}.eyebrow{margin:0 0 19px;color:#9a7e6a;font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.intro h1{font:500 clamp(42px,6vw,74px)/1.06 var(--serif);letter-spacing:-.045em;margin:0;color:#293c34}.intro h1 span{font-style:italic;color:#c87f68}.intro-copy{font-size:14px;line-height:1.8;color:#78827a;margin:20px auto 24px}.scroll-cue{display:flex;align-items:center;justify-content:center;gap:10px;font-size:10px;color:#828d83;letter-spacing:.11em;text-transform:uppercase}.cue-line{width:28px;height:1px;background:#c5b8a8}.timeline-shell{padding:0 0 0;overflow:hidden}.landscape{height:650px;min-height:530px;position:relative;overflow:hidden;background:linear-gradient(180deg,#a9d0d2 0%,#d9e6dd 46%,#e8e4c6 55%,#9bb287 56%,#7b966d 100%);background-size:cover;background-position:center;isolation:isolate}.landscape:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(249,246,232,.17),transparent 45%,rgba(41,72,52,.08));pointer-events:none}.sun{position:absolute;width:88px;height:88px;border-radius:50%;background:#f5dba7;top:12%;right:17%;opacity:.8;box-shadow:0 0 55px #f5dba799}.cloud{position:absolute;width:150px;height:31px;border-radius:50%;background:#fff9edaa;filter:blur(6px);top:20%;left:18%}.cloud:after,.cloud:before{content:"";position:absolute;background:inherit;border-radius:50%;width:60px;height:48px;top:-18px;left:27px}.cloud:after{width:73px;height:36px;left:67px;top:-6px}.cloud-two{left:auto;right:28%;top:31%;transform:scale(.7);opacity:.7}.distant-hills{position:absolute;z-index:-1;bottom:23%;left:-5%;width:110%;height:29%;border-radius:48% 51% 0 0 / 35% 35% 0 0;background:linear-gradient(160deg,#bdc59f,#929f78);transform:rotate(-2deg)}.field{position:absolute;z-index:-1;bottom:-12%;left:-5%;width:110%;height:44%;border-radius:49% 52% 0 0 / 15% 15% 0 0;background:linear-gradient(170deg,#a4b483 0%,#7f986d 57%,#667f5b 100%);transform:rotate(1deg)}.field-light{position:absolute;z-index:-1;bottom:17%;left:-5%;width:110%;height:17%;background:linear-gradient(180deg,#c9c99c55,transparent);transform:rotate(-2deg)}.timeline-heading{position:absolute;top:45px;left:clamp(24px,7vw,110px);right:clamp(24px,7vw,110px);display:flex;align-items:center;gap:16px;color:#fffdf1d9;font-size:9px;font-weight:700;letter-spacing:.16em;text-shadow:0 1px 8px #435c4b88}.timeline-heading span:last-child{white-space:nowrap}.timeline-line{height:1px;background:#fff9;width:100%}.washing-line{position:absolute;z-index:1;top:145px;left:4%;right:4%;height:62px;pointer-events:none}.line-left,.line-right{position:absolute;left:0;right:48%;top:22px;height:4px;background:repeating-linear-gradient(4deg,#b18b64 0 5px,#d8ba8c 5px 8px);border-radius:50%;transform:rotate(2deg);box-shadow:0 2px 4px #354d3880}.line-right{left:52%;right:0;transform:rotate(-2deg)}.memory-track{position:absolute;z-index:2;inset:0;display:flex;align-items:flex-start;gap:clamp(42px,8vw,126px);padding:159px max(8vw,70px) 50px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.memory-track::-webkit-scrollbar{display:none}.polaroid{position:relative;flex:0 0 clamp(220px,23vw,292px);height:360px;padding:15px 15px 49px;background:#fffdf4;box-shadow:0 13px 26px #35432e35,0 3px 7px #35432e24;scroll-snap-align:center;cursor:pointer;transition:transform .25s,box-shadow .25s;transform:rotate(var(--tilt, -2deg));border:0;color:var(--ink);text-align:left}.polaroid:nth-child(3n+2){--tilt:2deg;margin-top:37px}.polaroid:nth-child(3n){--tilt:-1deg;margin-top:5px}.polaroid:hover{transform:translateY(-7px) rotate(0deg);box-shadow:0 19px 36px #35432e45,0 3px 7px #35432e24}.polaroid-photo{position:relative;width:100%;height:100%;overflow:hidden;background:linear-gradient(145deg,#d6d5c6,#b4c0ad 47%,#d7b8a2)}.polaroid-photo img{height:100%;width:100%;object-fit:cover;display:block}.placeholder-scene{height:100%;display:grid;place-items:center;text-align:center;color:#fff9ef;background:radial-gradient(ellipse at 50% 40%,#d6a68e 0 16%,transparent 17%),linear-gradient(165deg,#b9d1c6,#e9d3bc 68%,#bc9e86);font:italic 18px var(--serif);text-shadow:0 1px 4px #795e4a55}.placeholder-scene span{position:absolute;bottom:19px;font:700 9px var(--sans);letter-spacing:.15em;text-transform:uppercase}.polaroid-caption{position:absolute;bottom:16px;left:16px;right:10px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.polaroid-caption strong{font:400 17px var(--handwriting);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.polaroid-caption small{color:#918b7d;font:400 12px var(--handwriting);white-space:nowrap}.peg{position:absolute;z-index:3;top:-48px;left:calc(50% - 12px);width:24px;height:70px;border-radius:3px 3px 6px 6px;background:linear-gradient(90deg,#c79d68,#ead4a3 45%,#c79d68);box-shadow:1px 4px 7px #38453055;transform:rotate(-3deg)}.peg:after{content:"";position:absolute;top:39px;left:3px;width:18px;height:2px;background:#98744c66}.polaroid:nth-child(2n) .peg{transform:rotate(3deg);background:linear-gradient(90deg,#b48f69,#ddc6a1 45%,#b48f69)}.add-memory{position:relative;z-index:2;flex:0 0 170px;height:220px;margin:204px 0 0;align-self:flex-start;border:1px dashed #fff9;background:#78906938;color:#fffdf1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;scroll-snap-align:center;text-shadow:0 1px 8px #40534366}.add-memory>span{font-size:26px;border:1px solid #fff9;border-radius:50%;height:40px;width:40px;line-height:37px}.add-memory b{font:500 16px var(--serif)}.add-memory small{font-size:10px;opacity:.8}.track-hint{position:absolute;right:clamp(24px,7vw,110px);bottom:43px;color:#fffa;font-size:9px;letter-spacing:.12em;pointer-events:none}.track-hint span{font-size:14px;margin-left:5px}.scene-caption{position:absolute;bottom:24px;left:clamp(24px,7vw,110px);font:italic 14px var(--serif);color:#fff9;pointer-events:none}.footer{min-height:77px;padding:0 clamp(24px,6vw,94px);display:flex;align-items:center;justify-content:space-between;color:#8b948b;font-size:10px}.footer-flower{color:#cb8a70;font-size:18px}.footer button{border:0;background:none;color:#8b948b;font:10px var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.story-dialog,.editor-dialog{border:0;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 20px 80px #20382f33;max-width:calc(100vw - 32px);width:680px;overflow:visible}.story-dialog{grid-template-columns:1fr 1fr;gap:0}.story-dialog[open]{display:grid;animation:appear .2s ease-out}.dialog-close{position:absolute;right:14px;top:12px;z-index:4;background:#fffdf1dd;border:0;border-radius:50%;width:34px;height:34px;font-size:23px;color:#506157;cursor:pointer}.dialog-photo-wrap{position:relative;min-height:410px;padding:25px;background:#f4efe2}.dialog-photo-wrap img{display:none;width:100%;height:100%;min-height:360px;object-fit:cover}.dialog-photo-wrap img.visible{display:block}.dialog-photo-placeholder{min-height:360px;height:100%;display:grid;place-items:center;text-align:center;background:linear-gradient(155deg,#b6ccc3,#e4cdb8);color:white;font:italic 25px var(--serif)}.dialog-content{align-self:center;padding:50px 40px 42px}.dialog-content .eyebrow{margin-bottom:13px}.dialog-content h2,.editor-dialog h2{font:500 34px/1.15 var(--serif);margin:0 0 17px;letter-spacing:-.025em}.dialog-content>p:not(.eyebrow){color:#68766d;font-size:14px;line-height:1.8;white-space:pre-wrap}.edit-memory{margin-top:15px;padding:0 0 6px;border:0;border-bottom:1px solid #d5ad9a;background:none;color:#a96955;font:600 11px var(--sans);cursor:pointer}.edit-memory span{margin-left:8px}.editor-dialog{padding:43px 48px 38px;width:480px}.editor-dialog .eyebrow{margin-bottom:10px}.editor-dialog h2{font-size:30px;margin-bottom:27px}.editor-dialog form{display:flex;flex-direction:column;gap:19px}.editor-dialog label{display:flex;flex-direction:column;gap:8px;color:#4f6259;font-size:11px;font-weight:600}.editor-dialog input:not([type=file]),.editor-dialog textarea{width:100%;border:1px solid #e4e1d7;background:#fffefa;padding:12px 13px;color:var(--ink);font:13px var(--sans);outline:none;border-radius:0}.editor-dialog textarea{resize:vertical;line-height:1.5}.editor-dialog input:focus,.editor-dialog textarea:focus{border-color:#bb9b7e}.upload-label input[type=file]{font:11px var(--sans);color:#65746b}.upload-help{font-weight:400;color:#92988e;font-size:10px}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:7px}.primary-button{padding:13px 17px;background:#526d5b;border:0;color:white;font:600 11px var(--sans);cursor:pointer}.primary-button span{margin-left:15px}.delete-button{display:none;border:0;background:none;color:#b96b59;font:11px var(--sans);text-decoration:underline;cursor:pointer}.delete-button.visible{display:block}.customize-copy{font-size:13px;line-height:1.65;color:#758078;margin:-12px 0 24px}.customize-dialog .upload-label{padding:15px;background:#f7f5ef;border:1px dashed #d7d1c3}.reset-backdrop{margin-top:24px}.story-dialog::backdrop,.editor-dialog::backdrop{background:#1d3029a6;backdrop-filter:blur(3px)}@keyframes appear{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:650px){.topbar{height:61px;padding:0 19px}.wordmark{font-size:12px}.top-actions{gap:12px}.save-status{font-size:9px}.quiet-button{font-size:10px}.intro{padding:57px 18px 45px}.intro h1{font-size:44px}.intro-copy{font-size:12px}.desktop-break{display:none}.landscape{height:590px;min-height:520px}.timeline-heading{top:29px;left:22px;right:22px;font-size:8px;gap:9px}.washing-line{top:122px;left:2%;right:2%}.memory-track{padding:136px calc((100vw - 64vw)/2) 50px;gap:24px;scroll-padding-inline:calc((100vw - 64vw)/2)}.polaroid{flex-basis:64vw;height:329px;padding:11px 11px 43px}.polaroid:nth-child(3n+2){margin-top:30px}.polaroid-caption{left:12px;bottom:13px}.polaroid-caption strong{font-size:14.5px}.polaroid-caption small{font-size:10.5px}.peg{top:-43px;height:61px;width:20px;left:calc(50% - 10px)}.add-memory{flex-basis:54vw;height:200px;margin-top:189px}.track-hint{right:20px;bottom:43px;font-size:8px}.scene-caption{left:20px;bottom:23px;font-size:12px}.sun{right:12%;width:65px;height:65px}.footer{padding:0 20px;min-height:65px}.story-dialog[open]{display:block;width:min(420px,calc(100vw - 28px));max-height:calc(100dvh - 40px);overflow-y:auto}.dialog-photo-wrap{min-height:250px;height:250px;padding:18px}.dialog-photo-wrap img,.dialog-photo-placeholder{min-height:214px}.dialog-content{padding:26px 25px 30px}.dialog-content h2{font-size:29px}.dialog-content>p:not(.eyebrow){font-size:13px}.editor-dialog{padding:38px 23px 25px;width:min(450px,calc(100vw - 28px));max-height:calc(100dvh - 35px);overflow-y:auto}.editor-dialog h2{font-size:27px;margin-bottom:22px}.form-actions{gap:12px}.primary-button{padding:12px 13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
.peg.peg-custom{background:var(--peg-image) center/100% 100% no-repeat;box-shadow:none}
.landscape{height:100vh;min-height:540px;background-image:url("assets/backdrop.png?v=sky"),linear-gradient(180deg,#a9d0d2 0%,#d9e6dd 46%,#e8e4c6 55%,#9bb287 56%,#7b966d 100%);background-position:center;background-size:cover}.memory-track{padding-top:159px;padding-bottom:45px}.polaroid{isolation:isolate}.polaroid-photo{z-index:0}.peg{background-image:url("assets/peg.png"),linear-gradient(90deg,#c79d68,#ead4a3 45%,#c79d68);background-size:100% 100%;background-position:center;background-repeat:no-repeat}.polaroid:nth-child(2n) .peg{background-image:url("assets/peg.png"),linear-gradient(90deg,#b48f69,#ddc6a1 45%,#b48f69)}.polaroid.no-story{cursor:default}.polaroid.no-story:hover{transform:rotate(var(--tilt, -2deg));box-shadow:0 13px 26px #35432e35,0 3px 7px #35432e24}.polaroid.photo-empty .polaroid-photo{background:linear-gradient(145deg,#d6d5c6,#b4c0ad 47%,#d7b8a2)}
.polaroid-caption{z-index:3;bottom:13px;left:17px;right:12px;display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--ink)}.polaroid-caption strong{font:400 17px var(--handwriting);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.polaroid-caption small{font:400 12px var(--handwriting);color:#4e5149;white-space:nowrap}.track-hint{position:absolute;right:clamp(24px,7vw,110px);bottom:30px;color:#fffdf1d9;font-size:9px;font-weight:700;letter-spacing:.13em;text-shadow:0 1px 8px #40534366;pointer-events:none}.track-hint span{font-size:14px;margin-left:5px}.washing-line.has-line-image .line-left,.washing-line.has-line-image .line-right{display:none}.washing-line.has-line-image:before{content:"";position:absolute;inset:0;background:url("assets/line.png") center/100% 100% no-repeat}
@media(max-width:650px){.landscape{height:100dvh;min-height:540px}.memory-track{padding-top:136px;padding-bottom:40px}}
.polaroid-unit{position:relative;flex:0 0 clamp(220px,23vw,292px);height:360px;scroll-snap-align:center;transform:rotate(var(--tilt,-2deg))}.polaroid-unit:nth-child(3n+2){margin-top:37px}.polaroid-unit:nth-child(3n){margin-top:5px}.polaroid-unit .polaroid{width:100%;height:100%;flex:none;margin:0;transform:none}.polaroid-unit .polaroid:hover{transform:translateY(-7px);box-shadow:0 19px 36px #35432e45,0 3px 7px #35432e24}.polaroid-edit{position:absolute;z-index:6;right:8px;bottom:7px;width:30px;height:30px;border:1px solid #cfc8b9;border-radius:50%;background:#fffdf1;color:#536c59;font-size:17px;cursor:pointer;box-shadow:0 2px 6px #263b3522}.polaroid-edit:hover{background:#526d5b;color:#fff}.dialog-photo-wrap img.visible{display:block;min-height:360px;width:100%;height:100%;object-fit:contain;background:#26332d}.dialog-photo-wrap{background:#26332d}.crop-editor{padding-top:4px}.crop-editor[hidden]{display:none}.crop-editor>p{margin:0 0 9px;color:#748077;font-size:11px}.crop-viewport{width:min(100%,280px);aspect-ratio:.88;overflow:hidden;position:relative;background:#e7e1d4;cursor:grab;touch-action:none;margin:0 auto 12px}.crop-viewport:active{cursor:grabbing}.crop-viewport img{width:100%;height:100%;object-fit:cover;transform-origin:center;user-select:none;-webkit-user-drag:none}.zoom-label{display:flex!important;align-items:center;gap:12px!important}.zoom-label input{flex:1;accent-color:#526d5b}.reset-crop{display:block;margin:8px auto 0;border:0;background:none;color:#9b705b;font:11px var(--sans);text-decoration:underline;cursor:pointer}.editor-dialog form{max-height:min(75vh,720px);overflow-y:auto;padding-right:3px}.story-dialog .dialog-content:has(h2:empty){padding:20px 0}
@media(max-width:650px){.polaroid-unit{flex-basis:64vw;height:329px}.polaroid-unit:nth-child(3n+2){margin-top:30px}.polaroid-unit:nth-child(3n){margin-top:5px}.dialog-photo-wrap img.visible{min-height:214px}.crop-viewport{width:min(100%,260px)}}
.story-dialog.image-only{display:block;width:min(760px,calc(100vw - 40px));background:#26332d}.story-dialog.image-only .dialog-photo-wrap{height:min(78vh,780px);min-height:360px;padding:20px}.story-dialog.image-only .dialog-photo-wrap img.visible{min-height:0;height:100%;object-fit:contain}.story-dialog.image-only .dialog-content{display:none}
@media(max-width:650px){.story-dialog.image-only{width:calc(100vw - 28px)}.story-dialog.image-only .dialog-photo-wrap{height:75dvh;min-height:250px;padding:14px}.story-dialog.image-only .dialog-photo-wrap img.visible{min-height:0}}
.peg{background-image:var(--peg-image,url("assets/peg.png")),linear-gradient(90deg,#c79d68,#ead4a3 45%,#c79d68)}.polaroid:nth-child(2n) .peg{background-image:var(--peg-image,url("assets/peg.png")),linear-gradient(90deg,#b48f69,#ddc6a1 45%,#b48f69)}.scene-customize{position:absolute;z-index:10;top:20px;right:clamp(18px,4vw,54px);border:1px solid #fff9;border-radius:30px;background:#fffdf1ed;color:#526d5b;padding:11px 16px;font:600 11px var(--sans);box-shadow:0 3px 14px #263b3522;cursor:pointer}.scene-customize[hidden]{display:none}.scene-font-label{display:flex;flex-direction:column;gap:8px;color:#4f6259;font-size:11px;font-weight:600}.scene-font-label select{padding:12px 13px;border:1px solid #e4e1d7;background:#fffefa;color:var(--ink);font:13px var(--sans)}.scene-dialog[open]{display:flex;flex-direction:column;gap:16px}.scene-dialog h2{margin-bottom:5px}.scene-dialog .upload-label{padding:13px;background:#f7f5ef;border:1px dashed #d7d1c3}.scene-dialog .reset-crop{margin:5px 0 0;align-self:flex-start}
@media(max-width:650px){.scene-customize{top:14px;right:14px;padding:9px 12px;font-size:10px}}
.landscape.has-custom-backdrop:before{display:none}.landscape.has-custom-backdrop>.sun,.landscape.has-custom-backdrop>.cloud,.landscape.has-custom-backdrop>.distant-hills,.landscape.has-custom-backdrop>.field,.landscape.has-custom-backdrop>.field-light{display:none}
.landscape.background-draggable{cursor:grab}.background-drag-hint{position:absolute;z-index:9;top:72px;left:50%;transform:translateX(-50%);padding:9px 14px;border-radius:20px;background:#263b35a8;color:white;font:600 10px var(--sans);letter-spacing:.04em;pointer-events:none;white-space:nowrap}.background-drag-hint[hidden]{display:none}
.landscape.has-custom-peg .peg{background-image:var(--peg-image,url("assets/peg.png"));background-size:100% 100%;background-position:center;background-repeat:no-repeat;box-shadow:none}
.polaroid[style*="background-image"]{background-size:cover;background-position:center;background-repeat:no-repeat}
.site-name{position:absolute;z-index:8;top:29px;left:50%;transform:translateX(-50%);margin:0;color:#fff;font:400 clamp(28px,3.8vw,44px)/1 var(--handwriting);letter-spacing:.02em;white-space:nowrap;text-shadow:0 2px 14px #1c302c88}
@media(max-width:650px){.site-name{top:25px;font-size:28px}}

/* Keep the clothesline and its cards comfortable on narrow and short screens. */
.memory-track{touch-action:pan-x;scroll-padding-inline: max(8vw,70px)}
.polaroid:focus-visible,.add-memory:focus-visible,.scene-customize:focus-visible,.polaroid-edit:focus-visible{outline:3px solid #fff;outline-offset:4px;box-shadow:0 0 0 6px #526d5b}
@media(max-width:650px){
  .landscape{height:100dvh;min-height:480px}
  .memory-track{padding-left:18vw;padding-right:18vw;scroll-padding-inline:18vw;gap:22px}
  .polaroid-unit{flex-basis:64vw;height:clamp(270px,42dvh,329px)}
  .polaroid-unit .polaroid{height:100%}
  .add-memory{flex-basis:54vw}
}
@media(max-width:380px){
  .topbar{padding-inline:14px}
  .top-actions{gap:8px}
  .save-status{max-width:88px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .memory-track{padding-left:16vw;padding-right:16vw;scroll-padding-inline:16vw}
  .polaroid-unit{flex-basis:68vw}
  .polaroid-caption strong{font-size:12px}
}
@media(max-height:560px) and (max-width:650px){
  .landscape{min-height:440px}
  .site-name{top:15px}
  .washing-line{top:96px}
  .memory-track{padding-top:111px}
  .polaroid-unit{height:clamp(250px,48dvh,290px)}
  .track-hint{bottom:17px}
  .scene-caption{bottom:14px}
}
@media(max-height:620px) and (min-width:651px){
  .landscape{height:100dvh;min-height:460px}
  .site-name{top:18px}
  .washing-line{top:112px}
  .memory-track{padding-top:126px}
  .polaroid-unit{height:310px}
}
.site-name{left:clamp(18px,4vw,54px);transform:none}
.washing-line{transform:translateY(var(--rope-shift,0px)) rotate(var(--rope-tilt,0deg));transform-origin:center center;transition:transform .18s ease-out}
.polaroid-unit .peg{top:-31px;translate:0 var(--rope-shift,0px);transition:translate .18s ease-out}
.polaroid-unit:nth-child(3n+2) .peg{top:-68px}
.polaroid-unit:nth-child(3n) .peg{top:-36px}
@media(max-width:650px){.polaroid-unit:nth-child(3n+2) .peg{top:-61px}}
@media(prefers-reduced-motion:reduce){.washing-line{transition:none}}
@media(hover:hover) and (pointer:fine) and (min-width:651px){
  .polaroid-unit{transform:perspective(900px) rotateX(var(--cursor-tilt-y,0deg)) rotateY(var(--cursor-tilt-x,0deg)) rotate(var(--tilt,-2deg)) translate3d(var(--cursor-shift-x,0px),var(--cursor-shift-y,0px),0);transition:transform .18s ease-out}
  .polaroid-unit .polaroid{box-shadow:var(--cursor-shadow,0 13px 26px #35432e35,0 3px 7px #35432e24)}
  .polaroid-unit .polaroid:hover{box-shadow:var(--cursor-shadow,0 19px 36px #35432e45,0 3px 7px #35432e24)}
}
/* Use the shared uploaded paper on every card, including published memories. */
.polaroid{background-color:#f4ead7!important;background-image:url("assets/paper-texture.png")!important;background-size:100% 100%!important;background-position:center;background-repeat:no-repeat}

/* Keep titles and dates legible while preserving the scrapbook scene. */
.polaroid-caption strong{flex:1 1 auto;min-width:0;font:400 17px var(--handwriting)}
.polaroid-caption small{flex:0 0 auto;font:400 12.5px var(--handwriting);color:#4e5149}
.story-dialog{max-height:88vh;overflow-y:auto}
.dialog-content{min-width:0}
.dialog-extras{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:18px}
.story-extra-link{color:#435e4c;font-size:12px;font-weight:700;text-underline-offset:3px}
.story-extra-media{width:100%;margin:0}
.story-extra-media img,.story-extra-media video{display:block;width:100%;max-height:330px;object-fit:contain;background:#26332d}
.story-extra-embed iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:3px;box-shadow:0 3px 12px #26332d33}
.story-extra-media figcaption{margin-top:6px;color:#4e5c53;font:400 14px var(--handwriting)}
.story-audio-button{display:inline-flex;align-items:center;gap:8px;border:1px solid #9ba995;border-radius:20px;background:#f8f6ee;color:#344a3d;padding:8px 12px;font:600 11px var(--sans);cursor:pointer}
.story-audio-button span{font-size:12px}
.story-audio-button:hover{background:#e9eee5}
@media(max-width:650px){
  .polaroid-caption strong{font-size:17px}
  .polaroid-caption small{font-size:12.5px}
  .story-dialog{max-height:88dvh}
  .story-extra-media img,.story-extra-media video{max-height:260px}
}
@media(max-width:380px){.polaroid-caption strong{font-size:16px}.polaroid-caption small{font-size:12px}}
.dialog-extras:empty{display:none}
.work-with-me{width:100%;margin-top:10px;padding-top:16px;border-top:1px solid #ddd4c3}
.work-with-me h3{margin:0 0 10px;color:#354b40;font:700 12px var(--sans);letter-spacing:.04em}
.work-with-me-actions{display:flex;flex-wrap:wrap;gap:8px}
.work-with-me-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;border:1px solid #9aa493;border-radius:999px;color:#354b40;background:#faf7ee;font:700 11px var(--sans);text-decoration:none}
.work-with-me-button:hover{background:#526d5b;color:#fff;border-color:#526d5b}

/* Opening stack-to-line motion & interactive polish */
.memory-track{touch-action:pan-x pinch-zoom}
.landscape.is-stacked .memory-track{overflow-x:hidden;scroll-snap-type:none;touch-action:pinch-zoom manipulation}
.landscape.is-wheel-gliding .memory-track{scroll-snap-type:none}
.washing-line{clip-path:inset(-45px calc((1 - var(--rope-draw,1)) * 100%) -45px 0);will-change:transform}
.washing-line:has(.rope-svg) .line-left,
.washing-line:has(.rope-svg) .line-right{display:none}
.rope-svg{
  position:absolute;
  inset:-18px 0 -22px 0;
  width:100%;
  height:calc(100% + 40px);
  overflow:visible;
  pointer-events:none;
}
.rope-path-shadow{
  fill:none;
  stroke:#26382959;
  stroke-width:4.5;
  stroke-linecap:round;
  filter:blur(1.5px);
}
.rope-path-main{
  fill:none;
  stroke:url(#ropeFiberGrad);
  stroke-width:4.2;
  stroke-linecap:round;
}
.rope-path-twist{
  fill:none;
  stroke:#fff6df7a;
  stroke-width:1.6;
  stroke-dasharray:5 6;
  stroke-linecap:round;
}
.landscape::after{
  content:"";
  position:absolute;
  inset:-10% -35%;
  z-index:1;
  pointer-events:none;
  background:radial-gradient(
    circle at 68% 18%,
    rgba(255,232,179,.28),
    rgba(235,165,112,.08) 42%,
    transparent 70%
  );
  transform:translate3d(calc(var(--timeline-progress,0) * -26%),calc(var(--timeline-progress,0) * 4%),0);
  will-change:transform;
}
.sun{
  transform:translate3d(calc(var(--timeline-progress,0) * -140px),calc(var(--timeline-progress,0) * 18px),0) scale(calc(1 + var(--timeline-progress,0) * .12));
}
.cloud-one{
  transform:translate3d(calc(var(--timeline-progress,0) * -75px),0,0);
}
.cloud-two{
  transform:translate3d(calc(var(--timeline-progress,0) * -45px),0,0) scale(.7);
}
.distant-hills{
  transform:translate3d(calc(var(--timeline-progress,0) * -28px),0,0) rotate(-2deg);
}
.field{
  transform:translate3d(calc(var(--timeline-progress,0) * -52px),0,0) rotate(1deg);
}
.polaroid-unit{
  z-index:var(--stack-z,2);
  opacity:var(--stack-opacity,1);
  transform-origin:50% -18px;
  transform:translate3d(calc(var(--stack-x,0px) + var(--fan-x,0px)),calc(var(--stack-y,0px) + var(--fan-y,0px)),0) scale(var(--stack-scale,1)) rotate(calc(var(--tilt,-2deg) + var(--stack-rot,0deg) + var(--fan-rot,0deg) + var(--scroll-sway,0deg)));
  will-change:transform,opacity;
}
.polaroid-unit .peg{
  opacity:var(--peg-opacity,1);
  translate:0 calc(var(--rope-shift,0px) + var(--peg-drop,0px));
  transition:translate .18s ease-out,opacity .18s ease-out;
}
.polaroid::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(
    125deg,
    transparent 20%,
    rgba(255,250,235,.16) 48%,
    transparent 75%
  );
}
.polaroid::after{
  content:"";
  position:absolute;
  top:0;
  left:calc(50% - 7px);
  width:16px;
  height:22px;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(42,33,22,.18),rgba(42,33,22,.05) 65%,transparent);
  transform:translate3d(var(--peg-shadow-x,3px),0,0) skewX(var(--peg-shadow-skew,14deg));
  opacity:var(--peg-opacity,1);
}
@media(hover:hover) and (pointer:fine) and (min-width:651px){
  .polaroid-unit{
    transform:translate3d(calc(var(--stack-x,0px) + var(--fan-x,0px)),calc(var(--stack-y,0px) + var(--fan-y,0px)),0) scale(var(--stack-scale,1)) rotate(calc(var(--tilt,-2deg) + var(--stack-rot,0deg) + var(--fan-rot,0deg) + var(--scroll-sway,0deg)));
    transition:transform .16s ease-out;
  }
}
.landscape.is-intro-active .polaroid-unit,
.landscape.is-intro-active .polaroid-unit .peg,
.landscape.is-intro-active .washing-line,
.landscape.is-scrolling .polaroid-unit,
.landscape.is-scrolling .polaroid-unit .peg,
.landscape.is-scrolling .washing-line{
  transition:none!important;
}
.landscape.is-stacked .polaroid-unit .polaroid:hover{
  transform:translateY(-2px);
}
.polaroid-unit.is-open-on-line .polaroid{
  opacity:.18;
  transform:scale(.94) translateY(8px);
}

/* Polaroid OneStep Land Camera (back roller layer + front slot hood layer) */
.polaroid-camera{
  position:absolute;
  left:50%;
  top:clamp(26px,4.5vh,52px);
  width:clamp(285px,31vw,366px);
  pointer-events:none;
  user-select:none;
  opacity:var(--camera-opacity,1);
  transform:translate3d(-50%,var(--camera-y,0px),0) scale(var(--camera-scale,1));
  transform-origin:50% 82%;
  will-change:transform,opacity;
}
.polaroid-camera img{
  display:block;
  width:100%;
  height:auto;
  user-select:none;
  -webkit-user-drag:none;
}
.polaroid-camera-back{
  z-index:1;
  filter:drop-shadow(0 20px 30px rgba(24,38,32,.34));
}
.polaroid-camera-front{
  z-index:24;
  /* Clip exactly at the bottom edge of the "POLAROID LAND CAMERA" bar (83.2%) so the polaroid + video slide out from behind the bar and over the bottom roller lip */
  clip-path:inset(0 0 16.8% 0);
}
.polaroid-camera[hidden]{
  display:none;
}
.camera-viewfinder-flash{
  position:absolute;
  top:8%;
  right:7%;
  width:21%;
  height:22%;
  border-radius:6px;
  background:radial-gradient(circle,#fffef9 0%,rgba(255,248,214,.85) 45%,transparent 75%);
  opacity:0;
  mix-blend-mode:screen;
  pointer-events:none;
}
.polaroid-camera.is-printing .camera-viewfinder-flash{
  animation:cameraFlashBurst .6s ease-out;
}
@keyframes cameraFlashBurst{
  0%{opacity:1;transform:scale(1.18)}
  100%{opacity:0;transform:scale(1)}
}

.intro-controls{
  position:absolute;
  z-index:35;
  left:50%;
  bottom:clamp(16px,3.2vh,32px);
  transform:translate3d(-50%,var(--cue-y,0px),0);
  display:inline-flex;
  align-items:center;
  gap:10px;
  opacity:var(--cue-opacity,1);
  transition:opacity .25s ease,transform .25s ease;
}
.intro-controls[hidden]{display:none}
.stack-cue{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:10px 18px;
  border:1px solid #fffdf1cc;
  border-radius:999px;
  background:#263b35bf;
  backdrop-filter:blur(6px);
  color:#fffdf4;
  font:700 10px var(--sans);
  letter-spacing:.14em;
  text-transform:uppercase;
  box-shadow:0 8px 24px #1d2f2840;
  cursor:pointer;
  transition:background-color .2s ease,transform .2s ease;
}
.stack-cue:hover{background:#355147e6}
.stack-cue:focus-visible,.skip-intro:focus-visible{outline:3px solid #fff;outline-offset:4px}
.stack-cue[hidden]{display:none}
.skip-intro{
  padding:9px 14px;
  border:1px solid #fffdf188;
  border-radius:999px;
  background:#fffdf4d9;
  backdrop-filter:blur(6px);
  color:#263b35;
  font:700 9.5px var(--sans);
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 6px 18px #1d2f2826;
  cursor:pointer;
  white-space:nowrap;
  transition:background-color .2s ease,color .2s ease,transform .2s ease;
}
.skip-intro:hover{
  background:#263b35;
  color:#fffdf4;
}
.intro-jump-video{
  position:absolute;
  inset:0;
  z-index:3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
  opacity:0;
  transform:scale(1.03);
  transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}
.polaroid-shutter-flash{
  position:absolute;
  inset:0;
  z-index:4;
  background:radial-gradient(circle at 50% 45%,#fffdf5 0%,#f7e2b8 65%,#e5b97b 100%);
  opacity:0;
  pointer-events:none;
}
.polaroid-unit.is-developing .polaroid-shutter-flash{
  animation:shutterFlashPulse .52s cubic-bezier(.16,1,.3,1) forwards;
}
.polaroid-unit.is-developing .polaroid-photo img{
  animation:instantFilmDevelop 1.05s cubic-bezier(.22,1,.36,1) forwards;
}
/* Single gentle settle wobble ONLY right when the video finishes */
.polaroid-unit.is-developing .polaroid{
  animation:singleSettleWobble .72s cubic-bezier(.25,1,.5,1);
}
@keyframes singleSettleWobble{
  0%{transform:translateY(0) scale(1) rotate(1.2deg)}
  35%{transform:translateY(0) scale(1) rotate(-2deg)}
  70%{transform:translateY(0) scale(1) rotate(.9deg)}
  100%{transform:translateY(0) scale(1) rotate(0deg)}
}
@keyframes shutterFlashPulse{
  0%{opacity:.92}
  100%{opacity:0}
}
@keyframes instantFilmDevelop{
  0%{filter:brightness(1.45) sepia(.65) contrast(.78) saturate(.35) blur(2px)}
  45%{filter:brightness(1.12) sepia(.28) contrast(.94) saturate(.75) blur(.4px)}
  100%{filter:brightness(1) sepia(0) contrast(1) saturate(1) blur(0)}
}
.polaroid-caption{
  clip-path:inset(0 0% 0 0);
  transition:opacity .48s ease,transform .48s ease,clip-path .65s cubic-bezier(.22,1,.36,1);
}
.polaroid-unit.is-jump-glimpse .intro-jump-video{
  opacity:1;
  transform:scale(1);
}
.polaroid-unit.is-jump-glimpse .polaroid-caption,
.landscape.is-jump-glimpse .polaroid-caption{
  opacity:0;
  clip-path:inset(0 100% 0 0);
  transform:translateY(4px);
}
.polaroid-unit .polaroid{
  transition:transform .48s cubic-bezier(.22,1,.36,1),box-shadow .48s cubic-bezier(.22,1,.36,1),opacity .28s ease;
}
.landscape.is-printing .polaroid-unit .polaroid,
.polaroid-unit.is-printing .polaroid{
  animation:polaroidPrintOut 1.15s cubic-bezier(.2,1,.32,1) forwards;
}
@keyframes polaroidPrintOut{
  0%{
    transform:translateY(-78%) scale(.96) rotate(0deg);
    clip-path:inset(76% -12% -15% -12%);
  }
  100%{
    transform:translateY(0%) scale(1) rotate(.4deg);
    clip-path:inset(-5% -12% -15% -12%);
  }
}
.polaroid-unit.is-jump-glimpse .polaroid{
  transform:translateY(0) scale(1) rotate(.4deg);
  box-shadow:0 22px 42px #2636264d,0 4px 10px #2636262e;
}
.stack-cue-arrow{
  display:inline-block;
  font-size:13px;
  line-height:1;
  animation:stackCueBob 1.8s ease-in-out infinite;
}
@keyframes stackCueBob{
  0%,100%{transform:translateY(-1px)}
  50%{transform:translateY(3px)}
}
.track-hint{
  opacity:var(--hint-opacity,1);
  transition:opacity .25s ease;
}
.add-memory{
  opacity:var(--add-opacity,1);
  transform:translateY(var(--add-shift,0px));
  transition:opacity .25s ease,transform .25s ease;
}
@media(prefers-reduced-motion:reduce){
  .intro-controls,.stack-cue,.intro-jump-video,.intro-jump-tag{display:none}
  .stack-cue-arrow{animation:none}
}

/* Top header & social links */
.site-header{
  position:absolute;
  z-index:18;
  top:clamp(16px,2.8vh,28px);
  left:clamp(16px,4vw,54px);
  right:clamp(16px,4vw,54px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  pointer-events:none;
}
.site-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:1px;
  pointer-events:auto;
}
.site-header .site-name{
  position:static;
  transform:none;
  margin:0;
  pointer-events:auto;
}
.site-tagline{
  margin:0;
  font:700 9.5px var(--sans);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#fffdf1e6;
  text-shadow:0 1px 8px #263b35aa;
}
.header-left{
  display:flex;
  align-items:center;
  gap:clamp(10px,1.8vw,18px);
  pointer-events:auto;
}
.header-right{
  display:flex;
  align-items:center;
  gap:10px;
  pointer-events:auto;
}
.header-work-button{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 15px;
  border-radius:999px;
  background:#263b35d9;
  border:1px solid #fffdf1e6;
  backdrop-filter:blur(8px);
  color:#fffdf4;
  font:700 11px var(--grotesk);
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 4px 16px #1c302c33;
  transition:transform .2s ease,background-color .18s ease,box-shadow .2s ease;
  white-space:nowrap;
}
.header-work-button:hover{
  background:#3b564c;
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 6px 20px #1c302c4d;
}
.site-header .scene-customize{
  position:static;
}
.social-links{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 6px;
  border-radius:999px;
  background:#fffdf4cf;
  border:1px solid #fffdf1e6;
  backdrop-filter:blur(8px);
  box-shadow:0 4px 16px #1c302c24;
}
.social-link{
  width:32px;
  height:32px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#263b35;
  background:transparent;
  text-decoration:none;
  transition:transform .2s cubic-bezier(.22,1,.36,1),background-color .18s ease,color .18s ease;
}
.social-link svg{
  width:15px;
  height:15px;
  fill:currentColor;
}
.social-link:hover{
  background:#263b35;
  color:#fffdf4;
  transform:translateY(-2px) rotate(-4deg);
}
.social-link:active{
  transform:scale(.94);
}
.social-link:focus-visible{
  outline:2px solid #263b35;
  outline-offset:2px;
}

@media(max-width:680px){
  .site-header{
    top:12px;
    left:14px;
    right:14px;
    gap:8px;
  }
  .site-header .site-name{
    font-size:clamp(25px,6.5vw,32px);
  }
  .social-links{
    position:fixed;
    left:50%;
    bottom:max(14px,env(safe-area-inset-bottom,14px));
    transform:translateX(-50%);
    z-index:18;
    gap:5px;
    padding:4px 8px;
    pointer-events:auto;
  }
  .social-link{
    width:31px;
    height:31px;
  }
  .social-link svg{
    width:14px;
    height:14px;
  }
  .polaroid-camera{
    top:46px;
    width:clamp(242px,74vw,300px);
  }
  .intro-controls{
    bottom:max(62px,calc(env(safe-area-inset-bottom,14px) + 48px));
    gap:8px;
  }
  .stack-cue{
    padding:9px 15px;
    font-size:9.5px;
    white-space:nowrap;
  }
  .skip-intro{
    padding:9px 12px;
    font-size:9px;
  }
  .track-hint{
    bottom:max(58px,calc(env(safe-area-inset-bottom,14px) + 44px));
    left:50%;
    right:auto;
    transform:translateX(-50%);
    white-space:nowrap;
  }
}
@media(max-width:370px){
  .social-link{
    width:29px;
    height:29px;
  }
}

/* Vintage Postcard Story Dialog */
.story-dialog.postcard-dialog{
  width:min(820px,calc(100vw - 28px));
  max-height:min(88dvh,720px);
  padding:0;
  border:1px solid #d8cbb4;
  border-radius:4px;
  background-color:#f4ead7;
  background-image:url("assets/paper-texture.png");
  background-size:cover;
  background-position:center;
  color:#342c24;
  box-shadow:0 28px 80px #121f1a66,0 4px 16px #121f1a33;
  overflow-y:auto;
}
.story-dialog.postcard-dialog[open]{
  display:block;
  animation:postcardOpen .26s cubic-bezier(.22,1,.36,1);
}
@keyframes postcardOpen{
  from{opacity:0;transform:translateY(12px) scale(.97) rotate(-1deg)}
  to{opacity:1;transform:translateY(0) scale(1) rotate(0deg)}
}
.postcard-dialog .dialog-close{
  position:sticky;
  float:right;
  top:10px;
  right:10px;
  margin:10px 10px -44px 0;
  z-index:12;
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid #cabaa0;
  background:#faf4e6eb;
  color:#3b3228;
  font-size:21px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 3px 10px #2b231924;
  transition:transform .18s ease,background-color .18s ease;
}
.postcard-dialog .dialog-close:hover{
  background:#3b3228;
  color:#fffdf6;
  transform:scale(1.06);
}
.postcard-sheet{
  position:relative;
  margin:10px;
  padding:20px 26px 22px;
  border:1px solid #d5c6ae;
  background:linear-gradient(135deg,rgba(255,252,244,.38),rgba(232,216,191,.18));
}
.postcard-top{
  display:grid;
  grid-template-columns:64px 1fr auto;
  align-items:center;
  gap:12px;
  padding-bottom:14px;
  padding-right:32px;
  border-bottom:1px solid #dfd2bc;
}
.postcard-seal{
  width:52px;
  height:52px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#c57b67,#9c5240 68%,#7d3d2e 100%);
  border:3px double #e8b8a8aa;
  box-shadow:inset 0 2px 5px #57241988,0 4px 10px #3d231b33;
  display:grid;
  place-items:center;
  color:#f9e7dc;
  font:600 13px var(--serif);
  letter-spacing:.12em;
  transform:rotate(-8deg);
}
.postcard-heading{
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
}
.postcard-title-mark{
  font:600 clamp(24px,3.6vw,38px)/.95 var(--serif);
  letter-spacing:.14em;
  color:#2b241d;
}
.postcard-sub-mark{
  font:700 9px var(--sans);
  letter-spacing:.22em;
  color:#726454;
  text-transform:uppercase;
}
.postcard-stamp-area{
  position:relative;
  display:flex;
  align-items:center;
}
.postcard-waves{
  position:absolute;
  left:-68px;
  bottom:8px;
  width:98px;
  height:34px;
  color:#4c423799;
  pointer-events:none;
  z-index:2;
}
.postcard-stamp{
  position:relative;
  width:64px;
  height:76px;
  padding:5px;
  background:
    radial-gradient(circle at 0 6px,transparent 3.5px,#efe4ce 4px) 0 0 / 100% 12px repeat-y,
    radial-gradient(circle at 100% 6px,transparent 3.5px,#efe4ce 4px) 0 0 / 100% 12px repeat-y,
    radial-gradient(circle at 6px 0,transparent 3.5px,#efe4ce 4px) 0 0 / 12px 100% repeat-x,
    radial-gradient(circle at 6px 100%,transparent 3.5px,#efe4ce 4px) 0 0 / 12px 100% repeat-x,
    #efe4ce;
  box-shadow:0 3px 9px #2c231a29;
  transform:rotate(2.5deg);
}
.postcard-stamp-inner{
  width:100%;
  height:100%;
  border:1px solid #9e8a6b;
  background:linear-gradient(170deg,#d8c49e 0%,#c7af86 100%);
  color:#433627;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  padding:4px 3px 3px;
}
.stamp-price{
  align-self:flex-start;
  font:700 9px/1 var(--serif);
  letter-spacing:.03em;
}
.stamp-art{
  width:28px;
  height:30px;
  color:#52412f;
}
.stamp-foot{
  font:700 6.5px/1 var(--sans);
  letter-spacing:.14em;
}
.postcard-body{
  display:grid;
  grid-template-columns:minmax(240px,44%) 1px 1fr;
  gap:24px;
  padding-top:18px;
  align-items:stretch;
}
.postcard-divider{
  background:#9e8d75;
  opacity:.65;
}
.postcard-left{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:14px;
}
.postcard-dialog .dialog-photo-wrap{
  position:relative;
  min-height:0;
  height:auto;
  padding:11px 11px 15px;
  background:#fffdf7;
  border:1px solid #dfd3be;
  box-shadow:0 10px 24px #2a211826,0 2px 6px #2a21181c;
  transform:rotate(-1.6deg);
}
.postcard-photo-frame{
  width:100%;
  aspect-ratio:1 / 1.02;
  max-height:285px;
  overflow:hidden;
  background:#26332d;
}
.polaroid-photo .polaroid-live-video{
  height:100%;
  width:100%;
  object-fit:cover;
  display:block;
}
.postcard-dialog .dialog-photo-wrap img.visible,
.postcard-dialog .dialog-photo-wrap video.visible{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
}
.postcard-star{
  position:absolute;
  z-index:3;
  color:#9c4d36;
  font-size:24px;
  line-height:1;
  text-shadow:0 2px 4px #2a1d1538;
  pointer-events:none;
}
.postcard-star-tl{
  top:-11px;
  left:-9px;
  transform:rotate(-16deg);
}
.postcard-star-br{
  bottom:28px;
  right:-10px;
  color:#b58338;
  font-size:22px;
  transform:rotate(14deg);
}
.postcard-dymo{
  margin-top:10px;
  display:inline-block;
  padding:5px 11px 4px;
  background:#1f211e;
  color:#f5f2e9;
  font:700 10px/1.1 var(--sans);
  letter-spacing:.26em;
  text-transform:uppercase;
  box-shadow:inset 0 1px 0 #ffffff29,0 2px 5px #00000038;
  transform:rotate(.6deg);
}
.postcard-meta-lines{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:4px 2px 0;
  font-size:11px;
  color:#5b4e40;
}
.postcard-line-row{
  display:flex;
  align-items:baseline;
  gap:8px;
  padding-bottom:4px;
  border-bottom:1px dashed #b9a88e;
}
.postcard-line-row span{
  font:700 9px var(--sans);
  letter-spacing:.16em;
  color:#7c6d5c;
}
.postcard-line-row strong{
  font:400 17px var(--handwriting);
  color:#332a21;
}
.postcard-micro-label{
  margin:2px 0 0;
  font:700 8px var(--sans);
  letter-spacing:.18em;
  color:#8a7b68;
  text-transform:uppercase;
}
.postcard-right.dialog-content{
  position:relative;
  align-self:stretch;
  padding:4px 4px 6px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.postcard-right .eyebrow{
  margin:0 0 6px;
  color:#9c5843;
  font:400 15px var(--handwriting);
  letter-spacing:.08em;
}
.postcard-right h2{
  font:400 clamp(26px,3.2vw,36px)/1.18 var(--handwriting);
  color:#2b231b;
  margin:0 0 12px;
}
.postcard-right>p:not(.eyebrow):not(.postcard-micro-label){
  color:#3a2f24;
  font:400 18.5px/1.62 var(--handwriting);
  background-image:repeating-linear-gradient(to bottom,transparent 0 29px,#d8cab466 29px 30px);
  padding-bottom:4px;
  margin:0;
}
.postcard-postmark{
   align-self:flex-end;
  margin-top:16px;
  pointer-events:none;
}
.postmark-ring{
  width:116px;
  height:116px;
  border-radius:50%;
  border:2px solid #b84a39c4;
  box-shadow:inset 0 0 0 4px transparent,inset 0 0 0 5.5px #b84a3999;
  color:#b84a39d9;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:12px;
  text-align:center;
  transform:rotate(-9deg);
}
.postmark-top,.postmark-bottom{
  font:700 6.5px/1.1 var(--sans);
  letter-spacing:.14em;
}
.postmark-center{
  font:700 9px/1.15 var(--sans);
  letter-spacing:.1em;
  padding:3px 6px;
  border-top:1px solid #b84a3999;
  border-bottom:1px solid #b84a3999;
  max-width:92px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.postcard-writing-label{
  text-align:center;
  margin-top:8px;
}

@media(max-width:680px){
  .story-dialog.postcard-dialog{
    width:calc(100vw - 20px);
    max-height:90dvh;
  }
  .postcard-sheet{
    margin:7px;
    padding:14px 14px 16px;
  }
  .postcard-top{
    grid-template-columns:42px 1fr auto;
    gap:8px;
    padding-bottom:10px;
    padding-right:28px;
  }
  .postcard-seal{
    width:40px;
    height:40px;
    font-size:11px;
  }
  .postcard-title-mark{
    font-size:clamp(19px,5.6vw,25px);
    letter-spacing:.1em;
  }
  .postcard-sub-mark{
    font-size:7.5px;
    letter-spacing:.15em;
  }
  .postcard-stamp{
    width:50px;
    height:60px;
  }
  .postcard-waves{
    left:-46px;
    width:70px;
  }
  .postcard-body{
    grid-template-columns:1fr;
    gap:16px;
    padding-top:14px;
  }
  .postcard-divider{
    height:1px;
    width:100%;
  }
  .postcard-photo-frame{
    max-height:240px;
  }
  .postcard-right.dialog-content{
    padding:0 2px;
  }
  .postcard-line-row strong{
    font-size:19px;
  }
  .postcard-right .eyebrow{
    font-size:17px;
  }
  .postcard-right h2{
    font-size:30px;
  }
  .postcard-right>p:not(.eyebrow):not(.postcard-micro-label){
    font-size:19px;
  }
  .story-extra-media figcaption{
    font-size:16px;
  }
  .work-postcard-dialog .postcard-title-mark{
    font-size:clamp(34px,6.5vw,42px);
  }
  .postmark-ring{
    width:96px;
    height:96px;
  }
}

/* Work With Me Postcard — Clean Editorial Layout */
.work-postcard-dialog{
  width:min(820px,calc(100vw - 28px));
}
.work-postcard-dialog .postcard-top{
  display:flex;
  justify-content:center;
  align-items:center;
  padding-right:0;
  padding-bottom:10px;
}
.work-postcard-dialog .postcard-title-mark{
  font:400 clamp(30px,4.5vw,42px)/1 var(--handwriting);
  letter-spacing:.01em;
  color:#241e18;
}
.work-editorial-body{
  grid-template-columns:minmax(220px,38%) 1px 1fr;
  gap:26px;
  padding-top:16px;
}
.work-editorial-left{
  justify-content:flex-start;
  gap:14px;
}
.work-bio-note{
  margin:2px 0 0;
  font:400 13px/1.6 var(--sans);
  color:#3b3228;
}
.work-contact-block{
  margin-top:auto;
  padding-top:12px;
  border-top:1px solid #d8cab4;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.work-primary-cta{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  padding:9px 14px;
  background:#241e18;
  color:#faf6ec;
  font:700 11.5px var(--grotesk);
  letter-spacing:.06em;
  text-decoration:none;
  border-radius:3px;
  transition:background-color .16s ease,transform .16s ease;
}
.work-primary-cta:hover{
  background:#3e5649;
  transform:translateY(-1px);
}
.work-quick-links{
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 2px;
}
.work-quick-links a{
  font:700 10.5px var(--grotesk);
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#5c4f41;
  text-decoration: underline;
  text-decoration-color:#b8a890;
  text-underline-offset:3px;
}
.work-quick-links a:hover{
  color:#1f1914;
  text-decoration-color:#1f1914;
}
.work-editorial-right.dialog-content{
  padding:0 2px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:16px;
}
.work-ed-section{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.work-ed-heading{
  margin:0;
  font:700 10px var(--grotesk);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#84725e;
}
.work-ed-lead{
  margin:0 0 6px!important;
  background:none!important;
  padding:0!important;
  font:400 13.5px/1.6 var(--sans)!important;
  color:#2b231b!important;
}
.work-ed-lead strong{
  font-weight:600;
  color:#1c1611;
}
.work-ed-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  border-top:1px solid #dfd3be;
}
.work-ed-list li{
  padding:8px 0;
  border-bottom:1px solid #dfd3be;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.work-ed-row{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
}
.work-ed-row strong{
  font:700 12.5px var(--grotesk);
  letter-spacing:.03em;
  color:#1f1914;
}
.work-ed-row a{
  font:700 9.5px var(--grotesk);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#6e5e4d;
  text-decoration:none;
  border-bottom:1px solid #bfb099;
  padding-bottom:1px;
}
.work-ed-row a:hover{
  color:#1f1914;
  border-color:#1f1914;
}
.work-ed-links{
  display:flex;
  align-items:baseline;
  gap:8px;
}
.work-testimonial-snippet{
  margin:6px 0 2px;
  max-width:320px;
}
.work-testimonial-snippet img{
  width:100%;
  height:auto;
  border-radius:5px;
  border:1px solid #d4c7b2;
  display:block;
  box-shadow:0 2px 6px #00000014;
}
.work-ed-list li>span{
  font:400 12.5px/1.5 var(--sans);
  color:#4a3f34;
}
.work-ed-tools-section{
  padding-top:6px;
  border-top:1px solid #dfd3be;
}
.work-ed-footer-grid{
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:16px;
  padding-top:4px;
}
.work-ed-compact{
  margin:0!important;
  background:none!important;
  padding:0!important;
  font:400 12.5px/1.55 var(--sans)!important;
  color:#3b3228!important;
}
.work-ed-compact strong{
  font-weight:600;
  color:#1f1914;
}
@media(max-width:680px){
  .site-header{
    flex-wrap:nowrap;
  }
  .header-work-button{
    padding:5px 10px;
    font-size:9.5px;
    transition:opacity .28s ease,transform .28s ease,background-color .18s ease,box-shadow .2s ease;
  }
  .landscape.is-stacked .header-work-button{
    opacity:0;
    pointer-events:none;
    transform:translateY(-6px);
  }
  .story-dialog.postcard-dialog{
    max-height:84dvh;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }
  .postcard-star{
    display:none;
  }
  .work-postcard-dialog .postcard-sheet{
    margin:8px;
    padding:16px 16px 20px;
  }
  .work-editorial-body{
    grid-template-columns:1fr;
    gap:18px;
    padding-top:14px;
  }
  .work-editorial-left{
    align-items:center;
    text-align:center;
    gap:10px;
  }
  .work-postcard-dialog .dialog-photo-wrap{
    width:100%;
    max-width:190px;
    margin:0 auto;
    padding:8px 8px 11px;
    transform:rotate(-1deg);
  }
  .work-postcard-dialog .postcard-photo-frame{
    max-height:175px;
  }
  .work-bio-note{
    font-size:13px;
    line-height:1.55;
    max-width:320px;
  }
  .work-ed-section{
    gap:8px;
  }
  .work-ed-list li{
    padding:13px 0;
    gap:5px;
  }
  .work-ed-row strong{
    font-size:14px;
  }
  .work-ed-row a{
    font-size:10px;
    padding:3px 8px;
    border:1px solid #cbbba2;
    border-radius:999px;
    background:#faf5ea;
  }
  .work-ed-list li>span{
    font-size:13px;
    line-height:1.55;
  }
  .work-ed-tools-section{
    padding-top:12px;
  }
  .work-ed-footer-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
}


