@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@300;400;500&display=swap");:root{--bg-primary:#fdfaf7;--bg-secondary:#f8f3ed;--bg-soft:#fdf6f9;--bg-accent:#f0e9e1;--bg-dark:#2a2320;--text-primary:#2a2320;--text-secondary:#7c6b63;--text-muted:#a89285;--text-on-dark:#fdfaf7;--accent:#c5a882;--accent-rgb:197,168,130;--accent-rose:#d4a5a0;--accent-rose-rgb:212,165,160;--accent-sage:#9aab98;--border:#e8ddd4;--border-soft:#f0e9e2;--font-display:"Cormorant Garamond",Georgia,serif;--font-body:"DM Sans",system-ui,sans-serif;--container-max:1200px;--container-pad:clamp(20px,4vw,48px);--section-py:clamp(80px,10vw,120px);--section-py-sm:clamp(60px,7vw,88px);--section-py-airy:clamp(96px,12vw,144px);--header-h:72px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--ease-out-expo:cubic-bezier(0.22,1,0.36,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-out:cubic-bezier(0.0,0.0,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}ol,ul{list-style:none}.font-display{font-family:var(--font-display)}.font-body,.overline{font-family:var(--font-body)}.overline{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;background:var(--text-primary);color:var(--text-on-dark);font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-sm);transition:background-color .18s ease-out,transform .14s ease-out,box-shadow .18s ease-out}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(42,35,32,.18)}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-accent{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;background:var(--accent);color:var(--text-primary);font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-sm);transition:background-color .18s ease-out,transform .14s ease-out,box-shadow .18s ease-out}.btn-accent:hover{background:#b8966e;transform:translateY(-2px);box-shadow:0 8px 28px hsla(34,37%,64%,.35)}.btn-accent:active{transform:translateY(0) scale(.98)}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 30px;border:1.5px solid var(--border);color:var(--text-primary);font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-sm);transition:border-color .18s ease-out,transform .14s ease-out}.btn-outline:hover{border-color:var(--text-primary);transform:translateY(-2px)}.glow-accent{box-shadow:0 0 0 0 rgba(var(--accent-rgb),0);animation:glowPulse 4s ease-in-out infinite}@keyframes glowPulse{0%,to{box-shadow:0 0 24px 4px rgba(var(--accent-rgb),.14)}50%{box-shadow:0 0 48px 12px rgba(var(--accent-rgb),.32)}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .52s var(--ease-in-out),transform .52s var(--ease-in-out)}.reveal.revealed{opacity:1;transform:none}.reveal-from-left{opacity:0;transform:translateX(-36px);transition:opacity .56s var(--ease-in-out),transform .56s var(--ease-in-out)}.reveal-from-left.revealed{opacity:1;transform:none}.reveal-from-right{opacity:0;transform:translateX(36px);transition:opacity .56s var(--ease-in-out),transform .56s var(--ease-in-out)}.reveal-from-right.revealed{opacity:1;transform:none}.reveal-scale{opacity:0;transform:scale(.96);transition:opacity .52s var(--ease-in-out),transform .52s var(--ease-out-expo)}.reveal-scale.revealed{opacity:1;transform:scale(1)}.reveal-delay-1{transition-delay:80ms}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}.reveal-delay-5{transition-delay:.4s}.masked-wrap{overflow:hidden}.masked-reveal{transform:translateY(110%);transition:transform .9s var(--ease-out-expo)}.masked-reveal.revealed{transform:translateY(0)}.clip-reveal{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0);transition:-webkit-clip-path 1s var(--ease-out-expo);transition:clip-path 1s var(--ease-out-expo);transition:clip-path 1s var(--ease-out-expo),-webkit-clip-path 1s var(--ease-out-expo)}.clip-reveal.revealed{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}.gallery-item{overflow:hidden;transition:transform .24s ease-out,box-shadow .24s ease-out}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(42,35,32,.12)}.gallery-item img{transition:transform .4s var(--ease-out-expo)}.gallery-item:hover img{transform:scale(1.04)}.card{transition:transform .24s ease-out,box-shadow .24s ease-out}.card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(42,35,32,.1)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal,.reveal-from-left,.reveal-from-right,.reveal-scale{opacity:1;transform:none;transition:none}.masked-reveal{transform:none;transition:none}.clip-reveal{-webkit-clip-path:none;clip-path:none;transition:none}.glow-accent{animation:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}