*{box-sizing:border-box}:root{--bg:#f7f3ee;--surface:#fffdf9;--text:#27231f;--muted:#766f68;--accent:#a98763;--line:rgba(39,35,31,.12)}html{scroll-behavior:smooth}body{margin:0;font-family:"Inter",sans-serif;color:var(--text);background:var(--bg)}img{width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}.container{width:min(1180px,calc(100% - 40px));margin:0 auto}.hero{min-height:92vh;position:relative;color:#fff;background:linear-gradient(rgba(19,15,12,.18),rgba(19,15,12,.52)),url("images/hero.jpg") center/cover no-repeat;display:flex;align-items:center}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 50% 25%,rgba(255,255,255,.12),transparent 35%),linear-gradient(to top,rgba(21,17,14,.42),transparent 45%)}.nav{position:absolute;top:0;left:50%;transform:translateX(-50%);height:92px;z-index:5;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:10px;align-items:center;color:#fff;text-decoration:none;font-weight:600}.brand-mark{font-size:18px}.nav-links{display:flex;gap:28px}.nav-links a{color:#fff;text-decoration:none;font-size:14px;font-weight:500}.menu-toggle{display:none;width:42px;height:42px;border:0;background:transparent}.menu-toggle span{display:block;width:24px;height:1px;background:#fff;margin:7px auto}.hero-content{position:relative;z-index:2;text-align:center;padding-top:60px}.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:600}.eyebrow.dark{color:var(--accent)}h1,h2{font-family:"Cormorant Garamond",serif;font-weight:600}h1{margin:0;font-size:clamp(64px,11vw,140px);line-height:.9;letter-spacing:-.04em}h1 span{font-style:italic;font-weight:500}.hero-date{margin:24px 0 34px;font-size:15px;letter-spacing:.12em;text-transform:uppercase}.btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;text-decoration:none;font-size:14px;font-weight:600;transition:transform .2s ease,background .2s ease}.btn{padding:14px 22px;color:var(--text);background:rgba(255,255,255,.94)}.btn:hover{transform:translateY(-2px);background:#fff}.scroll-hint{position:absolute;bottom:22px;left:50%;z-index:2;transform:translateX(-50%);font-size:24px;opacity:.8;animation:bounce 1.8s infinite}@keyframes bounce{50%{transform:translate(-50%,7px)}}.intro{padding:110px 0 70px;text-align:center}.intro h2,.moments h2,.info h2{margin:0;font-size:clamp(44px,7vw,76px);line-height:.95;letter-spacing:-.025em}.intro>p:last-child{max-width:690px;margin:26px auto 0;color:var(--muted);line-height:1.8}.gallery-section{padding:20px 0 110px}.gallery-toolbar{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.gallery-eyebrow{margin-bottom:8px}.photo-count{margin:0;color:var(--muted)}.photo-count strong{color:var(--text)}.secondary-btn{padding:12px 18px;border:1px solid var(--line);background:rgba(255,255,255,.48);color:var(--text);cursor:pointer}.secondary-btn:hover:not(:disabled){transform:translateY(-2px);background:#fff}.secondary-btn:disabled{opacity:.45;cursor:not-allowed}.gallery-grid{columns:4 240px;column-gap:16px}.gallery-item{position:relative;display:block;width:100%;margin:0 0 16px;break-inside:avoid;overflow:hidden;border:0;padding:0;background:#e6ded6;cursor:pointer;border-radius:18px}.gallery-item img{height:auto;min-height:190px;object-fit:cover;transition:transform .45s ease,filter .45s ease}.gallery-item::after{content:attr(data-number);position:absolute;right:14px;bottom:14px;color:#fff;background:rgba(25,21,18,.44);backdrop-filter:blur(12px);padding:7px 10px;border-radius:999px;font-size:11px;opacity:0;transform:translateY(6px);transition:.25s ease}.gallery-item:hover img{transform:scale(1.03);filter:brightness(.86)}.gallery-item:hover::after{opacity:1;transform:translateY(0)}.gallery-empty{text-align:center;padding:80px 20px;border:1px dashed var(--line);border-radius:24px;background:rgba(255,255,255,.35)}.gallery-empty span{font-size:40px;color:var(--accent)}.gallery-empty h3{margin:15px 0 8px;font-family:"Cormorant Garamond",serif;font-size:34px}.gallery-empty p{margin:0;color:var(--muted);line-height:1.7}.gallery-empty code{background:#eee7df;padding:2px 5px;border-radius:5px}.moments{background:#eee7df;padding:110px 0}.moments-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}blockquote{margin:0;font-family:"Cormorant Garamond",serif;font-size:clamp(28px,4vw,46px);line-height:1.15;color:#5c534b}.info{padding:110px 0}.info-card{padding:clamp(36px,7vw,82px);border:1px solid var(--line);border-radius:28px;text-align:center;background:rgba(255,255,255,.45)}.info-card p:last-child{max-width:660px;margin:26px auto 0;color:var(--muted);line-height:1.8}footer{border-top:1px solid var(--line)}.footer-inner{min-height:88px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px}.lightbox{position:fixed;inset:0;z-index:50;display:none;place-items:center;background:rgba(12,10,9,.94);padding:60px}.lightbox.open{display:grid}.lightbox figure{margin:0;text-align:center}.lightbox img{max-width:min(1200px,88vw);max-height:82vh;object-fit:contain;border-radius:12px}.lightbox figcaption{color:rgba(255,255,255,.75);padding-top:12px;font-size:13px}.lightbox-close,.lightbox-prev,.lightbox-next{position:fixed;border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;width:48px;height:48px;border-radius:50%;font-size:30px;backdrop-filter:blur(12px)}.lightbox-close{top:24px;right:24px}.lightbox-prev{left:24px;top:50%}.lightbox-next{right:24px;top:50%}@media(max-width:800px){.hero{min-height:82vh}.menu-toggle{display:block;position:relative;z-index:7}.nav-links{position:absolute;top:78px;left:0;right:0;display:none;flex-direction:column;padding:20px;border-radius:18px;background:rgba(24,20,17,.92);backdrop-filter:blur(20px)}.nav-links.open{display:flex}.moments-grid{grid-template-columns:1fr;gap:36px}.gallery-grid{columns:2 220px}}@media(max-width:540px){.container{width:min(100% - 26px,1180px)}.hero-date{font-size:12px}.gallery-toolbar{align-items:flex-start;flex-direction:column}.gallery-grid{columns:1}.gallery-item::after{opacity:1;transform:none}.lightbox{padding:20px}.lightbox-prev,.lightbox-next{top:auto;bottom:22px}}
