@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400&display=swap');
:root{--ivory:#f8f5ee;--ink:#302a24;--muted:#786e63;--gold:#b88d4e;--line:#e7dfd3;--card:#fffdf9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #a77b38;outline-offset:3px}h1,h2,h3,blockquote,.quote{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1{font-size:clamp(2.8rem,5vw,4.5rem);margin:0;line-height:1.2}h2{font-size:clamp(1.8rem,3vw,2.65rem);margin:.2rem 0 1rem;line-height:1.3}h3{font-size:1.25rem;line-height:1.35;margin:.5rem 0}p{margin:.6rem 0 1rem}.eyebrow{font-size:.72rem;letter-spacing:.2em;font-weight:700;color:#9b784c}.topbar{height:80px;padding:0 clamp(20px,5vw,75px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fcfaf6}.brand{display:flex;flex-direction:column;align-items:center;line-height:1.15;white-space:nowrap}.brandmark{font-family:Georgia,serif;font-size:1.7rem;color:#ad8951}.brandmark strong{font-size:2rem;font-weight:500;color:#302a24}.brand small{font-size:.55rem;letter-spacing:.16em}.desktopnav{display:flex;gap:clamp(10px,2vw,28px);font-size:.84rem}.desktopnav a:hover{color:#ad8951}.sharebtn,.textlink{border:0;background:var(--gold);color:white;border-radius:24px;padding:9px 22px;box-shadow:0 3px 12px #8d653b22}.hero{position:relative;text-align:center;padding-bottom:18px}.scenery{position:absolute;inset:0 0 auto;height:310px;background:url('assets/landscape.svg') center 48%/cover no-repeat;mask-image:linear-gradient(#000 0%,#000 64%,transparent 100%)}.hero-content{position:relative;z-index:1;padding:22px 20px 0}.portrait{display:block;margin:0 auto 16px;width:220px;height:220px;object-fit:cover;border:6px solid #fff9f0;border-radius:50%;box-shadow:0 6px 24px #534d3e2e}.dates{margin:6px 0;color:var(--muted)}.goldline{color:var(--gold);margin:2px auto}.quote{font-size:clamp(1.05rem,2vw,1.45rem);font-style:italic;max-width:740px;margin:10px auto 12px}.quicknav{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;padding:20px 20px 30px;max-width:1100px;margin:auto}.quicknav a{min-width:116px;padding:16px 12px;border:1px solid #ede7de;border-radius:13px;text-align:center;background:#fffcf7;box-shadow:0 6px 18px #48382d0d;font-size:.83rem;transition:transform .2s,background .2s}.quicknav a:hover{transform:translateY(-3px);background:#f1e5d1}.quicknav span{display:block;font-size:1.8rem;line-height:1.4;color:#a57d43}.section{max-width:1220px;margin:0 auto;padding:42px 32px;scroll-margin-top:24px}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:20px}.sectionhead>p{color:var(--muted);font-size:.9rem}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 20px}.chip{background:transparent;border:1px solid #dcd2c4;padding:7px 15px;border-radius:25px;color:#6f6457;font-size:.78rem}.chip.active,.chip:hover{background:var(--gold);border-color:var(--gold);color:white}.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.photo-card{padding:0;border:1px solid #ece5d9;background:#fffdf9;text-align:left;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px #4336280c;transition:transform .2s,box-shadow .2s}.photo-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #4336281b}.photo-card img{width:100%;height:170px;object-fit:cover;display:block}.photo-card .card-text{padding:10px 13px 13px}.photo-card strong{display:block;font-size:.88rem;font-weight:600}.photo-card small{color:var(--muted)}.story-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.story-copy p{max-width:560px}.story-visual{position:relative}.story-visual img{width:100%;height:360px;object-fit:cover;border-radius:14px;box-shadow:0 12px 30px #453b2c17}.image-note{position:absolute;bottom:24px;left:20px;color:white;text-shadow:0 2px 12px #000;font:italic 1.8rem Georgia,serif}.textlink{margin-top:8px}.more-story{margin-top:20px!important}.media-placeholder{border-radius:16px;min-height:200px;background:linear-gradient(120deg,#e7dfd1,#f6eee3);display:flex;align-items:center;gap:28px;padding:35px}.playglyph{display:grid;place-items:center;background:#b88d4e;color:white;border-radius:50%;width:72px;height:72px;flex:none;font-size:2.3rem}.media-placeholder p{color:#6f6255}.timeline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;border-top:1px solid #c9ad7e;margin-top:32px}.timeline-grid article{position:relative;padding-top:26px}.timeline-grid article:before{content:'';position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:var(--gold)}.timeline-grid .year{color:#967247;font-weight:700;font-size:.88rem}.timeline-grid p{font-size:.85rem;color:var(--muted)}.bottom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info-card{background:#fffcf7;padding:25px;border:1px solid #eee7de;border-radius:15px;box-shadow:0 8px 22px #40352c0b}.info-card h2{font-size:1.55rem}.info-card p{font-size:.87rem}.info-card small{color:var(--muted)}.info-card blockquote{font-style:italic;margin:12px 0}.voice-line{display:flex;align-items:center;gap:12px;border-radius:8px;background:#f4eee5;padding:13px;font-size:.85rem}.audio-icon{font-size:1.5rem;color:#ad8951}.demo-settings{max-width:1156px;margin:25px auto 45px;padding:18px 24px;background:#eee7dc;border-radius:12px;display:flex;justify-content:space-between;gap:20px;align-items:center}.demo-settings p{font-size:.8rem;margin:3px 0;color:var(--muted)}.switchlabel{white-space:nowrap;font-size:.85rem}.switchlabel input{accent-color:#b88d4e}footer{text-align:center;background:#e9e2d5;padding:42px 20px;color:#564b40}.footerquote{font:italic 1.6rem Georgia,serif;margin-bottom:24px}.footerbrand{font-family:Georgia,serif;font-size:1.5rem}.footerbrand span{font: .8rem 'DM Sans',sans-serif}footer small{display:block;margin-top:14px;color:#766d62}.modal[hidden],[hidden]{display:none!important}.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal-shade{position:absolute;inset:0;background:#221d19bb;backdrop-filter:blur(4px)}.modal-panel{position:relative;background:#fffaf3;border-radius:20px;overflow:hidden;width:min(980px,100%);max-height:94vh;overflow-y:auto;box-shadow:0 20px 80px #0005}.closebtn{position:absolute;right:15px;top:15px;z-index:2;width:43px;height:43px;border:0;border-radius:50%;background:#fffef5;color:#29231e;font-size:2rem}.modal-media{height:min(47vh,460px);position:relative;background:#e6ded1}.modal-media img{height:100%;width:100%;object-fit:contain}.modal-arrow{position:absolute;top:45%;z-index:1;border:0;border-radius:50%;width:42px;height:42px;font-size:2rem;background:#fff9f0e9}.modal-arrow.prev{left:15px}.modal-arrow.next{right:15px}.modal-body{padding:26px 34px 30px}.modal-body h2{margin:5px 0 12px}.modal-body p{max-width:790px}.audio-note{background:#f2eade;border-radius:12px;padding:15px;display:flex;gap:15px;align-items:center;color:#80633d}.audio-note strong{display:block;font-size:.85rem}.audio-note small{display:block;color:#776c61}.modal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px;color:var(--muted);font-size:.85rem}.modal-actions button{border:0;background:none;color:#926c37;text-decoration:underline}@media(max-width:900px){.desktopnav{display:none}.photo-grid{grid-template-columns:repeat(2,1fr)}.story-section{grid-template-columns:1fr;gap:22px}.timeline-grid{grid-template-columns:repeat(2,1fr)}.bottom-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.topbar{height:70px;padding:0 18px}.brandmark{font-size:1.2rem}.brandmark strong{font-size:1.5rem}.brand small{font-size:.42rem}.sharebtn{padding:7px 14px}.scenery{height:250px}.portrait{width:175px;height:175px}.hero-content{padding-top:28px}.quicknav{gap:8px;padding:16px 12px}.quicknav a{min-width:95px;flex:1;padding:12px 7px;font-size:.74rem}.quicknav span{font-size:1.4rem}.section{padding:30px 18px}.sectionhead{display:block}.photo-grid{gap:10px}.photo-card img{height:125px}.photo-card .card-text{padding:9px}.photo-card strong{font-size:.78rem}.timeline-grid,.bottom-grid{grid-template-columns:1fr}.story-visual img{height:250px}.media-placeholder{padding:20px;gap:15px}.demo-settings{margin:12px 18px 35px;display:block}.switchlabel{display:block;margin-top:12px}.modal{padding:8px}.modal-media{height:35vh}.modal-body{padding:18px}.modal-body h2{font-size:1.6rem}.footerquote{font-size:1.25rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* LLMA premium motion system · v2 · CSS progressive enhancement */
:root{--ease-premium:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.25,.8,.25,1)}
.scroll-progress{position:fixed;z-index:120;top:0;left:0;height:3px;width:100%;background:linear-gradient(90deg,#c6a15b,#9e7644);transform:scaleX(0);transform-origin:left;pointer-events:none}
.topbar{position:relative;z-index:5;animation:llmaHeader .75s var(--ease-premium) both}
.hero .scenery{animation:llmaLandscape 1.7s var(--ease-premium) both;will-change:transform}
.hero .portrait{animation:llmaPortrait 1.15s .12s var(--ease-premium) both;transition:transform .65s var(--ease-premium),box-shadow .65s ease}
.hero .portrait:hover{transform:scale(1.035);box-shadow:0 18px 40px #534d3e35}
.hero .eyebrow{animation:llmaRise .9s .24s var(--ease-premium) both}
.hero h1{animation:llmaRise 1s .34s var(--ease-premium) both}
.hero .dates,.hero .goldline{animation:llmaRise 1s .46s var(--ease-premium) both}
.hero .quote{animation:llmaRise 1s .58s var(--ease-premium) both}
.quicknav a{animation:llmaRise .8s var(--ease-premium) both;transition:transform .4s var(--ease-premium),background .35s ease,box-shadow .35s ease,border-color .35s ease}
.quicknav a:nth-child(1){animation-delay:.55s}.quicknav a:nth-child(2){animation-delay:.62s}.quicknav a:nth-child(3){animation-delay:.69s}.quicknav a:nth-child(4){animation-delay:.76s}.quicknav a:nth-child(5){animation-delay:.83s}.quicknav a:nth-child(6){animation-delay:.9s}
.quicknav a:hover{transform:translateY(-6px);box-shadow:0 14px 30px #624c321e;border-color:#d7c09c}
.quicknav a span{transition:transform .45s var(--ease-premium)}.quicknav a:hover span{transform:translateY(-3px) scale(1.12)}
.desktopnav a{position:relative;transition:color .25s ease}.desktopnav a::after{content:'';position:absolute;bottom:-6px;left:0;right:0;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:transform .4s var(--ease-premium)}.desktopnav a:hover::after,.desktopnav a.is-active::after{transform:scaleX(1)}
.sharebtn,.textlink,.chip{transition:transform .35s var(--ease-premium),box-shadow .35s ease,background .3s ease,color .3s ease}.sharebtn:hover,.textlink:hover{transform:translateY(-2px);box-shadow:0 9px 23px #8d653b33}.sharebtn:active,.textlink:active,.chip:active{transform:scale(.97)}
.photo-card{transition:transform .55s var(--ease-premium),box-shadow .55s ease,border-color .35s ease}.photo-card img{transition:transform .85s var(--ease-premium),filter .6s ease}.photo-card:hover{transform:translateY(-7px);box-shadow:0 19px 40px #43362822;border-color:#d5bb93}.photo-card:hover img{transform:scale(1.075);filter:saturate(1.08)}.photo-card{isolation:isolate}.photo-card img{transform-origin:center}
.chip:hover{transform:translateY(-2px)}.chip.active{box-shadow:0 4px 12px #8d653b22}
.story-visual{overflow:hidden;border-radius:14px}.story-visual img{transition:transform 1.1s var(--ease-premium)}.story-visual:hover img{transform:scale(1.045)}
.timeline-grid article{transition:transform .4s var(--ease-premium)}.timeline-grid article:hover{transform:translateY(-4px)}.timeline-grid article::before{transition:transform .35s ease,box-shadow .35s ease}.timeline-grid article:hover::before{transform:scale(1.6);box-shadow:0 0 0 5px #c6a15b20}
.info-card{transition:transform .45s var(--ease-premium),box-shadow .45s ease}.info-card:hover{transform:translateY(-4px);box-shadow:0 15px 32px #40352c18}
.modal:not([hidden]) .modal-shade{animation:llmaShade .35s ease both}.modal:not([hidden]) .modal-panel{animation:llmaModal .48s var(--ease-premium) both}.modal-media img{transition:opacity .18s ease,transform .5s var(--ease-premium)}.modal-panel.is-changing .modal-media img{opacity:.45;transform:scale(.985)}.modal-arrow,.closebtn{transition:transform .3s var(--ease-premium),background .3s ease}.modal-arrow:hover,.closebtn:hover{transform:scale(1.1);background:white}
/* Elements only become scroll-reveal candidates when JS is active. */
.js-motion .reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .85s var(--ease-premium),transform .85s var(--ease-premium)}
.js-motion .reveal-ready.is-visible{opacity:1;transform:translateY(0)}
.js-motion .photo-card.reveal-ready{transition:opacity .75s var(--ease-premium),transform .75s var(--ease-premium),box-shadow .45s ease}
.js-motion .photo-card.reveal-ready.is-visible:hover{transform:translateY(-7px)}
@keyframes llmaHeader{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@keyframes llmaRise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes llmaPortrait{from{opacity:0;transform:translateY(20px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes llmaLandscape{from{opacity:.65;transform:scale(1.055)}to{opacity:1;transform:scale(1)}}
@keyframes llmaShade{from{opacity:0}to{opacity:1}}
@keyframes llmaModal{from{opacity:0;transform:translateY(28px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){.js-motion .reveal-ready{transform:translateY(14px)}.quicknav a:hover{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.scroll-progress{display:none}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js-motion .reveal-ready{opacity:1!important;transform:none!important}.hero .scenery{transform:none!important}}
