:root{
--bg:#FDFCFA;--bg2:#FAF7F2;--bg3:#F5F1EA;--bg4:#EDE8DF;
--pb:#B8D4E3;--ps:#C2D4B4;--pr:#E8C4C4;--py:#EDE4B8;--plv:#D0C4E0;
--ink:#2C2520;--ink2:#5C524A;--ink3:#8A7F75;--ink4:#B8AFA6;
--wood:#6B4E2E;--woodl:#8B6E4E;--pw:#FEFEFE;
--pinr:#D4524A;--pinb:#5A8FA8;--ping:#6A9F6A;--piny:#D4B44A;
--wb:rgba(184,212,227,.55);--ws:rgba(194,212,180,.55);--wr:rgba(232,196,196,.5);--wy:rgba(237,228,184,.55);
--s1:0 1px 3px rgba(44,37,32,.08);--s2:0 4px 12px rgba(44,37,32,.1);--s3:0 8px 30px rgba(44,37,32,.12);--s4:0 12px 40px rgba(44,37,32,.16);
--fd:'Cormorant Garamond',Georgia,serif;--fh:'Caveat',cursive;--fc:'Patrick Hand',cursive;--fo:'Homemade Apple',cursive;--fb:'DM Sans',sans-serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--fb);color:var(--ink);background:var(--bg);overflow-x:hidden;line-height:1.6}
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");pointer-events:none;z-index:9998}
.page{display:none}.page.active{display:block}

