/* A quiet, animated photo diary layer over the functional MVP layout. */
:root{--paper:#f7f2eb;--surface:#fffcf8;--ink:#302b28;--rose:#ad7275;--rose-dark:#895258;--line:#ddd3c9}
body{background:var(--paper)}
body:before{background:radial-gradient(circle at 91% 7%,rgba(229,190,171,.24),transparent 27%),radial-gradient(circle at 4% 33%,rgba(178,192,174,.16),transparent 26%)}
.topbar{height:78px}
.topbar-link{font-size:12px;letter-spacing:.08em;text-decoration:none;color:var(--rose-dark);border-bottom:1px solid currentColor;padding:7px 0;transition:color .25s,transform .25s}
.topbar-link span{display:inline-block;margin-left:13px;font-size:16px;transition:transform .25s}
.topbar-link:hover{color:#61383d}
.topbar-link:hover span{transform:translate(3px,-3px)}

.intro{min-height:550px;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:14px;padding:56px 12px 55px 30px;overflow:hidden}
.intro-copy{position:relative;z-index:2}
.intro h1{font-size:clamp(50px,5.5vw,75px);line-height:1.25;letter-spacing:-.075em;margin-bottom:21px}
.intro-desc{max-width:390px;font-size:15px;line-height:1.95}
.intro-action{display:inline-flex;align-items:center;gap:30px;margin-top:30px;padding:12px 0;border-bottom:1px solid #8c5559;text-decoration:none;color:var(--rose-dark);font-size:14px;font-weight:600;letter-spacing:.04em;transition:gap .3s,color .3s}
.intro-action:hover{gap:40px;color:#623b40}
.intro-action span{font-size:18px;font-weight:400}
.intro-meta{margin-top:24px}
.intro .eyebrow{animation:rise-in .65s .05s both}
.intro h1{animation:rise-in .8s .15s both}
.intro-desc{animation:rise-in .8s .28s both}
.intro-action,.intro-meta{animation:rise-in .8s .38s both}

.hero-art{position:relative;right:auto;top:auto;width:100%;max-width:500px;height:430px;justify-self:end;transform:none;opacity:1;pointer-events:auto;isolation:isolate}
.hero-orbit{position:absolute;z-index:-1;width:355px;height:355px;left:15%;top:35px;border-radius:50%;background:radial-gradient(circle at 45% 43%,rgba(241,215,201,.67),rgba(222,227,213,.4) 53%,transparent 71%);filter:blur(3px);animation:orbit-breathe 9s ease-in-out infinite alternate}
.hero-photo{position:absolute;box-sizing:border-box;padding:8px 8px 29px;background:#fffcf8;border:1px solid rgba(115,96,84,.11);box-shadow:0 21px 39px rgba(77,58,47,.19),0 4px 10px rgba(77,58,47,.06);cursor:pointer;text-align:left;transition:left .9s cubic-bezier(.22,1,.36,1),top .9s cubic-bezier(.22,1,.36,1),width .9s cubic-bezier(.22,1,.36,1),height .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1),box-shadow .4s}
.hero-photo img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1);transform:scale(1)}
.hero-photo:hover img{transform:scale(1.035)}
.hero-photo:focus-visible{outline:3px solid var(--rose);outline-offset:5px}
.hero-photo span{position:absolute;bottom:6px;left:11px;color:#6f6259;font:italic 11px Georgia,serif;white-space:nowrap}
.hero-photo[data-position="left"]{z-index:1;left:4%;top:27px;width:180px;height:242px;transform:rotate(-11deg)}
.hero-photo[data-position="right"]{z-index:2;left:calc(100% - 179px);top:13px;width:173px;height:225px;transform:rotate(11deg)}
.hero-photo[data-position="center"]{z-index:3;left:50%;top:98px;width:213px;height:274px;transform:translateX(-50%) rotate(-2deg);box-shadow:0 25px 44px rgba(77,58,47,.22),0 5px 11px rgba(77,58,47,.08)}
.hero-note{position:absolute;z-index:4;right:0;bottom:5px;width:220px;min-height:130px;padding:17px 19px 13px;background:#f8ece4;border:1px solid #e4cfc2;box-shadow:0 13px 30px rgba(97,67,58,.14);transform:rotate(5deg)}
.hero-note-kicker{display:block;font:700 9px Georgia,serif;letter-spacing:.13em;color:#a16c6f}
.hero-note-rotation{position:relative;height:63px;margin:11px 0 7px;overflow:hidden}
.hero-note p{font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;font-size:18px;line-height:1.55;letter-spacing:.015em;color:#574441;margin:0}
.hero-note p:not([hidden]){animation:caption-in .45s ease-out both}
.hero-note-foot{display:block;font:italic 10px Georgia,serif;color:#9e877c;white-space:nowrap}
.hero-note-foot b{font-style:normal;font-weight:400;color:#b98284;margin-left:5px}

.story-journey{position:relative;display:grid;grid-template-columns:1fr 20px 1fr 20px 1fr;align-items:center;gap:22px;padding:22px 26px;margin:0 0 43px;border-top:1px solid #d8cbc0;border-bottom:1px solid #d8cbc0;background:rgba(255,251,245,.43)}
.story-journey:after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:#b7807f;transform-origin:left;animation:journey-line 2.3s .7s both}
.journey-step{display:flex;align-items:center;gap:13px;min-width:0;animation:rise-in .75s both}
.journey-step:nth-of-type(1){animation-delay:.9s}
.journey-step:nth-of-type(2){animation-delay:1.45s}
.journey-step:nth-of-type(3){animation-delay:2s}
.journey-index{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid #cba9a1;border-radius:50%;color:var(--rose-dark);font:13px Georgia,serif}
.journey-step strong{display:block;font-size:13px;letter-spacing:.02em;margin-bottom:4px}
.journey-step small{display:block;font-size:11px;color:#8c8177;line-height:1.45}
.journey-arrow{font:18px Georgia,serif;color:#bb9b90;text-align:center;animation:rise-in .6s 1.4s both}

.workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;scroll-margin-top:18px;margin-bottom:31px}
.workspace>.section-heading{grid-column:1/-1;margin:0 0 7px;padding:10px 2px 23px;border-color:#d8ccc1}
.workspace .section-heading h2{font-size:39px}
.workspace .field-block{margin:0;padding:30px 30px 32px;background:var(--surface);border:1px solid #e5d9ce;border-radius:16px;box-shadow:0 12px 38px rgba(92,65,52,.06)}
.workspace .photo-block{grid-column:1}
.workspace .description-block{grid-column:2}
.workspace .style-block{grid-column:1/-1;padding-bottom:29px}
.field-heading h3{font-size:18px}
.workspace .field-help{margin-bottom:18px}
.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.moment-post{padding:19px 19px 14px;background:#fff;border:1px solid #eaded4;border-radius:12px;box-shadow:0 13px 28px rgba(87,67,56,.06)}
.moment-post-head{display:flex;align-items:center;gap:11px;margin-bottom:18px}
.moment-post-avatar{display:grid;place-items:center;width:41px;height:41px;flex:none;border-radius:8px;background:#cab7a9;color:#fff;font:italic 22px Georgia,serif;letter-spacing:-.07em;padding-right:2px}
.moment-post-identity{display:flex;flex-direction:column;gap:3px;min-width:0}
.moment-post-identity strong{font-size:13px;font-weight:600;color:#625754}
.moment-post-identity small{font-size:10px;color:#aaa096}
.moment-post-menu{margin-left:auto;color:#a5978e;font:20px Georgia,serif;line-height:1;align-self:flex-start}
.moment-preview-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 14px;font-size:14px;line-height:1.75;color:#3f3935;min-height:25px}
.moment-preview-text.is-empty{color:#a99e94;font-size:12px}
.moment-post .photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:0}
.moment-post .photo-item{aspect-ratio:1;border-radius:4px}
.moment-post .photo-item img,.moment-post .photo-placeholder{border-radius:4px}
.moment-post .photo-item:nth-child(n){transform:none}
.moment-post .remove-photo{top:4px;right:4px;width:24px;height:24px;border:0;background:rgba(40,35,32,.72);color:#fff;box-shadow:none;font-size:17px}
.moment-post .upload-tile{aspect-ratio:1;min-height:0;margin:0;padding:7px;border-color:#d6c9bf;border-radius:4px;background:#f8f4ef;gap:3px}
.moment-post .upload-plus{width:27px;height:27px;font-size:18px;margin:0;border-color:#bcaaa0}
.moment-post .upload-tile>span:not(.upload-plus){font-size:11px}
.moment-post .upload-tile small{display:none}
.photo-block:not(.has-photos) .moment-post .upload-tile{grid-column:1/-1;aspect-ratio:auto;min-height:137px}
.photo-block:not(.has-photos) .moment-post .upload-plus{width:35px;height:35px;font-size:22px;margin-bottom:3px}
.photo-block:not(.has-photos) .moment-post .upload-tile>span:not(.upload-plus){font-size:13px}
.photo-block:not(.has-photos) .moment-post .upload-tile small{display:block;font-size:10px}
.has-photos .moment-post .upload-tile{flex-direction:column;gap:3px;min-height:0}
.moment-post-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:11px;border-top:1px solid #f0eae4;color:#a59b92;font-size:10px}
.moment-post-action{color:#8d7974;font-size:17px;line-height:1;letter-spacing:.08em}
.description-block textarea{min-height:194px}
.style-choice-inner{background:#faf7f3;transition:transform .3s,border-color .3s,background .3s,box-shadow .3s}
.style-choice input:checked+.style-choice-inner{box-shadow:inset 0 0 0 1px var(--rose),0 6px 15px rgba(162,110,112,.08)}
.submit-area{grid-column:1/-1;display:flex;align-items:center;gap:27px;padding:24px 30px;background:#e7ddd5;border:1px solid #dfd1c5;border-radius:15px;text-align:left}
.primary-button{width:min(330px,100%);flex:none;background:#4f413f;border-radius:9px}
.submit-area p{margin:0;font-size:12px;line-height:1.7;color:#82736b}
.results{background:#fffcf8}
.caption-card{animation:rise-in .7s both}
.caption-card:nth-child(2){animation-delay:.12s}
.caption-card:nth-child(3){animation-delay:.24s}
.copy-button{transition:transform .25s,color .25s}
.copy-button:hover{transform:translate(2px,-2px)}
.topbar-link:focus-visible,.intro-action:focus-visible{outline:3px solid rgba(178,117,120,.4);outline-offset:5px}

@keyframes rise-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes caption-in{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes orbit-breathe{from{opacity:.65;transform:scale(.96)}to{opacity:1;transform:scale(1.06)}}
@keyframes journey-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}

@media(max-width:850px){
  .intro{display:block;min-height:0;padding:36px 7px 15px;overflow:visible}
  .intro h1{font-size:clamp(43px,8vw,57px);line-height:1.24;margin-bottom:17px}
  .intro-desc{max-width:460px;font-size:14px}
  .intro-action{margin-top:19px}
  .intro-meta{margin-top:15px}
  .hero-art{width:100%;max-width:520px;height:390px;margin:21px auto 0;transform:none;pointer-events:auto}
  .hero-orbit{width:310px;height:310px;left:50%;top:4px;margin-left:-155px}
  .hero-photo[data-position="left"]{left:1%;top:38px;width:142px;height:188px}
  .hero-photo[data-position="right"]{left:calc(99% - 142px);top:29px;width:142px;height:188px}
  .hero-photo[data-position="center"]{left:50%;top:8px;width:210px;height:270px}
  .hero-note{right:50%;bottom:4px;width:265px;min-height:101px;padding:12px 16px 9px;transform:translateX(50%) rotate(-2deg)}
  .hero-note-rotation{height:47px;margin:8px 0 1px}
  .hero-note p{font-size:16px;line-height:1.45}
  .hero-note-foot{font-size:9px}
  .workspace{display:flex;flex-direction:column;gap:14px}
  .workspace .field-block{padding:25px}
  .story-journey{gap:11px;padding:18px 14px;margin-bottom:30px}
}
@media(max-width:620px){
  .topbar{height:64px}
  .topbar-link{font-size:11px;letter-spacing:0}
  .topbar-link span{margin-left:5px}
  .intro{padding:32px 5px 8px}
  .intro h1{font-size:clamp(41px,10.7vw,53px);line-height:1.23;margin-bottom:15px}
  .intro-desc{max-width:340px;font-size:13px}
  .intro-action{margin-top:14px;padding:9px 0;font-size:12px;gap:19px}
  .intro-meta{margin-top:12px;font-size:10px}
  .hero-art{max-width:390px;height:337px;margin:16px auto 0}
  .hero-orbit{left:50%;top:0;width:230px;height:230px;margin-left:-115px}
  .hero-photo{padding:5px 5px 19px;box-shadow:0 10px 22px rgba(77,58,47,.15)}
  .hero-photo span{bottom:4px;left:7px;font-size:8px}
  .hero-photo[data-position="left"]{left:0;top:39px;width:108px;height:146px}
  .hero-photo[data-position="right"]{left:calc(100% - 108px);top:35px;width:108px;height:146px}
  .hero-photo[data-position="center"]{left:50%;top:10px;width:168px;height:218px}
  .hero-note{right:50%;bottom:3px;width:245px;min-height:87px;padding:10px 14px 8px;transform:translateX(50%) rotate(-2deg)}
  .hero-note-kicker{font-size:8px}
  .hero-note-rotation{height:43px;margin:7px 0 0}
  .hero-note p{font-size:14px;line-height:1.45}
  .hero-note-foot{display:none}
  .story-journey{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:14px 0 17px;margin:0 0 25px}
  .journey-step{display:block;padding:0 6px}
  .journey-index{width:25px;height:25px;font-size:10px;margin-bottom:7px}
  .journey-step strong{font-size:11px;margin-bottom:2px}
  .journey-step small{font-size:9px;line-height:1.4}
  .journey-arrow{display:none}
  .workspace{display:flex;flex-direction:column;gap:12px;margin-bottom:25px}
  .workspace>.section-heading{margin:0;padding:9px 2px 17px}
  .workspace .section-heading h2{font-size:29px}
  .workspace .field-block{padding:24px 20px 26px}
  .field-heading h3{font-size:15px}
  .photo-block:not(.has-photos) .moment-post .upload-tile{min-height:150px}
  .description-block textarea{min-height:124px}
  .submit-area{display:block;padding:17px 18px;text-align:center}
  .primary-button{width:100%}
  .submit-area p{margin-top:11px;font-size:11px}
}
@media(max-width:360px){
  .hero-art{height:315px}
  .hero-photo[data-position="left"],.hero-photo[data-position="right"]{width:98px;height:133px}
  .hero-photo[data-position="right"]{left:calc(100% - 98px)}
  .hero-photo[data-position="center"]{width:154px;height:200px}
  .hero-note{width:226px}
}
@media(prefers-reduced-motion:reduce){
  .intro .eyebrow,.intro h1,.intro-desc,.intro-action,.intro-meta,.hero-orbit,.hero-photo,.hero-note,.hero-note p,.journey-step,.journey-arrow,.story-journey:after,.caption-card{animation:none!important}
  .hero-photo{transition:none!important}
}
