:root{--ink:#273449;--muted:#7a8494;--pink:#ef5d7d;--pink-dark:#e94f73;--cream:#fff9f7;--line:#f1e8e8;--green:#61b99a;--purple:#9b83e7;--shadow:0 14px 38px rgba(78,58,76,.08)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Noto Serif SC","Microsoft YaHei",serif;background:#fffdfc;color:var(--ink);line-height:1.75}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.site-header{height:76px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;gap:25px;background:rgba(255,253,252,.95);border-bottom:1px solid rgba(241,232,232,.8);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:13px;font-size:1.3rem;font-weight:800;letter-spacing:1px;white-space:nowrap}
.brand-heart{font-family:Arial,sans-serif;font-size:2rem;color:var(--pink);line-height:1}
.brand small{display:block;font-size:.68rem;color:var(--muted);font-weight:400;letter-spacing:1px;margin-top:-3px}
.main-nav{display:flex;align-items:center;gap:clamp(16px,3vw,40px);height:100%;font-family:Arial,"Microsoft YaHei",sans-serif;font-size:.94rem;font-weight:600}
.main-nav a{height:100%;display:flex;align-items:center;position:relative;transition:color .2s}
.main-nav a:hover,.main-nav a.active{color:var(--pink)}
.main-nav a.active:after{content:"";position:absolute;bottom:13px;left:0;right:0;height:3px;background:var(--pink);border-radius:9px}
.menu-toggle{display:none;border:0;background:none;color:var(--ink);font-size:1.5rem;cursor:pointer}
.hero{height:min(590px,66vw);min-height:460px;position:relative;display:flex;align-items:center;overflow:hidden;color:white;background:url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=2000&q=90") center 48%/cover}
.hero:before{content:"";position:absolute;inset:0;background:url("https://images.unsplash.com/photo-1516589178581-6cd7833ae3b2?auto=format&fit=crop&w=1800&q=85") center 40%/cover;opacity:.24;mix-blend-mode:soft-light}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(29,43,66,.69),rgba(29,43,66,.18) 72%),linear-gradient(0deg,rgba(26,38,58,.2),transparent 45%)}
.hero-content{position:relative;z-index:1;margin-left:clamp(28px,6.5vw,100px);max-width:680px;padding:50px 0}
.eyebrow{font-family:Arial,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:3px;color:#ffe3e7;margin-bottom:16px}
.eyebrow.pink{color:var(--pink)}
.hero h1,.page-hero h1{font-size:clamp(2.7rem,5.8vw,5rem);font-weight:600;line-height:1.34;letter-spacing:2px;text-shadow:0 3px 20px #27344940}
.outline-heart{font-size:.48em;margin-left:10px;vertical-align:top}
.hero-description{font-size:1.06rem;line-height:1.9;margin:22px 0 28px;color:rgba(255,255,255,.92)}
.button{border:0;border-radius:99px;background:var(--pink);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:17px;padding:12px 25px;font:inherit;font-size:.92rem;font-weight:700;cursor:pointer;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-2px);background:var(--pink-dark)}
.button-light{background:#fff;color:var(--pink)}
.button-light:hover{background:#fff0f3;color:var(--pink-dark)}
.hero-note{position:absolute;right:5%;bottom:18%;font-family:cursive;font-size:1.3rem;line-height:1.5;color:#ffe1f0;transform:rotate(-8deg);text-shadow:0 2px 12px #333}
.hero-stamp{position:absolute;left:43%;bottom:20%;font-size:.9rem;letter-spacing:2px;border-bottom:1px dashed #fff;padding-bottom:5px;transform:rotate(-6deg)}
.section-wrap{width:min(1200px,90%);margin:0 auto;padding:78px 0 86px}
.section-intro{text-align:center;max-width:700px;margin:0 auto 38px}
.section-intro .eyebrow{margin-bottom:7px}
.section-intro h2{font-size:clamp(1.8rem,3.5vw,2.5rem);margin-bottom:10px;font-weight:700;letter-spacing:1px}
.section-intro>p:last-child{color:var(--muted);font-size:.96rem}
.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.feature-card{text-align:center;padding:12px 12px 25px;border:1px solid #f3e9e9;border-radius:17px;background:linear-gradient(160deg,#fffafa,#fff5f6);box-shadow:0 6px 22px rgba(80,55,70,.04);transition:transform .25s,box-shadow .25s}
.feature-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.feature-purple{background:linear-gradient(160deg,#fff,#f7f4ff)}
.feature-green{background:linear-gradient(160deg,#fff,#f2fbf7)}
.feature-rose{background:linear-gradient(160deg,#fff,#fff2f5)}
.feature-image{display:block;overflow:hidden;border-radius:11px}
.feature-image img{width:100%;height:190px;object-fit:cover;transition:transform .4s}
.feature-card:hover .feature-image img{transform:scale(1.05)}
.feature-icon{position:relative;margin:-25px auto 8px;width:54px;height:54px;border:3px solid white;border-radius:50%;display:grid;place-items:center;background:#f16e7f;color:white;font-size:1.65rem;box-shadow:0 4px 10px #ef5d7d25}
.feature-purple .feature-icon{background:var(--purple)}.feature-green .feature-icon{background:var(--green)}.feature-rose .feature-icon{background:var(--pink)}
.feature-card h3{font-size:1.3rem;margin-bottom:7px}
.feature-card p{color:var(--muted);font-size:.9rem;line-height:1.8;min-height:54px}
.pill-link{display:flex;align-items:center;justify-content:center;gap:14px;width:fit-content;min-width:150px;margin:18px auto 0;padding:8px 20px;border-radius:99px;background:#f16e7f;color:white;font-family:Arial,"Microsoft YaHei",sans-serif;font-size:.87rem;font-weight:700}
.feature-purple .pill-link{background:var(--purple)}.feature-green .pill-link{background:var(--green)}.feature-rose .pill-link{background:var(--pink)}
.quote-band{text-align:center;padding:30px 20px 36px;background:linear-gradient(180deg,#fffdfc,#fff0f2);position:relative;overflow:hidden}
.quote-band:before,.quote-band:after{content:"";position:absolute;width:42%;height:65px;bottom:-32px;border-radius:50%;background:#fce4e9;opacity:.6}
.quote-band:before{left:-8%;transform:rotate(8deg)}.quote-band:after{right:-8%;transform:rotate(-8deg)}
.quote-band span{display:block;color:var(--pink);font-size:1.5rem;line-height:1.2;margin-bottom:4px;position:relative;z-index:1}
.quote-band p{font-size:1.1rem;letter-spacing:2px;position:relative;z-index:1}
.quote-band small{color:var(--muted);font-size:.76rem;letter-spacing:2px;position:relative;z-index:1}
.site-footer{padding:28px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#fff;color:var(--muted);font-size:.82rem}
.footer-brand{font-size:1rem;color:var(--ink)}.footer-brand .brand-heart{font-size:1.5rem}.site-footer>small{white-space:nowrap}
.page-hero{min-height:370px;display:flex;align-items:center;position:relative;color:white;background-position:center;background-size:cover}
.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,42,62,.68),rgba(30,42,62,.14))}
.page-hero-content{position:relative;z-index:1;width:min(1100px,90%);margin:auto;padding:65px 0}
.page-hero h1{font-size:clamp(2.5rem,5vw,4rem)}
.page-hero-content>p:last-child{margin-top:15px;color:#fff4f4}
.travel-hero{background-image:url("../images/travel.jpg")}
.memory-hero{background-image:url("../images/memories.jpg")}
.future-hero{background-image:url("../images/future.jpg")}
.album-hero{background-image:url("../images/album.jpg")}
.destination-list{display:grid;gap:25px}
.destination-row{display:grid;grid-template-columns: minmax(260px,.85fr) 1.15fr;gap:30px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 25px rgba(70,55,70,.04)}
.destination-row img{width:100%;height:245px;object-fit:cover;border-radius:13px}
.date-label,.wish-label{font-family:Arial,sans-serif;color:var(--pink);font-size:.78rem;font-weight:700;letter-spacing:1px}
.destination-row h3,.memory-copy h3,.wish-content h3{font-size:1.4rem;margin:7px 0}
.destination-row p,.memory-copy p,.wish-content p{color:var(--muted);font-size:.94rem}
.tag-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.tag-list span{background:#fff0f3;color:#d64d6d;padding:4px 11px;border-radius:99px;font-size:.78rem}
.memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.memory-card{border-radius:18px;overflow:hidden;background:white;border:1px solid var(--line);box-shadow:var(--shadow)}
.memory-card img{width:100%;height:260px;object-fit:cover}
.memory-copy{padding:20px 22px 24px}.memory-copy h3{margin-top:7px}
.wish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.wish-card{display:grid;grid-template-columns:42% 1fr;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:white;box-shadow:0 7px 24px rgba(70,55,70,.04)}
.wish-card img{width:100%;height:100%;min-height:230px;object-fit:cover}
.wish-content{padding:20px}.wish-content h3{font-size:1.15rem}
.check-label{display:flex;align-items:center;gap:8px;margin-top:16px;color:#718174;font-size:.83rem;cursor:pointer}.check-label input{accent-color:var(--pink);width:16px;height:16px}
.add-wish{margin-top:40px;padding:28px;border-radius:20px;background:#fff3f4;border:1px solid #f8e1e6}.add-wish h3{margin-bottom:16px}
.inline-form{display:flex;gap:10px}.inline-form input{flex:1;min-width:0;border:1px solid #ecd8dd;border-radius:99px;background:white;padding:12px 17px;font:inherit;outline-color:var(--pink)}
.custom-wishes{display:flex;gap:10px;flex-wrap:wrap;list-style:none;margin-top:15px}.custom-wishes li{padding:6px 12px;border-radius:99px;background:#fff;color:#d64d6d;font-size:.86rem}
.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:230px;gap:17px}
.album-photo{position:relative;border:0;padding:0;border-radius:15px;overflow:hidden;cursor:zoom-in;background:#f8e9eb;text-align:left}
.album-photo.tall{grid-row:span 2}
.album-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.album-photo:hover img{transform:scale(1.06)}
.album-photo:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(29,35,49,.65))}
.album-photo span{position:absolute;bottom:15px;left:17px;z-index:1;color:white;font-size:.94rem;letter-spacing:1px}
.lightbox{position:fixed;inset:0;background:rgba(22,25,34,.9);display:none;align-items:center;justify-content:center;padding:35px;z-index:50}
.lightbox.open{display:flex}.lightbox img{max-width:min(100%,1000px);max-height:85vh;object-fit:contain;border-radius:8px;box-shadow:0 15px 60px #0006}
.lightbox-close{position:absolute;top:20px;right:28px;background:none;border:0;color:white;font-size:2.6rem;cursor:pointer}
@media(max-width:950px){.site-header{padding:0 4%;}.brand{font-size:1.05rem}.main-nav{gap:16px;font-size:.86rem}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-image img{height:220px}.hero{height:540px}.hero-note{right:5%;bottom:10%}.wish-grid{grid-template-columns:1fr}}
@media(max-width:700px){.site-header{height:68px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;height:auto;padding:10px 5% 20px;background:#fffdfc;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #49353b0d;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{height:auto;padding:11px 0}.main-nav a.active:after{bottom:4px;right:auto;width:32px}.brand small{display:none}.hero{min-height:500px;height:auto;background-position:58% center}.hero-content{margin-left:7%;padding:75px 0}.hero h1{font-size:clamp(2.6rem,10vw,4rem)}.hero-note{display:none}.hero-stamp{left:auto;right:8%;bottom:10%}.section-wrap{padding:58px 0}.section-intro{margin-bottom:28px}.feature-grid{gap:12px}.feature-card{padding:9px 9px 18px}.feature-image img{height:150px}.feature-card h3{font-size:1.08rem}.feature-card p{font-size:.8rem}.pill-link{min-width:120px;padding:7px 13px;font-size:.78rem}.destination-row{grid-template-columns:1fr;gap:17px}.destination-row img{height:220px}.memory-grid{grid-template-columns:1fr}.memory-card img{height:230px}.wish-card{grid-template-columns:1fr}.wish-card img{height:200px;min-height:0}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:175px;gap:10px}.site-footer{flex-direction:column;text-align:center;gap:8px}.page-hero{min-height:330px}.page-hero h1{font-size:2.7rem}.inline-form{flex-direction:column}.inline-form .button{width:100%}}
@media(max-width:380px){.brand{font-size:.96rem;gap:8px}.brand-heart{font-size:1.6rem}.feature-grid{grid-template-columns:1fr}.feature-image img{height:210px}.album-grid{grid-auto-rows:145px}}


/* ===== 首页精致化补充样式 ===== */
.home-page{background:#fffdfb}
.home-hero{min-height:570px;height:min(690px,68vw);background:url("../images/hero.jpg") center 48%/cover no-repeat,linear-gradient(120deg,#27394e,#9b6254)}
.home-hero:before{content:none}
.home-hero .hero-shade{background:linear-gradient(90deg,rgba(23,36,55,.72) 0%,rgba(23,36,55,.36) 48%,rgba(23,36,55,.08) 100%),linear-gradient(0deg,rgba(23,36,55,.35),transparent 36%)}
.home-hero .hero-content{max-width:780px;margin-left:clamp(28px,6.5vw,105px);padding:65px 0}
.home-hero h1{font-size:clamp(3.1rem,6vw,5.5rem);line-height:1.27;letter-spacing:2px}
.home-hero .hero-description{max-width:540px;font-size:1.02rem;color:rgba(255,255,255,.88);margin:25px 0 30px}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.hero-text-link{color:#fff;font-size:.88rem;border-bottom:1px solid rgba(255,255,255,.5);padding:8px 0}.hero-text-link span{margin-left:9px}
.home-hero .hero-note{right:5.2%;bottom:22%;font-size:1.25rem;letter-spacing:1px;line-height:1.6;transform:rotate(-8deg);color:#fff0f2}
.home-hero .hero-note span{font-size:1.4rem}
.home-hero .hero-stamp{left:auto;right:33%;bottom:20%;display:flex;align-items:center;gap:8px;border:0;transform:rotate(-7deg);font-size:.9rem}
.hero-stamp span{font-size:1.4rem}.hero-stamp i{position:absolute;left:28px;right:0;bottom:0;border-bottom:1px dashed rgba(255,255,255,.8)}
.hero-bottom-note{position:absolute;left:clamp(28px,6.5vw,105px);bottom:24px;display:flex;align-items:center;gap:14px;color:rgba(255,255,255,.8);font:700 .65rem Arial,sans-serif;letter-spacing:2px}.hero-bottom-line{display:block;width:62px;height:1px;background:#ffffff9c}
.home-intro{display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:clamp(35px,8vw,110px);padding-top:100px;padding-bottom:95px}
.intro-copy h2{font-size:clamp(2.1rem,4vw,3.35rem);line-height:1.45;letter-spacing:1px;margin:8px 0 20px}.intro-copy h2 em{font-style:normal;color:var(--pink)}
.intro-copy>p:not(.eyebrow){color:var(--muted);font-size:.96rem;line-height:2.1;max-width:430px}
.underlined-link{display:inline-flex;align-items:center;gap:16px;color:var(--pink);font-weight:700;font-size:.9rem;margin-top:25px;padding-bottom:7px;border-bottom:1px solid #ef9caf}
.intro-collage{position:relative;min-height:400px;padding:0 9% 6% 0}
.collage-main{width:78%;height:350px;overflow:hidden;border-radius:46% 46% 12px 12px / 35% 35% 12px 12px;box-shadow:var(--shadow)}
.collage-main img,.collage-small img{width:100%;height:100%;object-fit:cover}
.collage-small{position:absolute;right:0;bottom:6px;width:43%;height:195px;padding:8px;background:#fff;border-radius:12px;box-shadow:0 14px 40px #4730441c;transform:rotate(5deg)}
.collage-sticker{position:absolute;right:4%;top:28px;width:105px;height:105px;border-radius:50%;background:#fff0f3;color:var(--pink);display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 8px 25px #e76c851c;transform:rotate(10deg)}
.collage-sticker span{font-size:1.8rem;line-height:1}.collage-sticker small{text-align:center;font:700 .55rem/1.5 Arial,sans-serif;letter-spacing:1px;margin-top:4px}
.collage-caption{position:absolute;left:10px;bottom:0;color:#a9a0a2;font:italic .78rem cursive;letter-spacing:1px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.section-heading .eyebrow{margin-bottom:6px}.section-heading h2{font-size:clamp(1.7rem,3.2vw,2.45rem);letter-spacing:1px}.section-heading>p{color:var(--muted);font-size:.9rem;line-height:1.9}
.home-sections.section-wrap{padding-top:62px;padding-bottom:100px}
.home-sections .feature-grid{gap:20px}
.home-sections .feature-card{position:relative;padding:11px 11px 24px;border-radius:18px;box-shadow:0 10px 35px #47304408;transition:transform .3s,box-shadow .3s}
.home-sections .feature-card:hover{transform:translateY(-8px);box-shadow:0 18px 42px #47304414}
.home-sections .feature-image{position:relative}.home-sections .feature-image img{height:205px}
.image-number{position:absolute;left:12px;top:12px;padding:4px 9px;border-radius:20px;background:#ffffffdc;color:#354154;font:700 .67rem Arial,sans-serif;letter-spacing:1px}
.home-sections .feature-icon{margin-top:-24px;z-index:1}.home-sections .feature-card h3{margin-top:8px;font-size:1.25rem}.home-sections .feature-card p{font-size:.84rem;min-height:48px}.home-sections .pill-link{margin-top:16px}
.home-timeline{position:relative;background:linear-gradient(115deg,rgba(33,47,66,.94),rgba(54,64,81,.87)),url("../images/future.jpg") center/cover;color:#fff;padding:75px 5% 80px;text-align:center;overflow:hidden}
.home-timeline:before,.home-timeline:after{content:"♡";position:absolute;color:#ffffff0c;font-size:14rem;line-height:1}.home-timeline:before{left:3%;top:-40px}.home-timeline:after{right:4%;bottom:-95px}
.timeline-inner{position:relative;z-index:1;max-width:950px;margin:auto}.timeline-heading .eyebrow{color:#ffc9d4}.timeline-heading h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:2px;margin-bottom:12px}.timeline-heading>p:last-child{color:#e0e4ea;line-height:2}
.timeline-stats{display:flex;justify-content:center;align-items:center;gap:clamp(20px,5vw,70px);margin:42px auto 36px}.timeline-stats div{display:flex;flex-direction:column;gap:7px}.timeline-stats strong{font:400 clamp(2.4rem,5vw,3.7rem) Georgia,serif;color:#ffc1cf}.timeline-stats span{font-size:.82rem;color:#f1edf0;letter-spacing:1px}.timeline-stats>i{height:50px;border-left:1px solid #ffffff45}
.home-timeline .button{box-shadow:0 8px 24px #11182722}
.home-love-note{padding:85px 5%;background:#fff8f7}.love-note-card{max-width:850px;margin:auto;text-align:center;position:relative;padding:48px 25px 55px;border:1px solid #f4dfe3;background:#fffdfc;border-radius:18px;box-shadow:0 16px 50px #8c58630c}.note-heart{display:grid;place-items:center;width:52px;height:52px;margin:-75px auto 24px;background:#f06a83;color:#fff;border:6px solid #fff8f7;border-radius:50%;font-size:1.1rem}.love-note-card h2{font-size:clamp(1.7rem,3.5vw,2.5rem);margin:8px 0 13px}.love-note-card>p:not(.eyebrow){color:var(--muted);line-height:2}.note-scribble{position:absolute;right:7%;bottom:20px;color:#e99aac;font:italic 1rem cursive;transform:rotate(-7deg)}
@media(max-width:950px){.home-intro{gap:35px}.home-sections .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-sections .feature-image img{height:220px}.home-hero .hero-stamp{right:28%}}
@media(max-width:700px){.home-hero{min-height:530px;height:auto;background-position:center}.home-hero .hero-content{margin-left:7%;padding:72px 0 85px}.home-hero h1{font-size:clamp(2.7rem,10vw,4rem)}.home-hero .hero-description{font-size:.94rem;max-width:90%}.hero-actions{align-items:flex-start;flex-direction:column;gap:12px}.home-hero .hero-note{display:none}.home-hero .hero-stamp{right:8%;bottom:13%}.hero-bottom-note{left:7%;bottom:20px}.home-intro{grid-template-columns:1fr;padding-top:65px;padding-bottom:55px}.intro-collage{min-height:320px;margin-top:5px}.collage-main{height:285px}.collage-small{height:150px}.collage-sticker{width:85px;height:85px;right:2%}.section-heading{align-items:flex-start;flex-direction:column;gap:10px}.home-sections.section-wrap{padding-top:45px;padding-bottom:65px}.home-sections .feature-grid{gap:12px}.home-sections .feature-card{padding:8px 8px 18px}.home-sections .feature-image img{height:155px}.home-sections .feature-card h3{font-size:1.05rem}.home-sections .feature-card p{font-size:.78rem;min-height:52px}.home-sections .pill-link{min-width:0;padding:7px 12px;font-size:.75rem}.image-number{top:8px;left:8px}.timeline-stats{gap:14px}.timeline-stats span{font-size:.7rem}.home-timeline{padding:58px 5%}.home-love-note{padding:65px 5%}.love-note-card{padding:42px 16px 50px}.note-scribble{right:5%;font-size:.8rem}}
@media(max-width:390px){.home-sections .feature-grid{grid-template-columns:1fr}.home-sections .feature-image img{height:210px}.home-sections .feature-card p{min-height:0}.timeline-stats{gap:10px}.timeline-stats>i{height:40px}}
