:root{--bg-primary: #F7F4EE;--bg-secondary: #EFECE5;--bg-card: #FAF8F3;--bg-dark: #1A1C1B;--text-primary: #1C1E1D;--text-secondary: #545855;--text-muted: #838984;--text-light: #F8F6F0;--accent-sage: #5C6B5E;--accent-sage-light: #E7ECE7;--accent-sage-dark: #3F4B41;--accent-terracotta: #A8684A;--accent-terracotta-light: #F5EDE8;--border-light: #E5E0D6;--border-medium: #D5CFC3;--font-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-sans: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--container-max: 1280px;--container-narrow: 920px;--header-height-desktop: 76px;--header-height-mobile: 64px;--ease-out-architectural: cubic-bezier(.16, 1, .3, 1);--transition-fast: .25s var(--ease-out-architectural);--transition-normal: .4s var(--ease-out-architectural);--transition-slow: .85s var(--ease-out-architectural)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}section[id]{scroll-margin-top:76px!important}@media (max-width: 768px){section[id]{scroll-margin-top:64px!important}}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-weight:400;line-height:1.6;letter-spacing:-.011em;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,.font-serif{font-family:var(--font-serif);font-weight:500;line-height:1.12;letter-spacing:-.018em;color:var(--text-primary)}h1{font-size:clamp(2.5rem,5vw,4.25rem)}h2{font-size:clamp(2rem,3.6vw,3.1rem)}h3{font-size:clamp(1.3rem,2vw,1.75rem)}p{color:var(--text-secondary);font-size:1.05rem}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}img{max-width:100%;height:auto;display:block}button{font-family:var(--font-sans);cursor:pointer;border:none;background:none}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 1.75rem}.section-padding{padding-top:clamp(2.25rem,3.6vw,3.25rem);padding-bottom:clamp(2.25rem,3.6vw,3.25rem)}.cta-text-link{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--font-sans);font-size:.925rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);border-bottom:2px solid var(--accent-terracotta);padding-bottom:.3rem;transition:all var(--transition-fast)}.cta-text-link:hover{color:var(--accent-terracotta);border-color:var(--text-primary);transform:translate(4px)}.cta-text-link-subtle{display:inline-flex;align-items:center;gap:.45rem;font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:color var(--transition-fast)}.cta-text-link-subtle:hover{color:var(--text-primary)}.section-num-label{display:flex;align-items:center;gap:.75rem;font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-sage-dark);margin-bottom:.85rem}.section-num-label:after{content:"";display:block;width:30px;height:1.5px;background-color:var(--accent-sage)}.photo-frame{position:relative;background-color:#faf8f3;border:1px solid var(--border-light);border-radius:2px;overflow:hidden;cursor:pointer;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.photo-frame img,.clickable-photo{cursor:pointer}.photo-frame:hover{box-shadow:0 8px 24px #0000000a}@keyframes clipRevealRightToLeft{0%{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);opacity:.2}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1}}.animate-clip-reveal{animation:clipRevealRightToLeft 1.2s cubic-bezier(.16,1,.3,1) forwards}@keyframes softFadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{opacity:0;animation:softFadeIn .9s cubic-bezier(.16,1,.3,1) .2s forwards}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease-out-architectural),transform .8s var(--ease-out-architectural);will-change:opacity,transform}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}