.ph1{background:linear-gradient(145deg,#d1c4b0,#bfb09a)}.ph2{background:linear-gradient(145deg,#b8c9b4,#a0b898)}
.ph3{background:linear-gradient(145deg,#c9bfb4,#b8a898)}.ph4{background:linear-gradient(145deg,#b4c0c9,#98aab8)}
.ph5{background:linear-gradient(145deg,#c9b4b8,#b8989e)}.ph6{background:linear-gradient(145deg,#c4c0b4,#b0aa98)}
.ph7{background:linear-gradient(145deg,#bcc9b8,#a4b4a0)}

/* ============ HERO ============ */
.hero{min-height:100vh;display:flex;align-items:stretch;background:var(--bg)}
.hero-text{flex:0 0 36%;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem 4rem 5rem;position:relative}
.hero-ey{font-family:var(--fc);font-size:1.05rem;color:var(--ink3);margin-bottom:.75rem;opacity:0;animation:fu .8s ease .2s forwards}
.hero-t{font-family:var(--fd);font-size:clamp(3.2rem,5.5vw,5rem);font-weight:400;line-height:.95;letter-spacing:-.02em;margin-bottom:1rem;opacity:0;animation:fu .8s ease .4s forwards}
.hero-t em{font-style:italic;font-weight:500}
.hero-sub{font-family:var(--fh);font-size:clamp(1.3rem,2.2vw,1.75rem);color:var(--ink2);line-height:1.4;margin-bottom:1.5rem;max-width:290px;opacity:0;animation:fu .8s ease .6s forwards}
.hero-loc{font-family:var(--fb);font-size:.72rem;letter-spacing:.25em;text-transform:uppercase;color:var(--ink4);opacity:0;animation:fu .8s ease .8s forwards}
.hero-sc{position:absolute;bottom:2.5rem;left:5rem;display:flex;align-items:center;gap:.6rem;font-family:var(--fh);font-size:1rem;color:var(--ink4);opacity:0;animation:fu .8s ease 1.2s forwards}
.hero-sc span:last-child{display:inline-block;animation:bob 2s ease-in-out infinite}

/* ============ CORKBOARD ============ */
.hero-cork{flex:0 0 64%;display:flex;align-items:center;justify-content:center;padding:2rem 2rem 2rem 0}
.cork-frame{position:relative;width:100%;max-width:720px;aspect-ratio:4/3;background:radial-gradient(ellipse at 25% 35%,rgba(212,184,138,.4) 0%,transparent 50%),radial-gradient(ellipse at 75% 65%,rgba(196,164,110,.3) 0%,transparent 50%),linear-gradient(135deg,#C8A76E,#BFA068 25%,#D0B07A 50%,#C4A46E 75%,#B89A62);border:10px solid var(--wood);border-radius:3px;box-shadow:inset 0 2px 15px rgba(0,0,0,.15),inset 0 -1px 5px rgba(0,0,0,.08),0 8px 40px rgba(0,0,0,.15);overflow:visible;opacity:0;animation:fi 1s ease .5s forwards}
.cork-frame::before{content:'';position:absolute;inset:-10px;border:10px solid transparent;border-image:linear-gradient(180deg,var(--woodl) 0%,var(--wood) 30%,#5A3E1E 60%,var(--wood) 100%) 10;pointer-events:none}
.cork-frame::after{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E");pointer-events:none}

.cpol{position:absolute;background:var(--pw);box-shadow:0 3px 10px rgba(44,37,32,.12),0 1px 3px rgba(0,0,0,.06);cursor:pointer;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease}
.cpol:hover{transform:rotate(0deg) scale(1.08) translateY(-5px)!important;box-shadow:var(--s4);z-index:50}
.cpol-img{width:100%;display:flex;align-items:center;justify-content:center;font-family:var(--fh);color:rgba(255,255,255,.5);font-size:.75rem;text-align:center}
.cpol-cap{font-family:var(--fh);font-size:.85rem;color:var(--ink2);text-align:center;padding:1px 4px;margin-top:1px}
.pin{position:absolute;top:-7px;left:50%;transform:translateX(-50%);width:15px;height:15px;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.3),inset 0 -1px 2px rgba(0,0,0,.2);z-index:5}
.pin::after{content:'';position:absolute;top:3px;left:4px;width:5px;height:4px;background:rgba(255,255,255,.35);border-radius:50%}
.pin-r{background:var(--pinr)}.pin-b{background:var(--pinb)}.pin-g{background:var(--ping)}.pin-y{background:var(--piny)}

/* ============ SHARED ============ */
.dv{display:flex;align-items:center;justify-content:center;padding:3rem 2rem}
.dv-l{width:60px;height:1px;background:var(--ink4);opacity:.3}.dv-i{margin:0 1rem;font-size:.9rem;color:var(--ink4);opacity:.4}
.sh{text-align:center;margin-bottom:4rem}
.sh-l{font-family:var(--fc);font-size:.95rem;color:var(--ink4);margin-bottom:.5rem;opacity:0;transform:translateY(20px);transition:all .6s}
.sh-t{font-family:var(--fd);font-size:clamp(2.2rem,4.5vw,3.2rem);font-weight:400;color:var(--ink);opacity:0;transform:translateY(20px);transition:all .6s .1s}
.sh-g{font-family:var(--fh);font-size:1.3rem;color:var(--ink3);margin-top:.5rem;opacity:0;transform:translateY(20px);transition:all .6s .2s}
.sh-l.v,.sh-t.v,.sh-g.v{opacity:1;transform:translateY(0)}

/* ============ MEET FAMILY ============ */
.meet{padding:5rem 2rem 6rem;background:var(--bg2);position:relative}
.fg{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;max-width:950px;margin:0 auto}
.fm{display:flex;flex-direction:column;align-items:center;opacity:0;transform:translateY(30px);transition:all .7s cubic-bezier(.34,1.56,.64,1)}
.fm.v{opacity:1;transform:translateY(0) rotate(var(--t,0deg))}
.fpol{background:var(--pw);padding:7px 7px 32px;box-shadow:var(--s2);transform:rotate(var(--t,0deg));position:relative;width:100%;max-width:200px;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s;cursor:pointer}
.fpol:hover{transform:rotate(0deg) scale(1.05) translateY(-6px);box-shadow:var(--s4);z-index:10}
.tp{position:absolute;z-index:3;opacity:.75;pointer-events:none}
.tp-c{top:-10px;left:50%;transform:translateX(-50%) rotate(var(--tr,0deg));width:55px;height:20px}
.tb{background:var(--wb)}.ts{background:var(--ws)}.tbl{background:var(--wr)}.tbu{background:var(--wy)}
.fph{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.fph span{font-family:var(--fh);font-size:.85rem;color:rgba(255,255,255,.65);text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.15)}
.fpc{position:absolute;bottom:7px;left:8px;right:8px;font-family:var(--fh);font-size:.95rem;color:var(--ink2);text-align:center}
.fnm{font-family:var(--fd);font-size:1.35rem;font-weight:600;margin-top:1rem;text-align:center}
.frl{font-family:var(--fh);font-size:1rem;color:var(--ink3);text-align:center;margin-top:.15rem}

/* ============ TIMELINE ============ */
.tls{padding:5rem 2rem 4rem;background:var(--bg)}
.tl{position:relative;max-width:1050px;margin:0 auto;padding:1rem 0 2rem}
.tl::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:repeating-linear-gradient(180deg,var(--ink4) 0px,var(--ink4) 6px,transparent 6px,transparent 14px);opacity:.25;transform:translateX(-50%)}
.ye{display:flex;align-items:flex-start;position:relative;margin-bottom:1rem;padding:2rem 0;opacity:0;transform:translateY(35px);transition:all .7s}
.ye.v{opacity:1;transform:translateY(0)}
.ye.l{flex-direction:row}.ye.r{flex-direction:row-reverse}
.yd{position:absolute;left:50%;top:2.5rem;transform:translateX(-50%);width:14px;height:14px;background:var(--bg);border:3px solid var(--ink4);border-radius:50%;z-index:3;transition:all .3s}
.ye:hover .yd{border-color:var(--pb);background:#D6E8F0}
.yps{flex:0 0 45%;display:flex;justify-content:center;padding:0 2rem}
.ypw{width:100%;max-width:380px}
.yhi{position:relative;overflow:hidden;width:100%;aspect-ratio:4/3;border-radius:3px;display:flex;align-items:center;justify-content:center;font-family:var(--fh);color:rgba(255,255,255,.55);font-size:.85rem;text-align:center;box-shadow:var(--s3);transition:transform .4s,box-shadow .4s;cursor:pointer}
.yhi:hover{transform:scale(1.02);box-shadow:var(--s4)}
.yhi img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:0;transition:opacity .8s ease}
.yhi img.active{opacity:1}
.pcb{position:absolute;bottom:8px;right:8px;background:rgba(44,37,32,.65);color:var(--bg3);font-family:var(--fc);font-size:.78rem;padding:3px 8px;border-radius:3px;z-index:2}
.ms{display:flex;gap:5px;margin-top:8px}.mt{flex:1;aspect-ratio:1;border-radius:2px;opacity:.6;transition:opacity .3s;background-size:cover;background-position:center top}.mt:hover{opacity:1}
.yis{flex:0 0 45%;display:flex;flex-direction:column;justify-content:center;padding:0 2rem}
.ye.l .yis{padding-left:1rem}.ye.r .yis{padding-right:1rem;text-align:right}
.yn{font-family:var(--fd);font-size:clamp(3rem,5vw,4.5rem);font-weight:700;line-height:1;opacity:.1;margin-bottom:.25rem}
.yhl{font-family:var(--fh);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:600;margin-bottom:.6rem}
.ysm{font-family:var(--fb);font-size:.92rem;color:var(--ink2);line-height:1.7;margin-bottom:1rem;max-width:360px}
.ye.r .ysm{margin-left:auto}
.ynt{font-family:var(--fo);font-size:.78rem;color:var(--ink3);opacity:.65;margin-bottom:1.25rem;line-height:1.8;max-width:300px}
.ye.r .ynt{margin-left:auto}
.eb{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--fc);font-size:1.05rem;color:var(--ink);background:var(--pw);border:2px solid var(--bg4);padding:.55rem 1.4rem;border-radius:4px;cursor:pointer;transition:all .3s;box-shadow:var(--s1);width:fit-content}
.ye.r .eb{margin-left:auto}
.eb:hover{background:var(--ink);color:var(--pw);border-color:var(--ink);transform:translateY(-2px);box-shadow:var(--s2)}
.eb:hover .ar{transform:translateX(4px)}.ar{transition:transform .3s}
.y13{background:linear-gradient(135deg,#c9bfb4,#b8a898)}.y14{background:linear-gradient(135deg,#b8c9b4,#a0b898)}
.y15{background:linear-gradient(135deg,#c4c0b4,#b0aa98)}.y16{background:linear-gradient(135deg,#d4c0a8,#c4aa90)}
.y17{background:linear-gradient(135deg,#b4c0c9,#98aab8)}.y18{background:linear-gradient(135deg,#c9b4b8,#b8989e)}
.y19{background:linear-gradient(135deg,#b8c9b4,#98b890)}.y20{background:linear-gradient(135deg,#bbb8c4,#a8a4b4)}
.y21{background:linear-gradient(135deg,#c9c0a8,#b4aa90)}.y22{background:linear-gradient(135deg,#a8b8c0,#90a4b0)}
.y23{background:linear-gradient(135deg,#c9b8a8,#b4a090)}.y24{background:linear-gradient(135deg,#b0c4b4,#98b0a0)}
.y25{background:linear-gradient(135deg,#b8c0c9,#a0aab4)}

/* ============ CORE VALUES ============ */
.cv{padding:5rem 2rem 6rem;background:var(--bg2)}
.cv-wall{max-width:900px;margin:0 auto;padding:0 1.5rem}
.cv-hero-frame{background:var(--pw);border:1px solid var(--bg4);padding:3px;box-shadow:0 4px 20px rgba(44,37,32,.08);margin-bottom:2.5rem;opacity:0;transform:translateY(25px);transition:all .7s}
.cv-hero-frame.v{opacity:1;transform:translateY(0)}
.cv-hero-inner{background:var(--bg2);padding:2.5rem 3rem;text-align:center}
.cv-hero-label{font-family:var(--fc);font-size:.82rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink4);margin-bottom:.8rem}
.cv-hero-text{font-family:var(--fd);font-size:clamp(2rem,4vw,3rem);font-weight:400;font-style:italic;color:var(--ink);line-height:1.2;margin-bottom:1rem}
.cv-hero-line{width:60px;height:1px;background:var(--ink4);margin:0 auto 1rem;opacity:.4}
.cv-hero-sub{font-family:var(--fh);font-size:1.15rem;color:var(--ink3);max-width:440px;margin:0 auto;line-height:1.6}
.cv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.cv-grid .cv-card:nth-child(4){grid-column:1/2}
.cv-grid .cv-card:nth-child(5){grid-column:2/3}
.cv-card{border-radius:6px;padding:2rem 1.5rem;text-align:center;box-shadow:0 2px 12px rgba(44,37,32,.06);border:1.5px solid transparent;opacity:0;transform:translateY(20px);cursor:default;transition:opacity .6s,transform .6s,box-shadow .4s}
.cv-card.v{opacity:1;transform:rotate(var(--r,0deg))}
.cv-card.v:hover{transform:rotate(0deg) scale(1.03) translateY(-3px);box-shadow:0 8px 25px rgba(44,37,32,.1)}
.cv-icon{font-size:1.8rem;display:block;margin-bottom:.6rem;opacity:.6}
.cv-title{font-family:var(--fh);font-size:1.15rem;font-weight:600;color:var(--ink);margin-bottom:.5rem}
.cv-desc{font-family:var(--fb);font-size:.85rem;color:var(--ink3);line-height:1.65}
.cv-c1{background:#F0E8E4;border-color:#E0D0C8}
.cv-c2{background:#E4EEF0;border-color:#C8DCE0}
.cv-c3{background:#F0F0E4;border-color:#E0E0C8}
.cv-c4{background:#ECE4F0;border-color:#D8C8E0}
.cv-c5{background:#E4F0E8;border-color:#C8E0D0}

/* ============ QUOTE & FOOTER ============ */
.qs{padding:4rem 2rem;text-align:center;background:var(--bg)}
.qt{font-family:var(--fo);font-size:clamp(1rem,2vw,1.3rem);color:var(--ink3);max-width:500px;margin:0 auto;line-height:2;opacity:.6}
.ft{text-align:center;padding:4rem 2rem 3rem;background:var(--bg)}
.ft-h{font-size:2rem;margin-bottom:1rem;opacity:.35}
.ft-t{font-family:var(--fh);font-size:1.5rem;color:var(--ink3);margin-bottom:.5rem}
.ft-s{font-family:var(--fb);font-size:.78rem;color:var(--ink4);letter-spacing:.15em;text-transform:uppercase}

/* ============ SCRAPBOOK YEAR PAGE ============ */
.sb-pg{min-height:100vh;background:var(--bg)}
.sb-hd{padding:3rem 2rem 1.5rem;text-align:center}
.sb-bk{position:fixed;top:1.5rem;left:1.5rem;font-family:var(--fc);font-size:1rem;color:var(--ink);background:var(--pw);border:2px solid var(--bg4);padding:.5rem 1.1rem;border-radius:4px;cursor:pointer;transition:all .3s;box-shadow:var(--s2);z-index:100;display:inline-flex;align-items:center;gap:.4rem}
.sb-bk:hover{background:var(--ink);color:var(--pw)}
.sb-yr{font-family:var(--fd);font-size:clamp(4rem,12vw,8rem);font-weight:900;color:var(--ink);opacity:.08;line-height:1}
.sb-hl{font-family:var(--fh);font-size:clamp(1.5rem,3.5vw,2.4rem);color:var(--ink);margin-top:-.5rem}
.sb-ds{font-family:var(--fb);font-size:.95rem;color:var(--ink2);max-width:520px;margin:.75rem auto 0;line-height:1.7}

.sb-sp{max-width:1200px;margin:0 auto;padding:1.5rem}
.sb-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1.2rem;margin-bottom:.8rem}
.sp{position:relative;display:inline-block;cursor:pointer;transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s}
.sp:hover{transform:rotate(0deg) scale(1.04) translateY(-3px)!important;box-shadow:var(--s4);z-index:20}
.sp-pol{background:var(--pw);box-shadow:var(--s2)}
.sp-img{width:100%;display:flex;align-items:center;justify-content:center;font-family:var(--fh);color:rgba(255,255,255,.45);font-size:.7rem;text-align:center}
.sp-cap{font-family:var(--fh);font-size:.88rem;color:var(--ink2);text-align:center;padding:2px 6px;margin-top:1px}
.sp-tape{box-shadow:var(--s2)}
.wt{position:absolute;height:18px;z-index:3;opacity:.8}
.wt-b{background:var(--wb)}.wt-s{background:var(--ws)}.wt-r{background:var(--wr)}.wt-y{background:var(--wy)}
.sb-dv{text-align:center;padding:2.5rem 1rem;clear:both}
.sb-dv-t{font-family:var(--fo);font-size:1.1rem;color:var(--ink3);opacity:.45;position:relative;display:inline-block}
.sb-dv-t::before,.sb-dv-t::after{content:'';position:absolute;top:50%;width:50px;height:1px;background:var(--ink3);opacity:.25}
.sb-dv-t::before{right:calc(100% + .8rem)}.sb-dv-t::after{left:calc(100% + .8rem)}

.vid-btn{position:absolute;bottom:5px;left:10px;font-family:var(--fc);font-size:.82rem;color:var(--ink3);display:flex;align-items:center;gap:4px;pointer-events:none}

/* ============ PHOTO FLIP MODAL ============ */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(44,37,32,.5);z-index:10000;justify-content:center;align-items:center;backdrop-filter:blur(3px);cursor:pointer}
.modal-overlay.open{display:flex}
.flip-container{perspective:1200px;cursor:default;max-width:90vw;max-height:85vh}
.flip-card{position:relative;transition:transform .7s cubic-bezier(.4,.2,.2,1);transform-style:preserve-3d;max-width:92vw}
.flip-card.fc-landscape{width:min(780px,88vw)}
.flip-card.fc-portrait{width:min(480px,75vw)}
.flip-card.fc-square{width:min(600px,85vw)}
.flip-card.flipped{transform:rotateY(180deg)}
.flip-front,.flip-back{backface-visibility:hidden;border-radius:4px;overflow:hidden}
.flip-front{background:var(--pw);padding:10px 10px 40px;box-shadow:var(--s4);position:relative}
.flip-front-img{width:100%;border-radius:2px;overflow:hidden}
.flip-front-img img{width:100%;display:block;border-radius:2px}
.flip-front-cap{font-family:var(--fh);font-size:1.15rem;color:var(--ink2);text-align:center;margin-top:6px}
.flip-back{position:absolute;inset:0;transform:rotateY(180deg);background:var(--pw);padding:2.5rem;box-shadow:var(--s4);display:flex;flex-direction:column;justify-content:center;overflow-y:auto;border-radius:4px}
.flip-back::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 31px,rgba(184,212,227,.2) 31px,rgba(184,212,227,.2) 32px);pointer-events:none}
.flip-back::after{content:'';position:absolute;top:0;left:50px;bottom:0;width:1px;background:rgba(232,196,196,.3);pointer-events:none}
.flip-back-text{font-family:var(--fh);font-size:1.2rem;color:var(--ink2);line-height:2;position:relative;z-index:1;padding-left:20px}
.flip-back-date{font-family:var(--fc);font-size:.85rem;color:var(--ink4);margin-top:1.5rem;padding-left:20px;position:relative;z-index:1}
.flip-hint{font-family:var(--fc);font-size:.82rem;color:var(--ink4);text-align:center;margin-top:12px;opacity:.6}

/* ============ ANIMATIONS ============ */
@keyframes fu{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fi{from{opacity:0}to{opacity:1}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}

/* ============ RESPONSIVE ============ */
@media(max-width:900px){
  .hero{flex-direction:column;min-height:auto}
  .hero-text{flex:none;padding:3rem 2rem 2rem;text-align:center;align-items:center}
  .hero-sub{max-width:100%;text-align:center}
  .hero-sc{position:relative;bottom:auto;left:auto;justify-content:center;margin-top:1.5rem}
  .hero-cork{flex:none;padding:1.5rem}
  .cork-frame{max-width:520px;margin:0 auto}
  .fg{grid-template-columns:repeat(2,1fr);gap:2rem 1.5rem;max-width:450px}
  .tl::before{left:24px}.yd{left:24px;top:.5rem}
  .ye.l,.ye.r{flex-direction:column}
  .yps{padding:0 0 0 3.5rem;flex:none;width:100%}
  .yis{padding:1rem 0 0 3.5rem!important;flex:none;width:100%;text-align:left!important}
  .ye.r .ysm,.ye.r .ynt{margin-left:0}.ye.r .eb{margin-left:0}
}
@media(max-width:600px){
  .hero-text{padding:2rem 1.5rem 1.5rem}
  .hero-cork{padding:1rem}
  .cork-frame{border-width:7px}
  .meet,.cv{padding:3.5rem 1.25rem 4rem}
  .tls{padding:3rem 1rem}
  .yps{padding-left:2.5rem!important}.yis{padding-left:2.5rem!important}
  .tl::before{left:16px}.yd{left:16px}
  .sb-row{flex-direction:column;align-items:center}
  .sb-row .sp{width:90%!important;max-width:400px}
  .sb-row .sp .sp-img{height:auto!important;aspect-ratio:4/3}
  .flip-card{width:90vw}
  .cv-grid{grid-template-columns:1fr 1fr;gap:1rem}
  .cv-grid .cv-card:nth-child(5){grid-column:1/-1}
  .cv-hero-inner{padding:2rem 1.5rem}
}

/* ============ FIXES ============ */

/* Meet the Family: uniform photo heights */
.fpol img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 1px;
}
.fpol {
  display: flex;
  flex-direction: column;
}
.fg .fm .fpol {
  aspect-ratio: auto;
}
/* Force all family photos to same visible height via container */
.fg .fm .fpol img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: top center;
}

/* Modal: limit very tall portrait photos */
.flip-front-img img {
  max-height: 80vh;
  width: auto;
  max-width: 100%;
}
.flip-card.fc-portrait .flip-front-img img {
  max-height: 78vh;
}

/* Journey Matters frame: stronger visual treatment */
.cv-hero-frame {
  border: 2px solid var(--bg4);
  padding: 4px;
  box-shadow: 
    0 4px 20px rgba(44,37,32,.1),
    0 1px 4px rgba(0,0,0,.05),
    inset 0 0 0 1px rgba(44,37,32,.06);
  position: relative;
}
.cv-hero-frame::before {
  content: '';
  position: absolute;
  inset: -6px;
  border: 1.5px solid var(--bg4);
  pointer-events: none;
}
.cv-hero-inner {
  background: linear-gradient(135deg, var(--bg2) 0%, #F8F5EE 50%, var(--bg2) 100%);
  border: 1px solid rgba(44,37,32,.04);
}

/* Video thumbnails in scrapbook */
.sp[data-type="video"] img {
  width: 100%;
  display: block;
  border-radius: 1px;
}
