/* generated by scripts/build-css.mjs - do not edit */
@layer reset, tokens, base, layout, components, sections, placeholders, reveal, motion, hero-arrival;
@layer tokens{
:root {
--ease: cubic-bezier(0.16, 1, 0.3, 1);
--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
--ease-spring: cubic-bezier(0.34, 1.15, 0.64, 1);
--dur-fast: 0.18s;
--dur: 0.32s;
--dur-slow: 0.6s;
}
#hero     { --bg: #FAF6F0; --bg-next: #F0E8DC; --text: #191613; --accent: #C84B31; --sand: #8A7E70; --marigold: #D4930D; }
#weddings { --bg: #F0E8DC; --bg-next: #D5D4C5; --text: #191613; --accent: #C84B31; --sand: #9A8E7E; --sindoor: #6B1D2A; }
#events   { --bg: #D5D4C5; --bg-next: #C8BCAC; --text: #191613; --accent: #6B7A4A; --sand: #9A8E7E; }
#stays    { --bg: #C8BCAC; --bg-next: #E8E0D0; --text: #1F1810; --accent: #8A6E4E; --sand: #7A6E5E; }
#yourevent{ --bg: #E8E4D9; --bg-next: #E8E4D9; --text: #2A2A2A; --accent: #A68A61; --gold: #C84B31; --sand: #8A7E6E; }
#why-us   { --bg: #E8E4D9; --bg-next: #E8E0D0; --text: #191613; --accent: #C84B31; --sand: #8A7E70; }
#reviews  { --bg: #E8E0D0; --bg-next: #5A6348; --text: #2A261E; --accent: #A08050; --sand: #8A7E68; }
#cta      { --bg: #5A6348; --text: #FAF6F0; --accent: #D4A030; --sand: #B8B0A0; }
}
@layer base{
@font-face {
font-family: 'Bricolage Grotesque';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url(fonts/bricolage-grotesque-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Bricolage Grotesque';
font-style: normal;
font-weight: 200;
font-display: swap;
src: url(fonts/bricolage-grotesque-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Bricolage Grotesque';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(fonts/bricolage-grotesque-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Bricolage Grotesque';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(fonts/bricolage-grotesque-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Bricolage Grotesque';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(fonts/bricolage-grotesque-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Bricolage Grotesque';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(fonts/bricolage-grotesque-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Bricolage Grotesque';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(fonts/bricolage-grotesque-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Bricolage Grotesque';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(fonts/bricolage-grotesque-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Cormorant Garamond';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(fonts/cormorant-garamond-italic-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Cormorant Garamond';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(fonts/cormorant-garamond-italic-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Cormorant Garamond';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(fonts/cormorant-garamond-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Cormorant Garamond';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(fonts/cormorant-garamond-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Cormorant Garamond';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(fonts/cormorant-garamond-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Cormorant Garamond';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(fonts/cormorant-garamond-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Cormorant Garamond';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(fonts/cormorant-garamond-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Cormorant Garamond';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(fonts/cormorant-garamond-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Newsreader';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(fonts/newsreader-italic-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Newsreader';
font-style: italic;
font-weight: 300;
font-display: swap;
src: url(fonts/newsreader-italic-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Newsreader';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(fonts/newsreader-italic-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Newsreader';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(fonts/newsreader-italic-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Newsreader';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(fonts/newsreader-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Newsreader';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(fonts/newsreader-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Newsreader';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(fonts/newsreader-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Newsreader';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(fonts/newsreader-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Newsreader';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(fonts/newsreader-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Newsreader';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(fonts/newsreader-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Noto Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(fonts/noto-sans-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Noto Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(fonts/noto-sans-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Noto Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(fonts/noto-sans-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Noto Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(fonts/noto-sans-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Noto Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(fonts/noto-sans-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Noto Sans';
font-style: normal;
font-weight: 500;
font-display: swap;
src: url(fonts/noto-sans-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Noto Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(fonts/noto-sans-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Noto Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(fonts/noto-sans-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Playfair Display';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(fonts/playfair-display-italic-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Playfair Display';
font-style: italic;
font-weight: 400;
font-display: swap;
src: url(fonts/playfair-display-italic-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Playfair Display';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url(fonts/playfair-display-italic-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Playfair Display';
font-style: italic;
font-weight: 500;
font-display: swap;
src: url(fonts/playfair-display-italic-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Playfair Display';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url(fonts/playfair-display-italic-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Playfair Display';
font-style: italic;
font-weight: 700;
font-display: swap;
src: url(fonts/playfair-display-italic-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Playfair Display';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(fonts/playfair-display-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Playfair Display';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(fonts/playfair-display-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Playfair Display';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(fonts/playfair-display-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Playfair Display';
font-style: normal;
font-weight: 700;
font-display: swap;
src: url(fonts/playfair-display-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(fonts/plus-jakarta-sans-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 300;
font-display: swap;
src: url(fonts/plus-jakarta-sans-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(fonts/plus-jakarta-sans-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url(fonts/plus-jakarta-sans-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(fonts/plus-jakarta-sans-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 600;
font-display: swap;
src: url(fonts/plus-jakarta-sans-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(fonts/plus-jakarta-sans-latin-ext.woff2) format('woff2');
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Plus Jakarta Sans';
font-style: normal;
font-weight: 800;
font-display: swap;
src: url(fonts/plus-jakarta-sans-latin.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Bricolage Fallback';
src: local('Arial'), local('Helvetica Neue'), local('Roboto');
size-adjust: 104.5%;
ascent-override: 89%;
descent-override: 25.8%;
line-gap-override: 0%;
}
@font-face {
font-family: 'Playfair Fallback';
font-style: italic;
src: local('Georgia Italic'), local('Georgia-Italic'), local('Times New Roman Italic');
size-adjust: 102%;
ascent-override: 106%;
descent-override: 24.6%;
line-gap-override: 0%;
}
}
@layer base{
@view-transition { navigation: auto; }
@media (prefers-reduced-motion: no-preference) {
::view-transition-old(root),
::view-transition-new(root) { animation-duration: .25s; }
}
}
@layer base{
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
picture { display: contents; }
html {
-webkit-font-smoothing: antialiased;
overflow-x: hidden;
overscroll-behavior: none;
}
body {
font-family: 'Newsreader', Georgia, serif;
color: #191613;
background: #FAF6F0;
-webkit-overflow-scrolling: touch;
}
.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;
}
@keyframes fadeUp {
from { opacity: 0; transform: translateY(14px); }
to   { opacity: 1; transform: translateY(0); }
}
@keyframes marqueeLeft {
from { transform: translateX(0); }
to   { transform: translateX(-50%); }
}
@keyframes marqueeRight {
from { transform: translateX(-50%); }
to   { transform: translateX(0); }
}
@keyframes scaleIn {
from { opacity: 0; transform: scale(0.88); }
to   { opacity: 1; transform: scale(1); }
}
@keyframes imgFade { to { opacity: 1; } }
@keyframes slowZoom {
from { transform: scale(1); }
to   { transform: scale(1.05); }
}
section {
min-height: 100svh;
width: 100%;
max-width: 100vw;
position: relative;
overflow: hidden;
background: linear-gradient(to bottom, var(--bg) 88%, var(--bg-next, var(--bg)) 100%);
color: var(--text);
}
section + section {
--gap: 6svh;
min-height: calc(100svh + var(--gap));
}
@media (min-width: 1024px) {
section + section { --gap: 8svh; }
}
body > section {
content-visibility: auto;
contain-intrinsic-size: auto 100svh;
}
@media (prefers-reduced-motion: reduce) {
.hero-marquee__track,
#weddings .strip,
#weddings .wd-strip,
#reviews .r-marquee--left,
#reviews .r-marquee--right,
#stays .s-overlap__frame.active img,
.s-v2-frame.active img {
animation: none !important;
}
}
}
@layer base{
html.lenis,
html.lenis body {
height: auto;
}
.lenis:not(.lenis-autoToggle).lenis-stopped {
overflow: clip;
}
.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
overscroll-behavior: contain;
}
.lenis.lenis-smooth iframe {
pointer-events: none;
}
.lenis.lenis-autoToggle {
transition-property: overflow;
transition-duration: 1ms;
transition-behavior: allow-discrete;
}
html.lenis {
scroll-behavior: auto !important;
}
}
@layer base{
html.onr-overlay-scroll {
--onr-sb-thumb: #c84b31;
--onr-sb-thumb-hover: #d45538;
--onr-sb-thumb-active: #a83d28;
--onr-sb-sheen: rgba(250, 246, 240, 0.22);
--onr-sb-shade: rgba(25, 22, 19, 0.14);
--onr-sb-glow: rgba(200, 75, 49, 0.28);
--onr-sb-ease: cubic-bezier(0.16, 1, 0.3, 1);
scrollbar-gutter: auto;
scrollbar-width: none;
}
html.onr-overlay-scroll::-webkit-scrollbar {
width: 0 !important;
height: 0 !important;
display: none !important;
background: transparent;
}
.onr-sb {
position: fixed;
inset: 0 0 0 auto;
width: 16px;
z-index: 99980;
pointer-events: none;
opacity: 0;
visibility: hidden;
transition:
opacity 0.5s var(--onr-sb-ease, cubic-bezier(0.16, 1, 0.3, 1)),
visibility 0.5s step-end;
}
.onr-sb.is-visible {
opacity: 1;
visibility: visible;
transition:
opacity 0.01s var(--onr-sb-ease, cubic-bezier(0.16, 1, 0.3, 1)),
visibility 0s linear;
}
.onr-sb__thumb {
position: absolute;
top: 0;
right: 4px;
width: 5px;
min-height: 40px;
border-radius: 99px;
background-color: var(--onr-sb-thumb, #c84b31);
background-image: linear-gradient(
180deg,
var(--onr-sb-sheen, rgba(250, 246, 240, 0.22)) 0%,
transparent 32%,
transparent 68%,
var(--onr-sb-shade, rgba(25, 22, 19, 0.14)) 100%
);
box-shadow:
0 0 0 1px rgba(25, 22, 19, 0.06),
0 4px 14px var(--onr-sb-glow, rgba(200, 75, 49, 0.28));
pointer-events: auto;
cursor: grab;
transform: translate3d(0, 0, 0);
will-change: transform;
transition:
background-color 0.2s ease,
width 0.2s ease,
right 0.2s ease,
box-shadow 0.2s ease;
}
.onr-sb.is-visible .onr-sb__thumb:hover {
width: 7px;
right: 3px;
background-color: var(--onr-sb-thumb-hover, #d45538);
box-shadow:
0 0 0 1px rgba(25, 22, 19, 0.08),
0 6px 18px rgba(200, 75, 49, 0.38);
}
.onr-sb.is-dragging .onr-sb__thumb,
.onr-sb__thumb:active {
cursor: grabbing;
width: 7px;
right: 3px;
background-color: var(--onr-sb-thumb-active, #a83d28);
box-shadow:
0 0 0 1px rgba(25, 22, 19, 0.1),
0 4px 12px rgba(122, 52, 38, 0.35);
}
.onr-sb:not(.is-visible) .onr-sb__thumb {
pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
.onr-sb {
transition: none;
}
.onr-sb.is-visible {
transition: none;
}
.onr-sb__thumb {
transition: none;
}
}
@media (pointer: coarse) {
.onr-sb,
.onr-sb__thumb {
pointer-events: none;
}
.onr-sb__thumb {
cursor: default;
}
}
}
@layer sections{
.w-desktop { display: none !important; }
.w-mobile  { display: block; }
@media (min-width: 1024px) {
.w-desktop { display: block !important; }
.w-mobile  { display: none !important; }
#weddings .w-desktop { display: grid !important; }
#events .w-desktop   { display: grid !important; }
#stays .w-desktop    { display: grid !important; }
#yourevent .w-desktop { display: grid !important; }
}
}
@layer sections{
#hero {
height: 100svh;
min-height: 0;
position: relative;
display: flex;
flex-direction: column;
--hero-mq-min: 120px;
--hero-mq-max: 260px;
--hero-ribbon-pad-y: clamp(0.75rem, 2.8svh, 1.5rem);
--hero-ribbon-pad-x: clamp(1.25rem, 4vw, 2rem);
--hero-badge-size: 0.58rem;
--hero-badge-track: 0.4em;
--hero-badge-gap: clamp(0.35rem, 2svh, 0.8rem);
--hero-title-size: clamp(2.8rem, min(9vw, 14svh), 6.5rem);
--hero-title-track: 0.12em;
--hero-sub-size: clamp(1.6rem, min(4.5vw, 6svh), 3.5rem);
--hero-sub-gap: clamp(0.35rem, 2svh, 0.8rem);
--hero-tagline-size: 0.68rem;
--hero-tagline-track: 0.28em;
--hero-tagline-gap: clamp(0.5rem, 2.4svh, 1rem);
--hero-meta-gap: 1rem;
--hero-loc-size: 0.6rem;
--hero-loc-gap: 0.35rem;
--hero-loc-icon: 12px;
--hero-rating-size: 0.55rem;
--hero-rating-pad-y: 0.28rem;
--hero-rating-pad-x: 0.65rem;
--hero-rating-icon: 10px;
}
#hero > .sr-only {
position: absolute;
}
.hero-marquee {
flex: 999 1 0;
min-height: var(--hero-mq-min);
max-height: var(--hero-mq-max);
overflow: hidden;
position: relative;
}
.hero-marquee__track {
display: flex;
width: max-content;
height: 100%;
padding: 8px 0;
will-change: transform;
}
.hero-marquee__group {
display: flex;
flex-shrink: 0;
height: 100%;
gap: 12px;
padding-inline-end: 12px;
}
.hero-marquee--top .hero-marquee__track { animation: marqueeLeft 150s linear infinite; }
.hero-marquee--bot .hero-marquee__track { animation: marqueeRight 130s linear infinite; }
.hero-marquee__img {
flex-shrink: 0;
height: 100%;
aspect-ratio: 4/3;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 3px 16px rgba(25,22,19,0.07);
background: rgba(25, 22, 19, 0.05);
opacity: 1;
}
.hero-marquee__img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
opacity: 0;
transform: translateZ(0);
backface-visibility: hidden;
transition: opacity 0.45s var(--ease), transform 0.6s var(--ease);
}
.hero-marquee__img img.is-loaded {
opacity: 1;
}
@media (hover: hover) and (pointer: fine) {
.hero-marquee__img:hover img.is-loaded { transform: translateZ(0) scale(1.06); }
}
.hero-marquee::before,
.hero-marquee::after {
content: '';
position: absolute;
top: 0; bottom: 0;
width: 80px;
z-index: 5;
pointer-events: none;
}
.hero-marquee::before { left: 0; background: linear-gradient(to right, var(--bg), transparent); }
.hero-marquee::after  { right: 0; background: linear-gradient(to left, var(--bg), transparent); }
.hero-ribbon {
flex: 1 1 auto;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
padding: var(--hero-ribbon-pad-y) var(--hero-ribbon-pad-x);
position: relative;
z-index: 10;
min-height: 0;
background: var(--bg);
}
.hero-ribbon::before,
.hero-ribbon::after {
content: '';
position: absolute;
left: 10%; right: 10%;
height: 1px;
background: linear-gradient(90deg, transparent, rgba(25,22,19,0.08) 30%, rgba(25,22,19,0.08) 70%, transparent);
}
.hero-ribbon::before { top: 0; }
.hero-ribbon::after  { bottom: 0; }
.hero-ribbon__badge {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: var(--hero-badge-size);
letter-spacing: var(--hero-badge-track);
text-transform: uppercase;
color: var(--sand);
margin-bottom: var(--hero-badge-gap);
}
.hero-ribbon__title {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: var(--hero-title-size);
line-height: 0.88;
letter-spacing: var(--hero-title-track);
color: var(--text);
}
.hero-ribbon__sub {
font-family: 'Playfair Display', Georgia, serif;
font-weight: 400;
font-style: italic;
font-size: var(--hero-sub-size);
color: var(--accent);
margin-bottom: var(--hero-sub-gap);
}
.hero-ribbon__tagline {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 400;
font-size: var(--hero-tagline-size);
letter-spacing: var(--hero-tagline-track);
text-transform: uppercase;
color: var(--sand);
margin-bottom: var(--hero-tagline-gap);
}
.hero-ribbon__meta {
display: flex;
align-items: center;
gap: var(--hero-meta-gap);
}
a.hero-meta__loc,
a.hero-meta__details {
display: flex;
align-items: center;
gap: var(--hero-loc-gap);
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 600;
font-size: var(--hero-loc-size);
letter-spacing: 0.05em;
color: var(--text);
background: transparent;
border: 1px solid rgba(25, 22, 19, 0.12);
padding: 0.4rem 0.9rem;
border-radius: 999px;
text-decoration: none;
text-transform: uppercase;
transition: transform 0.3s var(--ease), border-color 0.3s var(--ease), background 0.3s var(--ease), color 0.3s var(--ease);
}
a.hero-meta__loc svg,
a.hero-meta__details svg {
width: var(--hero-loc-icon);
height: var(--hero-loc-icon);
color: var(--accent);
transition: transform 0.3s var(--ease);
}
@media (hover: hover) and (pointer: fine) {
a.hero-meta__loc:hover,
a.hero-meta__details:hover {
transform: scale(1.03);
border-color: rgba(200, 75, 49, 0.4);
background: rgba(200, 75, 49, 0.04);
color: var(--accent);
}
a.hero-meta__details:hover svg {
transform: translateX(2px);
}
}
a.hero-meta__loc:active,
a.hero-meta__details:active {
transform: scale(0.97);
}
@media (max-width: 768px) {
#hero {
--hero-mq-min: 130px;
--hero-mq-max: 28svh;
--hero-ribbon-pad-y: clamp(0.65rem, 2.2svh, 1.15rem);
--hero-ribbon-pad-x: 1.5rem;
--hero-badge-size: 0.85rem;
--hero-badge-track: 0.35em;
--hero-badge-gap: 0.85rem;
--hero-title-size: clamp(3.2rem, min(11vw, 14svh), 5rem);
--hero-title-track: 0.1em;
--hero-sub-size: clamp(1.8rem, min(5.5vw, 6svh), 2.8rem);
--hero-sub-gap: 0.85rem;
--hero-tagline-size: 0.95rem;
--hero-tagline-track: 0.22em;
--hero-tagline-gap: 1rem;
--hero-loc-size: 0.9rem;
--hero-loc-gap: 0.45rem;
--hero-loc-icon: 16px;
--hero-rating-size: 0.85rem;
--hero-rating-pad-y: 0.4rem;
--hero-rating-pad-x: 0.9rem;
--hero-rating-icon: 14px;
}
.hero-marquee__img { border-radius: 8px; }
.hero-ribbon__meta { flex-wrap: wrap; justify-content: center; gap: 1rem; }
}
@media (max-width: 400px) {
#hero {
--hero-mq-min: 115px;
--hero-mq-max: 26svh;
--hero-title-size: 2.9rem;
}
}
@media (max-width: 768px) and (max-height: 480px) {
#hero {
--hero-mq-min: 72px;
--hero-mq-max: 18svh;
--hero-ribbon-pad-y: 0.35rem;
--hero-title-size: clamp(1.7rem, 6.5svh, 2.4rem);
--hero-sub-size: clamp(1.05rem, 3svh, 1.4rem);
--hero-badge-size: 0.5rem;
--hero-tagline-size: 0.55rem;
--hero-loc-size: 0.55rem;
}
.hero-ribbon__tagline { display: none; }
}
@media (min-width: 1024px) {
#hero {
--hero-mq-min: 130px;
--hero-mq-max: 260px;
--hero-badge-size: 0.65rem;
--hero-badge-track: 0.38em;
--hero-badge-gap: clamp(0.4rem, 2svh, 1rem);
--hero-title-size: clamp(3rem, 14svh, 6.8rem);
--hero-title-track: 0.12em;
--hero-sub-size: clamp(1.7rem, min(2.8vw, 5svh), 3rem);
--hero-sub-gap: clamp(0.4rem, 2svh, 1rem);
--hero-tagline-size: 0.75rem;
--hero-tagline-track: 0.28em;
--hero-tagline-gap: clamp(0.5rem, 2.4svh, 1.2rem);
--hero-meta-gap: 1.4rem;
--hero-loc-size: 0.72rem;
--hero-loc-gap: 0.4rem;
--hero-loc-icon: 13px;
--hero-rating-size: 0.68rem;
--hero-rating-pad-y: 0.32rem;
--hero-rating-pad-x: 0.75rem;
--hero-rating-icon: 11px;
}
}
@media (min-width: 1200px) {
#hero {
--hero-mq-max: 280px;
--hero-title-size: clamp(3rem, 14svh, 7rem);
}
}
@media (max-height: 720px) and (min-width: 769px) {
#hero {
--hero-mq-min: 110px;
--hero-mq-max: 200px;
--hero-ribbon-pad-y: clamp(0.5rem, 1.8svh, 1rem);
}
}
@media (max-height: 600px) and (min-width: 769px) {
#hero {
--hero-mq-min: 100px;
--hero-mq-max: 170px;
--hero-ribbon-pad-y: clamp(0.4rem, 1.4svh, 0.75rem);
--hero-title-size: clamp(2.2rem, min(8vw, 9svh), 4rem);
--hero-sub-size: clamp(1.25rem, min(3.2vw, 3.5svh), 2rem);
--hero-badge-gap: clamp(0.2rem, 1svh, 0.45rem);
--hero-sub-gap: clamp(0.2rem, 1svh, 0.45rem);
--hero-tagline-gap: clamp(0.3rem, 1.2svh, 0.65rem);
}
}
@media (max-height: 480px) and (min-width: 769px) {
#hero {
--hero-mq-min: 88px;
--hero-mq-max: 140px;
--hero-ribbon-pad-y: 0.3rem;
--hero-title-size: clamp(1.7rem, 6.5svh, 2.4rem);
--hero-sub-size: clamp(1.05rem, 3svh, 1.4rem);
--hero-badge-size: 0.5rem;
--hero-tagline-size: 0.55rem;
--hero-loc-size: 0.55rem;
}
.hero-ribbon__tagline { display: none; }
}
@media (max-height: 380px) and (min-width: 769px) {
#hero {
--hero-mq-min: 72px;
--hero-mq-max: 120px;
--hero-title-size: clamp(1.4rem, 5.5svh, 1.85rem);
--hero-sub-size: 1rem;
--hero-ribbon-pad-y: 0.2rem;
}
}
}
@layer sections{
@keyframes imgIn {
from { opacity: 0; transform: scale(0.975); }
to   { opacity: 1; transform: scale(1); }
}
#weddings {
height: calc(100svh + var(--gap, 0px));
min-height: 0;
}
#weddings .rangoli { position: absolute; pointer-events: none; z-index: 1; }
#weddings .rangoli--tr {
top: -10px; right: -10px;
width: 140px; height: 140px;
background: radial-gradient(circle, rgba(200,75,49,0.06) 1.5px, transparent 1.5px) 0 0 / 16px 16px;
border-radius: 50%;
}
#weddings .rangoli--bl {
bottom: 3rem; left: 1rem;
width: 100px; height: 100px;
background: radial-gradient(circle, rgba(212,147,13,0.06) 1.5px, transparent 1.5px) 0 0 / 14px 14px;
border-radius: 50%;
}
#weddings .text-upper {
position: absolute;
top: 0; left: 0;
z-index: 30;
padding: 2.5rem 2rem;
}
#weddings .title {
opacity: 0;
animation: fadeUp 0.8s var(--ease) 0.35s forwards;
}
#weddings .title__hero {
display: block;
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: clamp(3.4rem, 12.5vw, 8.2rem);
line-height: 1;
letter-spacing: -0.045em;
color: var(--text);
margin-bottom: 0.15em;
}
#weddings .title__closing {
display: flex;
align-items: baseline;
justify-content: flex-start;
white-space: nowrap;
gap: 0;
}
#weddings .title__spacer {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: clamp(3.4rem, 12.5vw, 8.2rem);
line-height: 1;
letter-spacing: -0.045em;
color: var(--text);
visibility: hidden;
white-space: nowrap;
}
#weddings .title__hero--accent {
font-family: 'Playfair Display', Georgia, serif;
font-weight: 400; font-style: italic;
font-size: clamp(3.4rem, 12.5vw, 8.2rem);
line-height: 1;
letter-spacing: -0.02em;
color: var(--accent);
}
.venue-stats {
position: absolute;
bottom: 1.5rem;
left: 0;
right: 0;
z-index: 40;
display: flex;
align-items: center;
justify-content: center;
gap: 1.4rem;
padding: 0 2rem;
opacity: 0;
animation: fadeUp 0.7s var(--ease) 0.9s forwards;
}
.venue-stats__item {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.15rem;
}
.venue-stats__num {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: clamp(1.15rem, 3.3vw, 1.5rem);
letter-spacing: -0.02em;
color: var(--text);
line-height: 1.1;
}
.venue-stats__label {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 400;
font-size: 0.6rem;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--sand);
line-height: 1;
}
.venue-stats__line {
width: 1px;
height: 28px;
background: linear-gradient(to bottom, transparent, rgba(25,22,19,0.12), transparent);
flex-shrink: 0;
}
#weddings .strip-anchor {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
z-index: 10;
pointer-events: none;
padding-top: 22svh;
}
#weddings .strip-rotator {
transform: rotate(-5deg);
width: 200%;
margin-left: -50%;
position: relative;
}
#weddings .strip-rotator::before,
#weddings .strip-rotator::after {
content: '';
position: absolute;
top: -20px; bottom: -20px;
width: 100px;
z-index: 5;
pointer-events: none;
}
#weddings .strip-rotator::before { left: 0; background: linear-gradient(to right, var(--bg), transparent); }
#weddings .strip-rotator::after  { right: 0; background: linear-gradient(to left, var(--bg), transparent); }
#weddings .strip {
display: flex;
gap: 14px;
width: 100%;
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
-ms-overflow-style: none;
}
#weddings .strip::-webkit-scrollbar { display: none; }
#weddings .strip__img {
flex-shrink: 0;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 6px 28px rgba(25,22,19,0.12), 0 2px 6px rgba(25,22,19,0.06);
opacity: 0;
background: rgba(25, 22, 19, 0.05);
}
#weddings .strip__img img {
display: block;
width: 100%; height: 100%;
object-fit: cover;
object-position: center 70%;
opacity: 0;
transform: translateZ(0);
backface-visibility: hidden;
transition: opacity 0.45s var(--ease), transform 0.6s var(--ease);
pointer-events: none;
}
#weddings .strip__img img.is-loaded { opacity: 1; }
@media (hover: hover) and (pointer: fine) {
#weddings .strip__img:hover img.is-loaded { transform: translateZ(0) scale(1.05); }
}
#weddings .strip__img--p34 { height: clamp(220px, 46svh, 440px); aspect-ratio: 3/4; }
#weddings .strip__img--p45 { height: clamp(220px, 46svh, 440px); aspect-ratio: 4/5; }
#weddings .strip__img--l43 { height: clamp(220px, 46svh, 440px); aspect-ratio: 4/3; }
#weddings .strip__img:nth-child(1)  { animation: imgIn 1.05s var(--ease) 0.1s forwards; }
#weddings .strip__img:nth-child(2)  { animation: imgIn 1.05s var(--ease) 0.2s forwards; }
#weddings .strip__img:nth-child(3)  { animation: imgIn 1.05s var(--ease) 0.3s forwards; }
#weddings .strip__img:nth-child(4)  { animation: imgIn 1.05s var(--ease) 0.4s forwards; }
#weddings .strip__img:nth-child(5)  { animation: imgIn 1.05s var(--ease) 0.5s forwards; }
#weddings .strip__img:nth-child(n+6){ animation: imgIn 1.05s var(--ease) 0.5s forwards; }
@media (max-width: 768px) {
#weddings .text-upper { padding: 2rem 1.5rem; }
#weddings .strip-anchor { padding-top: 18svh; padding-bottom: 13svh; }
#weddings .strip { gap: 10px; }
#weddings .strip__img { border-radius: 8px; }
#weddings .strip-rotator::before,
#weddings .strip-rotator::after { width: 50px; }
.venue-stats { bottom: 2.5rem; gap: 1.4rem; }
.venue-stats__num { font-size: 1.52rem; }
.venue-stats__label { font-size: 0.8rem; }
.venue-stats__line { height: 26px; }
}
@media (max-width: 420px) {
#weddings .title__hero { font-size: 2.9rem; }
#weddings .title__spacer { font-size: 2.9rem; }
#weddings .strip-anchor { padding-top: 18svh; padding-bottom: 12svh; }
}
@media (min-width: 1200px) {
#weddings .text-upper { padding: 3.5rem 3rem; }
#weddings .strip { gap: 18px; }
#weddings .strip-rotator::before,
#weddings .strip-rotator::after { width: 160px; }
}
#weddings .w-mobile {
position: absolute;
top: var(--gap, 0px); left: 0; right: 0; bottom: 0;
}
#weddings .w-desktop {
grid-template-columns: 34% 1fr;
height: auto;
position: absolute;
top: var(--gap, 0px); left: 0; right: 0; bottom: 0;
}
#weddings .wd-text-col {
display: flex;
flex-direction: column;
justify-content: center;
padding: 3rem 2.5rem;
padding-right: clamp(2rem, 3vw, 3.25rem);
z-index: 30;
position: relative;
isolation: isolate;
min-width: 0;
overflow: visible;
}
#weddings .wd-title-block {
opacity: 0;
animation: fadeUp 0.8s var(--ease) 0.2s forwards;
overflow: visible;
}
#weddings .w-desktop .title__hero {
font-size: clamp(3.6rem, 5.6vw, 6.4rem);
line-height: 0.95;
margin-bottom: 0.15em;
overflow: visible;
}
#weddings .w-desktop .title__closing {
margin-bottom: 1.8rem;
}
#weddings .w-desktop .title__hero--accent {
font-size: clamp(3.6rem, 5.6vw, 6.4rem);
}
#weddings .w-desktop .title__spacer {
font-size: clamp(3.6rem, 5.6vw, 6.4rem);
}
#weddings .title__hero .mx-mask {
padding: 0.1em 0.06em 0.2em;
margin: -0.1em -0.06em -0.2em;
}
#weddings .title__hero--accent .mx-mask {
padding: 0.12em 0.08em 0.28em;
margin: -0.12em -0.08em -0.28em;
}
.wd-venue-stats {
margin-top: 1.5rem;
display: flex;
flex-direction: column;
align-items: center;
opacity: 0;
animation: fadeUp 0.7s var(--ease) 0.6s forwards;
}
.wd-venue-stats__rule {
width: 60px;
height: 1px;
background: linear-gradient(to right, rgba(25,22,19,0.12), transparent);
margin-bottom: 1.2rem;
}
.wd-venue-stats__row {
display: flex;
align-items: center;
gap: 1.4rem;
}
@media (min-width: 1024px) {
.venue-stats { display: none; }
}
#weddings .wd-strip-col {
position: relative;
overflow: hidden;
z-index: 1;
}
#weddings .wd-strip-rotator {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) rotate(-8deg);
width: 250%;
}
#weddings .wd-strip-rotator::before,
#weddings .wd-strip-rotator::after {
content: '';
position: absolute;
top: -40px; bottom: -40px;
width: 180px;
z-index: 5;
pointer-events: none;
}
#weddings .wd-strip-rotator::before { left: 0; background: linear-gradient(to right, var(--bg), transparent); }
#weddings .wd-strip-rotator::after  { right: 0; background: linear-gradient(to left, var(--bg), transparent); }
#weddings .wd-strip {
display: flex;
gap: 20px;
width: max-content;
animation: marqueeLeft 65s linear infinite;
will-change: transform;
}
#weddings .wd-strip__img {
flex-shrink: 0;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 12px 48px rgba(25,22,19,0.15), 0 4px 12px rgba(25,22,19,0.06);
opacity: 0;
background: rgba(25, 22, 19, 0.05);
}
#weddings .wd-strip__img img {
display: block;
width: 100%; height: 100%;
object-fit: cover;
object-position: center 60%;
opacity: 0;
transform: translateZ(0);
backface-visibility: hidden;
transition: opacity 0.45s var(--ease);
pointer-events: none;
}
#weddings .wd-strip__img img.is-loaded { opacity: 1; }
#weddings .wd-strip__img--p34 { height: 80vh; aspect-ratio: 3/4; }
#weddings .wd-strip__img--p45 { height: 80vh; aspect-ratio: 4/5; }
#weddings .wd-strip__img--l43 { height: 80vh; aspect-ratio: 4/3; }
#weddings .wd-strip__img:nth-child(1)  { animation: imgIn 1.15s var(--ease) 0.1s forwards; }
#weddings .wd-strip__img:nth-child(2)  { animation: imgIn 1.15s var(--ease) 0.2s forwards; }
#weddings .wd-strip__img:nth-child(3)  { animation: imgIn 1.15s var(--ease) 0.3s forwards; }
#weddings .wd-strip__img:nth-child(4)  { animation: imgIn 1.15s var(--ease) 0.4s forwards; }
#weddings .wd-strip__img:nth-child(5)  { animation: imgIn 1.15s var(--ease) 0.5s forwards; }
#weddings .wd-strip__img:nth-child(n+6){ animation: imgIn 1.15s var(--ease) 0.5s forwards; }
@media (max-width: 1023px) {
#weddings .title__hero, #weddings .title__spacer, #weddings .title__hero--accent { font-size: clamp(3rem, 14.5vw, 4.4rem); }
#weddings .strip-anchor { padding: clamp(190px, 27svh, 250px) 0 clamp(150px, 20svh, 190px); }
#weddings .strip-rotator { transform: none; width: 100%; margin-left: 0; }
#weddings .strip-rotator::before, #weddings .strip-rotator::after { display: none; }
#weddings .strip { gap: 12px; padding-left: 12px; pointer-events: auto; }
#weddings .strip__img { border-radius: 14px; box-shadow: 0 14px 30px -14px rgba(25,22,19,0.35); }
#weddings .strip__img--p34,
#weddings .strip__img--p45,
#weddings .strip__img--l43 { height: min(40svh, 380px); }
#weddings .venue-stats { bottom: max(1.75rem, 4svh); gap: 0; padding: 1.25rem 1.25rem 0; justify-content: space-between; }
#weddings .venue-stats::before { content: ""; position: absolute; left: 1.75rem; right: 1.75rem; top: 0; height: 1px; background: rgba(25,22,19,0.16); }
#weddings .venue-stats__item { flex: 1; gap: 0.6rem; }
#weddings .venue-stats__num { font-size: clamp(2.1rem, 10.4vw, 2.8rem); letter-spacing: -0.045em; line-height: 0.95; white-space: nowrap; }
#weddings .venue-stats__unit { font-family: 'Playfair Display', Georgia, serif; font-style: italic; font-weight: 400; font-size: 0.4em; letter-spacing: 0; color: var(--accent); }
#weddings .venue-stats__label { font-size: 0.62rem; letter-spacing: 0.26em; font-weight: 600; }
#weddings .venue-stats__line { height: 56px; background: rgba(25,22,19,0.16); }
}
}
@layer sections{
@keyframes cardIn {
from { opacity: 0; transform: translateY(14px) scale(0.985); }
to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes slideInLeft {
from { opacity: 0; transform: translateX(-12px) scale(0.985); }
to   { opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes slideInRight {
from { opacity: 0; transform: translateX(12px) scale(0.985); }
to   { opacity: 1; transform: translateX(0) scale(1); }
}
#events {
height: calc(100svh + var(--gap, 0px));
min-height: 0;
}
#events .rangoli { position: absolute; pointer-events: none; z-index: 1; }
#events .rangoli--tr {
top: -10px; right: -10px;
width: 140px; height: 140px;
background: radial-gradient(circle, rgba(154,107,42,0.06) 1.5px, transparent 1.5px) 0 0 / 16px 16px;
border-radius: 50%;
}
#events .rangoli--bl {
bottom: 3rem; left: 1rem;
width: 100px; height: 100px;
background: radial-gradient(circle, rgba(154,107,42,0.05) 1.5px, transparent 1.5px) 0 0 / 14px 14px;
border-radius: 50%;
}
.e-title__hero {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: clamp(3.2rem, 10vw, 7rem);
line-height: 0.95;
letter-spacing: -0.045em;
color: var(--text);
}
.e-title__accent {
display: inline-block;
font-family: 'Playfair Display', Georgia, serif;
font-weight: 400; font-style: italic;
font-size: clamp(3.2rem, 10vw, 7rem);
line-height: 0.95;
letter-spacing: -0.02em;
color: var(--accent);
margin-left: 0.15em;
}
#events .e-mobile {
position: absolute;
top: var(--gap, 0px); left: 0; right: 0; bottom: 0;
display: flex;
flex-direction: column;
}
#events .e-text-top {
flex: 0 0 auto;
padding: 2.5rem 2rem 1.5rem;
z-index: 30;
opacity: 0;
animation: fadeUp 0.8s var(--ease) 0.2s forwards;
}
#events .e-gallery-wrap {
flex: 1;
display: flex;
align-items: center;
position: relative;
z-index: 10;
min-height: 0;
overflow: hidden;
}
#events .e-gallery-wrap::before,
#events .e-gallery-wrap::after {
content: '';
position: absolute;
top: 0; bottom: 0;
width: 60px;
z-index: 5;
pointer-events: none;
}
#events .e-gallery-wrap::before { left: 0; background: linear-gradient(to right, var(--bg), transparent); }
#events .e-gallery-wrap::after  { right: 0; background: linear-gradient(to left, var(--bg), transparent); }
#events .e-gallery {
display: flex;
gap: 16px;
padding: 1rem 2rem;
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
scrollbar-width: none;
cursor: grab;
}
#events .e-gallery::-webkit-scrollbar { display: none; }
#events .e-gallery:active { cursor: grabbing; }
#events .e-gallery__item {
flex-shrink: 0;
scroll-snap-align: center;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 8px 32px rgba(25,22,19,0.10), 0 2px 8px rgba(25,22,19,0.05);
opacity: 0;
transform: translateY(20px);
background: rgba(25, 22, 19, 0.05);
}
#events .e-gallery__item:nth-child(1) { animation: cardIn 0.95s var(--ease) 0.3s forwards; }
#events .e-gallery__item:nth-child(2) { animation: cardIn 0.95s var(--ease) 0.45s forwards; }
#events .e-gallery__item:nth-child(3) { animation: cardIn 0.95s var(--ease) 0.6s forwards; }
#events .e-gallery__item:nth-child(4) { animation: cardIn 0.95s var(--ease) 0.75s forwards; }
#events .e-gallery__item:nth-child(5) { animation: cardIn 0.95s var(--ease) 0.9s forwards; }
#events .e-gallery__item:nth-child(n+6) { animation: cardIn 0.95s var(--ease) 0.9s forwards; }
#events .e-gallery__item--clone {
opacity: 1;
transform: none;
animation: none;
}
#events .e-gallery__item img {
display: block;
width: 100%; height: 100%;
object-fit: cover;
opacity: 0;
transform: translateZ(0);
backface-visibility: hidden;
transition: opacity 0.45s var(--ease), transform 0.6s var(--ease);
pointer-events: none;
}
#events .e-gallery__item img.is-loaded { opacity: 1; }
@media (hover: hover) and (pointer: fine) {
#events .e-gallery__item:hover img.is-loaded { transform: translateZ(0) scale(1.04); }
}
#events .e-gallery__item--hero { aspect-ratio: 4/3;   height: clamp(240px, 48svh, 400px); }
#events .e-gallery__item--tall { aspect-ratio: 3/4;   height: clamp(280px, 52svh, 430px); }
#events .e-gallery__item--wide { aspect-ratio: 16/10; height: clamp(220px, 42svh, 360px); }
#events .e-gallery__item--sq   { aspect-ratio: 1/1;   height: clamp(240px, 46svh, 380px); }
#events .e-mobile .e-hall-stats {
flex: 0 0 auto;
display: flex;
align-items: stretch;
justify-content: space-between;
gap: 0;
position: relative;
padding: 1.6rem 1.8rem 2.4rem;
z-index: 30;
opacity: 0;
animation: fadeUp 0.7s var(--ease) 0.9s forwards;
}
#events .e-mobile .e-hall-stats::before {
content: "";
position: absolute;
left: 1.8rem;
right: 1.8rem;
top: 0;
height: 1px;
background: rgba(25,22,19,0.16);
}
.e-hall-stats {
display: flex;
align-items: stretch;
justify-content: space-between;
gap: 0;
}
.e-hall-stats__item {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 0.5rem;
}
.e-hall-stats__name {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: clamp(1.2rem, 3.5vw, 1.6rem);
letter-spacing: -0.02em;
color: var(--text);
line-height: 1.1;
}
.e-hall-stats__line {
width: 1px;
align-self: stretch;
background: rgba(25,22,19,0.16);
flex-shrink: 0;
}
@media (max-width: 768px) {
#events .e-text-top { padding: 2rem 1.5rem 1rem; }
#events .e-gallery { gap: 12px; padding: 0.8rem 1.5rem; }
#events .e-gallery__item { border-radius: 10px; }
#events .e-gallery-wrap::before,
#events .e-gallery-wrap::after { width: 30px; }
#events .e-mobile .e-hall-stats { padding: 1.5rem 1.8rem 2.1rem; }
#events .e-mobile .e-hall-stats::before { left: 1.8rem; right: 1.8rem; }
#events .e-mobile .e-hall-stats__name { font-size: clamp(1.4rem, 6.4vw, 1.75rem); letter-spacing: -0.035em; line-height: 1; }
}
@media (max-width: 420px) {  .e-title__hero,
.e-title__accent { font-size: 2.8rem; }
}
#events .e-desktop {
position: absolute;
top: var(--gap, 0px); left: 0; right: 0; bottom: 0;
grid-template-columns: 30% 1fr;
}
#events .ed-text-col {
display: flex;
flex-direction: column;
justify-content: flex-start;
padding: 3rem 2.5rem;
padding-top: 25svh;
z-index: 30;
position: relative;
}
#events .ed-title-block {
opacity: 0;
animation: fadeUp 0.8s var(--ease) 0.2s forwards;
}
@media (min-width: 1024px) {
.e-title__hero,
.e-title__accent { font-size: clamp(3.5rem, 5.5vw, 6rem); }
}
.ed-hall-stats {
margin-top: 2rem;
display: flex;
flex-direction: column;
align-items: flex-start;
opacity: 0;
animation: fadeUp 0.7s var(--ease) 0.6s forwards;
}
.ed-hall-stats__rule {
width: 60px;
height: 1px;
background: linear-gradient(to right, rgba(25,22,19,0.15), transparent);
margin-bottom: 1.2rem;
}
.ed-hall-stats__row {
display: flex;
align-items: center;
gap: 1.4rem;
}
#events .ed-gallery-col {
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
}
#events .ed-gallery-viewport {
flex: 1;
position: relative;
min-height: 0;
display: flex;
align-items: center;
justify-content: center;
}
#events .ed-gallery-track {
position: relative;
width: calc(100% - clamp(48px, 8vw, 116px));
height: calc(100% - clamp(20px, 3.5svh, 40px));
max-width: 1180px;
max-height: 100%;
flex: 0 0 auto;
border-radius: 18px;
overflow: hidden;
background: rgba(25, 22, 19, 0.06);
box-shadow:
0 34px 90px rgba(25, 22, 19, 0.24),
0 8px 24px rgba(25, 22, 19, 0.10);
cursor: grab;
user-select: none;
-webkit-user-select: none;
touch-action: pan-y;
}
#events .ed-gallery-track.is-dragging { cursor: grabbing; }
#events .ed-gallery-track.is-dragging .ed-gallery-item { pointer-events: none; }
#events .ed-gallery-track:focus-visible {
outline: 2px solid rgba(25,22,19,0.28);
outline-offset: 4px;
}
.ed-gallery-item {
position: absolute;
inset: 0;
visibility: hidden;
z-index: 1;
clip-path: inset(0 0 0 0);
}
.ed-gallery-item.is-active  { visibility: visible; z-index: 3; }
.ed-gallery-item.is-leaving { visibility: visible; z-index: 2; }
.ed-gallery-item img {
display: block;
width: 100%; height: 100%;
object-fit: cover;
pointer-events: none;
opacity: 0;
transform: translateZ(0);
backface-visibility: hidden;
transition: opacity 0.45s var(--ease);
}
.ed-gallery-item img.is-loaded { opacity: 1; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
#events .ed-gallery-track:not(.is-switching) .ed-gallery-item.is-active img.is-loaded {
animation: edBreathe 7s var(--ease-out) forwards;
}
}
@keyframes edBreathe {
from { transform: scale(1) translate3d(0, 0, 0); }
to   { transform: scale(1.035) translate3d(-0.5%, 0, 0); }
}
.ed-gallery-item.from-right { clip-path: inset(0 0 0 100%); }
.ed-gallery-item.from-left  { clip-path: inset(0 100% 0 0); }
.ed-gallery-item.from-right img,
.ed-gallery-item.from-left img {
transition: opacity 0.45s var(--ease);
}
.ed-gallery-item.from-right img { transform: scale(1.12) translate3d(2.5%, 0, 0); }
.ed-gallery-item.from-left  img { transform: scale(1.12) translate3d(-2.5%, 0, 0); }
.ed-gallery-item.is-in {
clip-path: inset(0 0 0 0);
transition: clip-path 0.85s var(--ease);
}
.ed-gallery-item.is-in img {
transform: scale(1) translate3d(0, 0, 0);
transition: transform 1.2s var(--ease), opacity 0.45s var(--ease);
}
.ed-gallery-item.is-leaving img {
transform: scale(1.05);
transition: transform 1s var(--ease), opacity 0.45s var(--ease);
}
.ed-peek {
position: absolute;
right: 14px; bottom: 14px;
z-index: 7;
width: 74px; height: 96px;
padding: 0;
border: 1px solid rgba(250, 246, 240, 0.4);
border-radius: 10px;
overflow: hidden;
background: rgba(15, 13, 10, 0.25);
box-shadow: 0 12px 32px rgba(15, 13, 10, 0.35);
cursor: pointer;
transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}
.ed-peek picture {
display: block;
width: 100%; height: 100%;
}
.ed-peek img {
display: block;
width: 100%; height: 100%;
object-fit: cover;
pointer-events: none;
}
.ed-peek__label {
position: absolute;
left: 0; right: 0; bottom: 0;
padding: 0.9rem 0 0.3rem;
font-family: 'Plus Jakarta Sans', sans-serif;
font-size: 0.55rem;
font-weight: 600;
letter-spacing: 0.18em;
text-transform: uppercase;
text-align: center;
color: rgba(250, 246, 240, 0.95);
background: linear-gradient(to top, rgba(15, 13, 10, 0.6), rgba(15, 13, 10, 0));
pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
.ed-peek:hover {
transform: translateY(-3px);
box-shadow: 0 18px 40px rgba(15, 13, 10, 0.42);
}
}
.ed-peek:active { transform: scale(0.95); }
.ed-peek:focus-visible {
outline: 2px solid var(--accent);
outline-offset: 3px;
}
.ed-gallery-nav {
flex: 0 0 auto;
display: grid;
grid-template-columns: 1fr auto 1fr;
align-items: center;
width: calc(100% - clamp(48px, 8vw, 116px));
max-width: 1180px;
margin: 0 auto;
padding: 0.9rem 0 clamp(14px, 2.5svh, 26px);
z-index: 20;
opacity: 0;
animation: fadeUp 0.6s var(--ease) 0.8s forwards;
}
.ed-counter {
justify-self: start;
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 600;
font-size: 0.95rem;
letter-spacing: 0.08em;
color: var(--sand);
display: inline-flex;
align-items: baseline;
gap: 0.45em;
}
.ed-counter__cur {
font-weight: 800;
font-size: 1.15rem;
color: var(--text);
display: inline-block;
min-width: 1.4em;
transition: opacity 0.28s var(--ease), transform 0.28s var(--ease);
}
.ed-counter__cur.is-swapping {
opacity: 0;
transform: translate3d(0, 8px, 0);
}
.ed-counter__sep { opacity: 0.5; }
.ed-nav-dots {
justify-self: center;
display: flex;
gap: 7px;
}
.ed-nav-dot {
position: relative;
width: 7px; height: 7px;
border-radius: 50%;
background: var(--sand);
opacity: 0.4;
cursor: pointer;
overflow: hidden;
transition: width 0.5s var(--ease), opacity 0.5s var(--ease);
}
.ed-nav-dot:hover { opacity: 0.7; }
.ed-nav-dot.active {
opacity: 1;
width: 30px;
border-radius: 4px;
background: rgba(154, 142, 126, 0.35);
}
.ed-nav-dot.active::before {
content: '';
position: absolute;
inset: 0;
border-radius: inherit;
background: var(--accent);
transform: scaleX(var(--p, 1));
transform-origin: left center;
}
.ed-nav-dot:focus-visible {
outline: 2px solid var(--accent);
outline-offset: 3px;
}
.ed-nav-arrows {
justify-self: end;
display: flex;
gap: 0.6rem;
}
.ed-nav-arrow {
width: 46px;
height: 46px;
border-radius: 50%;
border: 1.5px solid rgba(25,22,19,0.14);
background: rgba(250,246,240,0.45);
color: var(--text);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.35s var(--ease), color 0.35s var(--ease),
border-color 0.35s var(--ease), transform 0.35s var(--ease);
-webkit-backdrop-filter: blur(6px);
backdrop-filter: blur(6px);
}
.ed-nav-arrow:hover {
background: var(--text);
color: var(--bg);
border-color: var(--text);
transform: translateY(-1px);
}
.ed-nav-arrow:active { transform: scale(0.94); }
.ed-nav-arrow:focus-visible {
outline: 2px solid var(--accent);
outline-offset: 3px;
}
.ed-nav-arrow svg {
width: 20px; height: 20px;
stroke: currentColor;
fill: none;
stroke-width: 1.5;
stroke-linecap: round;
stroke-linejoin: round;
}
@media (prefers-reduced-motion: reduce) {
.ed-gallery-item,
.ed-gallery-item img,
.ed-counter__cur {
transition: none;
}
.ed-nav-dot.active::before { transform: none; }
}
}
@layer sections{
#stays {
height: calc(100svh + var(--gap, 0px));
min-height: 0;
background: linear-gradient(
to bottom,
var(--bg) 60%,
#D0C5B5 72%,
#D8CEBE 82%,
#E0D7C7 91%,
var(--bg-next) 100%
);
}
#stays .rangoli { position: absolute; pointer-events: none; z-index: 1; }
#stays .rangoli--tr {
top: -10px; right: -10px;
width: 140px; height: 140px;
background: radial-gradient(circle, rgba(138,110,78,0.06) 1.5px, transparent 1.5px) 0 0 / 16px 16px;
border-radius: 50%;
}
#stays .rangoli--bl {
bottom: 3rem; left: 1rem;
width: 100px; height: 100px;
background: radial-gradient(circle, rgba(180,160,48,0.06) 1.5px, transparent 1.5px) 0 0 / 14px 14px;
border-radius: 50%;
}
#stays .s-mobile {
position: absolute;
top: var(--gap, 0px); left: 0; right: 0; bottom: 0;
display: flex;
flex-direction: column;
padding: 2rem;
}
#stays .s-title__hero {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: clamp(3rem, 10vw, 6.5rem);
line-height: 0.95;
letter-spacing: -0.04em;
color: var(--text);
}
#stays .s-title__accent {
font-family: 'Playfair Display', Georgia, serif;
font-weight: 400; font-style: italic;
font-size: clamp(3rem, 10vw, 6.5rem);
line-height: 0.95;
letter-spacing: -0.02em;
color: var(--accent);
}
#stays .s-overlap__back {
position: absolute;
top: 0; left: 0;
width: 68%; height: 75%;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 8px 32px rgba(31,24,16,0.12), 0 2px 8px rgba(31,24,16,0.05);
z-index: 2;
opacity: 0;
animation: slideInLeft 1.15s var(--ease) 0.3s forwards;
}
#stays .s-overlap__front {
position: absolute;
bottom: 0; right: 0;
width: 55%; height: 60%;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 10px 40px rgba(31,24,16,0.15), 0 3px 10px rgba(31,24,16,0.06);
z-index: 3;
opacity: 0;
animation: slideInRight 1.15s var(--ease) 0.45s forwards;
}
#stays .s-overlap__front::before {
content: '';
position: absolute;
inset: -4px;
border-radius: 18px;
background: var(--bg);
z-index: -1;
}
#stays .s-overlap__frame {
position: absolute;
inset: 0;
opacity: 0;
transition: opacity 1s ease-in-out;
background: rgba(31, 24, 16, 0.06);
}
#stays .s-overlap__frame.active { opacity: 1; }
#stays .s-overlap__frame img {
width: 100%; height: 100%;
object-fit: cover;
object-position: center 55%;
opacity: 0;
transition: opacity 0.7s var(--ease);
transform: translateZ(0);
backface-visibility: hidden;
}
#stays .s-overlap__frame img.is-loaded { opacity: 1; }
#stays .s-overlap__frame.active img.is-loaded {
animation: slowZoom 3.5s ease-in-out forwards;
}
#stays .s-stay-stats {
flex: 0 0 auto;
display: flex;
align-items: center;
justify-content: center;
gap: 1.4rem;
padding-top: 1.2rem;
opacity: 0;
animation: fadeUp 0.7s var(--ease) 0.9s forwards;
z-index: 30;
}
.s-stay-stats__item {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.15rem;
}
.s-stay-stats__num {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: clamp(1rem, 3vw, 1.3rem);
letter-spacing: -0.02em;
color: var(--text);
line-height: 1.1;
}
.s-stay-stats__label {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 400;
font-size: 0.55rem;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--sand);
line-height: 1;
}
.s-stay-stats__line {
width: 1px;
height: 28px;
background: linear-gradient(to bottom, transparent, rgba(31,24,16,0.12), transparent);
flex-shrink: 0;
}
.s-room-rates {
flex: 0 0 auto;
display: flex;
flex-direction: column;
align-items: center;
gap: 0.4rem;
padding-top: 0.8rem;
opacity: 0;
animation: fadeUp 0.7s var(--ease) 1.1s forwards;
z-index: 30;
}
.s-room-rates__row {
display: flex;
align-items: center;
gap: 1.2rem;
}
.s-room-rates__tier {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.1rem;
}
.s-room-rates__price {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: clamp(1.1rem, 3.5vw, 1.4rem);
letter-spacing: -0.02em;
color: var(--text);
line-height: 1.1;
}
.s-room-rates__type {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 400;
font-size: 0.5rem;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--sand);
line-height: 1;
}
.s-room-rates__sep {
width: 1px;
height: 24px;
background: linear-gradient(to bottom, transparent, rgba(31,24,16,0.12), transparent);
flex-shrink: 0;
}
.s-room-rates__note {
font-family: 'Cormorant Garamond', serif;
font-weight: 300;
font-style: italic;
font-size: 0.72rem;
color: var(--sand);
letter-spacing: 0.02em;
opacity: 0.7;
}
@media (max-width: 768px) {
#stays .s-overlap__back { width: 75%; height: 68%; }
#stays .s-overlap__front { width: 58%; height: 50%; }
.s-stay-stats__num { font-size: 0.95rem; }
.s-stay-stats__label { font-size: 0.5rem; }
.s-stay-stats__line { height: 22px; }
}
@media (max-width: 420px) {
#stays .s-title__hero,
#stays .s-title__accent { font-size: 2.6rem; }
#stays .s-overlap__back { width: 80%; height: 65%; }
#stays .s-overlap__front { width: 60%; height: 48%; }
}
#stays .s-desktop {
grid-template-columns: 55% 1fr;
position: absolute;
top: var(--gap, 0px); left: 0; right: 0; bottom: 0;
}
#stays .sd-img-col {
position: relative;
padding: 2.5rem;
min-height: 0;
z-index: 10;
}
#stays .s-desktop .s-overlap__back {
top: 2.5rem; left: 2.5rem;
width: 72%; height: 78%;
border-radius: 16px;
}
#stays .s-desktop .s-overlap__front {
bottom: 2.5rem; right: 2.5rem;
width: 52%; height: 58%;
border-radius: 16px;
}
#stays .s-desktop .s-overlap__front::before {
inset: -5px;
border-radius: 20px;
}
#stays .sd-text-col {
display: flex;
flex-direction: column;
justify-content: center;
padding: 3rem 3rem 3rem 2.5rem;
z-index: 30;
position: relative;
}
#stays .sd-text-col::before {
content: '';
position: absolute;
top: 12%; bottom: 12%; left: 0;
width: 1px;
background: linear-gradient(180deg, transparent, rgba(0,0,0,0.06) 25%, rgba(0,0,0,0.06) 75%, transparent);
}
#stays .sd-text-top {
margin-bottom: 2.5rem;
opacity: 0;
animation: fadeUp 0.8s var(--ease) 0.2s forwards;
}
#stays .s-desktop .s-title__hero {
font-size: clamp(3.5rem, 5.5vw, 6rem);
}
#stays .s-desktop .s-title__accent {
font-size: clamp(3.5rem, 5.5vw, 6rem);
}
.sd-stay-stats {
margin-top: 1.5rem;
margin-bottom: 2rem;
display: flex;
flex-direction: column;
align-items: flex-start;
opacity: 0;
animation: fadeUp 0.7s var(--ease) 0.6s forwards;
}
.sd-stay-stats__rule {
width: 60px;
height: 1px;
background: linear-gradient(to right, rgba(31,24,16,0.15), transparent);
margin-bottom: 1.2rem;
}
.sd-stay-stats__row {
display: flex;
align-items: center;
gap: 1.4rem;
}
#stays .sd-text-col .s-room-rates {
align-items: flex-start;
padding-top: 0;
margin-top: 1rem;
animation-delay: 0.8s;
}
#stays .sd-text-col .s-room-rates__note {
font-size: 0.75rem;
}
.s-v2-visual {
flex: 0 0 58%;
position: relative;
margin: 0.9rem 0.9rem 0;
border-radius: 22px;
overflow: hidden;
}
.s-v2-frame {
position: absolute; inset: 0;
opacity: 0;
transition: opacity 1.4s ease-in-out;
background: rgba(31, 24, 16, 0.06);
}
.s-v2-frame.active { opacity: 1; }
.s-v2-frame img {
width: 100%; height: 100%;
object-fit: cover;
object-position: center 50%;
opacity: 0;
transition: opacity 0.7s var(--ease);
transform: translateZ(0);
backface-visibility: hidden;
}
.s-v2-frame img.is-loaded { opacity: 1; }
.s-v2-frame.active img.is-loaded {
animation: slowZoom 5s ease-in-out forwards;
}
.s-v2-overlay {
position: absolute;
top: 0; left: 0; right: 0;
padding: 1.6rem 1.6rem 0;
z-index: 10;
}
.s-v2-overlay::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0;
height: 140px;
background: linear-gradient(to bottom, rgba(31,24,16,0.4), transparent);
z-index: -1;
border-radius: 22px 22px 0 0;
}
.s-v2-title {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: 2rem;
line-height: 0.9;
letter-spacing: -0.04em;
color: #FAF6F0;
}
.s-v2-title-accent {
font-family: 'Playfair Display', Georgia, serif;
font-weight: 400;
font-style: italic;
color: #E8D4B0;
}
.s-v2-dots {
position: absolute;
bottom: 14px;
left: 50%;
transform: translateX(-50%);
display: flex;
gap: 5px;
z-index: 10;
background: rgba(31,24,16,0.4);
padding: 4px 10px;
border-radius: 20px;
}
.s-v2-dot {
width: 6px; height: 6px;
border-radius: 50%;
background: rgba(255,255,255,0.35);
transition: all 0.5s var(--ease);
}
.s-v2-dot.active {
width: 18px;
border-radius: 3px;
background: rgba(255,255,255,0.85);
}
.s-v2-info {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: stretch;
position: relative;
padding: 1.6rem 1.5rem 1.4rem;
gap: 0;
}
.s-v2-stats {
padding-top: 1.4rem;
border-top: 1px solid rgba(31,24,16,0.16);
}
.s-v2-stats,
.s-v2-rates {
display: flex;
align-items: stretch;
justify-content: space-between;
gap: 0;
}
.s-v2-stat,
.s-v2-tier {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 0.55rem;
}
.s-v2-rates {
margin-top: 1.5rem;
padding-top: 1.5rem;
border-top: 1px solid rgba(31,24,16,0.10);
}
.s-v2-stat__val,
.s-v2-tier__price {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
letter-spacing: -0.045em;
color: var(--text);
line-height: 0.95;
white-space: nowrap;
}
.s-v2-stat__val { font-size: clamp(1.75rem, 8.4vw, 2.25rem); }
.s-v2-tier__price { font-size: clamp(1.5rem, 7.2vw, 1.95rem); }
.s-v2-stat__unit {
font-family: 'Playfair Display', Georgia, serif;
font-style: italic;
font-weight: 400;
font-size: 0.4em;
letter-spacing: 0;
color: var(--accent);
margin-left: 0.08em;
}
.s-v2-stat__lbl,
.s-v2-tier__type {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 600;
font-size: 0.6rem;
letter-spacing: 0.26em;
text-transform: uppercase;
color: var(--sand);
line-height: 1;
text-align: center;
}
.s-v2-stat__div,
.s-v2-rate__div {
width: 1px;
align-self: stretch;
background: rgba(31,24,16,0.16);
flex-shrink: 0;
}
.s-v2-rule { display: none; }
.s-v2-note {
text-align: center;
font-family: 'Cormorant Garamond', serif;
font-weight: 300;
font-style: italic;
font-size: 0.7rem;
color: var(--sand);
opacity: 0.6;
margin-top: -0.3rem;
}
#stays .s-mobile {
padding: 0;
padding-top: 0;
padding-bottom: env(safe-area-inset-bottom);
}
@media (min-width: 1024px) {
.s-v2-visual,
.s-v2-info,
.s-v2-overlay { display: none; }
}
}
@layer sections{
#yourevent {
height: calc(100svh + var(--gap, 0px));
min-height: 0;
}
#yourevent .rangoli { position: absolute; pointer-events: none; z-index: 1; }
#yourevent .rangoli--tr {
top: -10px; right: -10px;
width: 140px; height: 140px;
background: radial-gradient(circle, rgba(212,175,55,0.07) 1.5px, transparent 1.5px) 0 0 / 16px 16px;
border-radius: 50%;
}
#yourevent .rangoli--bl {
bottom: 3rem; left: 1rem;
width: 100px; height: 100px;
background: radial-gradient(circle, rgba(212,175,55,0.07) 1.5px, transparent 1.5px) 0 0 / 14px 14px;
border-radius: 50%;
}
.ye-wrap {
position: relative;
display: flex;
flex-direction: column;
padding: 3rem 2rem 2.5rem;
gap: 2rem;
}
@media (min-width: 1024px) {
.ye-wrap {
position: absolute;
top: var(--gap, 0px); left: 0; right: 0; bottom: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 32px;
max-width: 1200px;
margin: 0 auto;
padding: 0 2.5rem;
}
}
.ye-main {
display: flex;
flex-direction: column;
width: 100%;
}
@media (min-width: 1024px) {
.ye-main {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 60px;
width: 100%;
}
}
.ye-text {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
padding: 0 1.5rem;
z-index: 30;
}
@media (min-width: 1024px) {
.ye-text {
flex: 0 0 250px;
padding: 0;
align-items: flex-start;
text-align: left;
}
}
.ye-eyebrow {
display: inline-flex;
align-items: center;
justify-content: center;
font-family: 'Plus Jakarta Sans', sans-serif;
font-weight: 600;
font-size: 0.72rem;
letter-spacing: 0.28em;
text-transform: uppercase;
color: var(--sand);
margin-bottom: 1rem;
}
@media (min-width: 1024px) {
.ye-eyebrow { justify-content: flex-start; margin-bottom: 1.1rem; }
}
.ye-title {
display: flex;
align-items: center;
justify-content: center;
gap: 0.35em;
line-height: 1.1;
}
.ye-title__a {
display: inline-block;
font-family: 'Plus Jakarta Sans', sans-serif;
font-weight: 800;
font-size: clamp(2.8rem, 10vw, 3.8rem);
letter-spacing: -0.04em;
color: var(--text);
}
.ye-title__b {
display: inline-block;
font-family: 'Playfair Display', Georgia, serif;
font-style: italic;
font-weight: 500;
font-size: clamp(2.8rem, 10vw, 3.8rem);
color: var(--accent);
}
@media (min-width: 1024px) {
.ye-title { display: block; line-height: 1; }
.ye-title__a { display: block; font-size: min(4.5rem, 9.5svh); line-height: 1; }
.ye-title__b { display: block; font-size: min(4.5rem, 9.5svh); line-height: 1; padding-left: 1.1em; }
}
.ye-body {
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
margin-top: 1.5rem;
}
@media (min-width: 1024px) {
.ye-body { flex: 1; width: 100%; margin-top: 0; }
}
.ye-dash {
width: 40px; height: 3px;
background: #A67C2E;
border-radius: 2px;
}
.ye-card__img {
display: block;
position: absolute;
inset: 0;
border-radius: inherit;
overflow: hidden;
background: rgba(0, 0, 0, 0.08);
}
.ye-card__img img {
width: 100%; height: 100%;
object-fit: cover; object-position: center 50%;
display: block;
opacity: 0;
transform: translateZ(0);
backface-visibility: hidden;
transition: opacity 0.45s var(--ease), transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.ye-card__img img.is-loaded { opacity: 1; }
@media (min-width: 1024px) {
.ye-carousel {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: min(330px, 42svh) min(260px, 33svh);
gap: min(24px, 3.2svh);
width: 100%;
}
.ye-card {
position: relative;
border-radius: 28px;
overflow: hidden;
box-shadow: 0 15px 35px rgba(0,0,0,0.08);
cursor: pointer;
transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.ye-card:nth-child(1) { grid-column: 1 / -1; grid-row: 1; height: 100%; }
.ye-card:nth-child(2) { grid-column: 1;      grid-row: 2; height: 100%; }
.ye-card:nth-child(3) { grid-column: 2;      grid-row: 2; height: 100%; }
.ye-card:hover { transform: translateY(-4px); box-shadow: 0 18px 44px rgba(0,0,0,0.14); }
.ye-card:hover .ye-card__img img.is-loaded { transform: translateZ(0) scale(1.06); }
.ye-card:nth-child(1) .ye-card__scrim {
position: absolute; left: 0; right: 0; bottom: 0;
height: 65%; z-index: 2; pointer-events: none;
background: linear-gradient(to top,
rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.35) 40%, rgba(0,0,0,0.08) 75%, rgba(0,0,0,0) 100%);
}
.ye-card:nth-child(n+2) .ye-card__scrim {
position: absolute; left: 0; right: 0; bottom: 0;
height: 70%; z-index: 2; pointer-events: none;
background: linear-gradient(to top,
rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.38) 45%, rgba(0,0,0,0.08) 80%, rgba(0,0,0,0) 100%);
}
.ye-card__overlay {
position: absolute; left: 0; right: 0; bottom: 0;
z-index: 5; display: flex; flex-direction: column;
transition: transform 0.4s ease;
}
.ye-card:hover .ye-card__overlay { transform: translateY(-8px); }
.ye-card:nth-child(1)   .ye-card__overlay { padding: min(2.5rem, 5.5svh); gap: min(0.8rem, 1.8svh); }
.ye-card:nth-child(n+2) .ye-card__overlay { padding: min(2.2rem, 5svh); gap: min(0.5rem, 1.4svh); }
.ye-card__name {
font-family: 'Noto Sans', sans-serif;
font-weight: 400;
font-style: normal;
line-height: 1;
color: #fff; letter-spacing: 0.01em;
text-shadow: 0 1px 3px rgba(0,0,0,0.4), 0 4px 12px rgba(0,0,0,0.2);
}
.ye-card:nth-child(1)   .ye-card__name { font-size: min(2.2rem, 5svh); }
.ye-card:nth-child(n+2) .ye-card__name { font-size: min(1.45rem, 3.5svh); letter-spacing: -0.01em; }
.ye-card__desc {
font-family: 'Plus Jakarta Sans', sans-serif;
font-weight: 400; line-height: 1.6;
color: rgba(255,255,255,0.9);
text-shadow: 0 1px 3px rgba(0,0,0,0.35);
}
.ye-card:nth-child(1)   .ye-card__desc { font-size: min(1rem, 2.5svh); max-width: 90%; }
.ye-card:nth-child(n+2) .ye-card__desc { font-size: min(0.8rem, 2.2svh); margin-top: min(0.2rem, 0.6svh); }
}
.ye-m { display: none; }
@property --ye-p { syntax: "<percentage>"; inherits: false; initial-value: -12%; }
@media (max-width: 1023px) {
#yourevent { height: auto; min-height: 100svh; }
.ye-carousel { display: none; }
.ye-m { display: block; width: 100%; max-width: 460px; margin: 0 auto; padding: 0; }
.ye-m__stage {
position: relative; height: min(50svh, 420px); border-radius: 22px; overflow: hidden;
background: #cfc8b8; box-shadow: 0 22px 40px -20px rgba(40,28,8,0.4);
}
.ye-m__stage picture, .ye-m__stage img { position: absolute; inset: 0; width: 100%; height: 100%; }
.ye-m__stage img { object-fit: cover; opacity: 0; transform: scale(1.08);
transition: opacity .8s var(--ease-out), transform 3.2s linear; }
.ye-m__stage img.on { opacity: 1; transform: none; }
.ye-m__stage:not(:has(img.on)) picture:first-of-type img { opacity: 1; transform: none; }
.ye-m__list:not(:has(.ye-m__row.on)) .ye-m__row:first-child .ye-m__name { opacity: 1; }
.ye-m__list { margin-top: 8px; }
.ye-m__row {
all: unset; box-sizing: border-box; display: block; width: 100%; position: relative;
padding: 18px 8px 16px; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.ye-m__row:focus-visible { outline: 2px solid #A67C2E; outline-offset: -2px; border-radius: 8px; }
.ye-m__row::before, .ye-m__row::after {
content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1.5px; pointer-events: none;
}
.ye-m__row::before { background: repeating-linear-gradient(90deg, rgba(42,42,42,.26) 0 6px, transparent 6px 12px); }
.ye-m__row::after {
background: repeating-linear-gradient(90deg, transparent 0 6px, rgba(42,42,42,.26) 6px 12px);
-webkit-mask-image: linear-gradient(90deg, #000 var(--ye-p), transparent calc(var(--ye-p) + 8%));
mask-image: linear-gradient(90deg, #000 var(--ye-p), transparent calc(var(--ye-p) + 8%));
opacity: 0; transition: opacity .5s ease, --ye-p 0s .5s;
}
.ye-m__row.on::after { opacity: 1; --ye-p: 100%; transition: --ye-p 2s cubic-bezier(.4,0,.3,1), opacity .15s; }
.ye-m__name {
display: block; font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800;
font-size: 1.55rem; letter-spacing: -.025em; line-height: 1.15; color: var(--text);
opacity: .34; transition: opacity .6s var(--ease-out);
}
.ye-m__row.on .ye-m__name { opacity: 1; }
.ye-m__dw { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .6s var(--ease-out); }
.ye-m__row.on .ye-m__dw { grid-template-rows: 1fr; }
.ye-m__dw > span { display: block; overflow: hidden; min-height: 0; }
.ye-m__desc {
display: block; padding-top: 6px; font-family: 'Plus Jakarta Sans', sans-serif;
font-size: .95rem; line-height: 1.5; color: #5a5a5a;
opacity: 0; transform: translateY(6px); transition: opacity .4s var(--ease-out), transform .5s var(--ease-out);
}
.ye-m__row.on .ye-m__desc { opacity: 1; transform: none; transition-delay: .2s; }
@media (prefers-reduced-motion: reduce) {
.ye-m__stage img, .ye-m__name, .ye-m__dw, .ye-m__desc, .ye-m__row::after { transition: none; }
}
}
@media (max-width: 420px) {
.ye-title__a, .ye-title__b { font-size: 2.5rem; }
}
}
@layer sections{
#why-us {
height: calc(100svh + var(--gap, 0px));
min-height: 0;
}
#why-us .rangoli { position: absolute; pointer-events: none; z-index: 1; }
#why-us .rangoli--tr {
top: -10px; right: -10px;
width: 140px; height: 140px;
background: radial-gradient(circle, rgba(200,75,49,0.06) 1.5px, transparent 1.5px) 0 0 / 16px 16px;
border-radius: 50%;
}
#why-us .rangoli--bl {
bottom: 3rem; left: 1rem;
width: 100px; height: 100px;
background: radial-gradient(circle, rgba(212,147,13,0.06) 1.5px, transparent 1.5px) 0 0 / 14px 14px;
border-radius: 50%;
}
.wu-container {
position: absolute;
top: var(--gap, 0px); left: 0; right: 0; bottom: 0;
max-width: 1200px; width: 100%;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr;
gap: 4rem;
align-items: center;
padding: 3rem 2rem;
z-index: 10;
}
@media (min-width: 1024px) {
.wu-container { grid-template-columns: 1fr 1fr; gap: 6rem; padding: min(3rem, 6.2svh) 2.5rem; }
}
.wu-visuals {
position: relative;
width: 100%;
max-width: min(480px, 60svh);
margin: 0 auto;
padding-bottom: min(2.5rem, 5.2svh);
padding-right: min(2.5rem, 5.2svh);
}
.wu-img-main {
width: 85%;
aspect-ratio: 4/5;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 15px 40px rgba(25, 22, 19, 0.06);
position: relative;
z-index: 1;
background: rgba(25, 22, 19, 0.05);
}
.wu-img-sub {
position: absolute;
bottom: -10px; right: -10px;
width: 70%;
aspect-ratio: 16/9;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 25px 50px rgba(25, 22, 19, 0.15), 0 5px 15px rgba(25, 22, 19, 0.08);
z-index: 2;
background: rgba(25, 22, 19, 0.05);
}
.wu-img-main img,
.wu-img-sub img {
width: 100%; height: 100%;
object-fit: cover;
display: block;
opacity: 0;
transition: opacity 0.45s var(--ease);
transform: translateZ(0);
backface-visibility: hidden;
}
.wu-img-main img.is-loaded,
.wu-img-sub img.is-loaded { opacity: 1; }
.wu-content {
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
z-index: 10;
}
.wu-title { line-height: 0.9; margin-bottom: min(1.5rem, 3.2svh); }
.wu-title__a {
display: block;
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: clamp(4rem, min(8vw, 13svh), 6.5rem);
letter-spacing: -0.04em;
color: var(--text);
}
.wu-title__b {
display: block;
font-family: 'Playfair Display', Georgia, serif;
font-weight: 400; font-style: italic;
font-size: clamp(4rem, min(8vw, 13svh), 6.5rem);
color: var(--accent);
}
.wu-desc {
font-size: clamp(1.1rem, min(2vw, 2.7svh), 1.3rem);
line-height: 1.6;
opacity: 0.9;
margin-bottom: min(2.5rem, 5.2svh);
max-width: 95%;
}
.wu-desc__hl {
font-weight: 700;
color: var(--accent);
background: color-mix(in srgb, var(--accent) 14%, transparent);
padding: 0.05em 0.3em;
border-radius: 0.25em;
white-space: nowrap;
}
.wu-signature-block {
display: flex;
flex-direction: column;
align-items: flex-start;
}
.wu-sign-off {
font-style: italic;
font-size: min(1.1rem, 2.4svh);
color: var(--sand);
margin-bottom: 0.2rem;
}
.wu-signature {
font-family: 'Playfair Display', Georgia, serif;
font-weight: 500;
font-style: italic;
font-size: clamp(2rem, 3.4svh, 2.75rem);
letter-spacing: 0.03em;
color: var(--text);
line-height: 1.15;
margin-left: 0.1rem;
transform: none;
}
@media (min-width: 1024px) and (max-height: 560px) {
.wu-title__a,
.wu-title__b { font-size: clamp(3.2rem, min(8vw, 13svh), 6.5rem); }
.wu-desc { font-size: clamp(0.95rem, min(2vw, 2.7svh), 1.3rem); }
.wu-signature { font-size: clamp(1.7rem, 3.4svh, 2.75rem); }
}
@media (max-width: 768px) {
.wu-container {
display: flex;
flex-direction: column;
justify-content: center;
gap: 4svh;
padding: 4svh 6vw;
}
.wu-visuals {
flex: 0 1 auto;
min-height: 0;
height: 38svh;
max-height: 38svh;
width: 100%;
max-width: none;
position: relative;
display: flex;
align-items: center;
justify-content: center;
padding: 0;
margin: 0;
}
.wu-img-main {
height: 100%;
width: auto;
aspect-ratio: 3 / 4;
max-width: 62vw;
border-radius: 18px;
box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.wu-img-sub {
position: absolute;
bottom: -2svh;
right: 6vw;
width: 34vw;
aspect-ratio: 4 / 3;
border-radius: 12px;
border: 5px solid var(--bg);
box-shadow: 0 12px 25px rgba(0,0,0,0.12);
z-index: 5;
}
.wu-content {
flex: 1 1 auto;
display: flex;
flex-direction: column;
justify-content: center;
}
.wu-title {
display: flex;
align-items: baseline;
gap: 2vw;
margin-bottom: 2.5svh;
}
.wu-title__a { font-size: clamp(2.5rem, 6svh, 4rem); line-height: 1; }
.wu-title__b { font-size: clamp(2.6rem, 6.5svh, 4.2rem); line-height: 1; transform: translateY(2px); }
.wu-desc {
font-size: clamp(14px, 1.9svh, 16.5px);
line-height: 1.55;
margin-bottom: 3svh;
color: rgba(25, 22, 19, 0.85);
display: -webkit-box;
-webkit-line-clamp: 9;
-webkit-box-orient: vertical;
overflow: hidden;
}
.wu-signature-block {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
border-top: 1px solid rgba(25, 22, 19, 0.1);
padding-top: 2.5svh;
}
.wu-sign-off { font-size: clamp(12px, 1.6svh, 15px); margin-bottom: 0; }
.wu-signature {
font-size: clamp(1.65rem, 3.4svh, 2.25rem);
margin-left: 0;
letter-spacing: 0.02em;
}
}
@media (max-width: 420px) {
.wu-title__a { font-size: 2.4rem; }
.wu-title__b { font-size: 2.5rem; }
}
}
@layer sections{
@keyframes starPop {
from { opacity: 0; transform: scale(0); }
to   { opacity: 1; transform: scale(1); }
}
#reviews {
height: calc(100svh + var(--gap, 0px));
min-height: 0;
background: var(--bg);
}
#reviews .r-content {
position: absolute;
top: var(--gap, 0px); left: 0; right: 0; bottom: 0;
display: flex;
flex-direction: column;
}
#reviews .rangoli { position: absolute; pointer-events: none; z-index: 1; }
#reviews .rangoli--tr {
top: -10px; right: -10px;
width: 140px; height: 140px;
background: radial-gradient(circle, rgba(160,128,80,0.06) 1.5px, transparent 1.5px) 0 0 / 16px 16px;
border-radius: 50%;
}
#reviews .r-header {
flex: 0 0 auto;
position: relative;
z-index: 20;
padding: min(2.5rem, 5.5svh) 2rem min(1.35rem, 3svh);
background: var(--bg);
opacity: 0;
animation: fadeUp 0.8s var(--ease) 0.2s forwards;
}
#reviews .r-stars {
display: flex; gap: 4px;
margin-bottom: min(0.6rem, 1.6svh);
}
#reviews .r-stars svg {
width: min(18px, 3.2svh); height: min(18px, 3.2svh);
fill: #B89840;
opacity: 0;
animation: starPop 0.4s var(--ease) forwards;
}
#reviews .r-stars svg:nth-child(1) { animation-delay: 0.3s; }
#reviews .r-stars svg:nth-child(2) { animation-delay: 0.4s; }
#reviews .r-stars svg:nth-child(3) { animation-delay: 0.5s; }
#reviews .r-stars svg:nth-child(4) { animation-delay: 0.6s; }
#reviews .r-stars svg:nth-child(5) { animation-delay: 0.7s; }
#reviews .r-header__title {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: clamp(2.8rem, min(9vw, 12.5svh), 6rem);
line-height: 1.18;
letter-spacing: -0.04em;
color: var(--text);
padding-bottom: 0.06em;
overflow: visible;
backface-visibility: visible;
transform: none;
}
#reviews .r-header__title.sr-hidden {
backface-visibility: visible;
}
#reviews .r-header__title.sr-hidden:not(.sr-visible) {
opacity: 0;
transform: translate3d(0, 24px, 0);
backface-visibility: visible;
}
#reviews .r-header__title.sr-hidden.sr-visible {
opacity: 1;
transform: none;
backface-visibility: visible;
}
#reviews .r-header__accent {
font-family: 'Playfair Display', Georgia, serif;
font-weight: 400;
font-style: italic;
color: var(--accent);
white-space: nowrap;
padding: 0.05em 0.02em 0.18em;
line-height: 1.2;
}
#reviews .r-header__accent .mx-mask {
padding-bottom: 0.32em;
margin-bottom: -0.32em;
}
#reviews .r-header__sub {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 400;
font-size: 0.7rem;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--sand);
margin-top: min(0.45rem, 1.4svh);
}
#reviews .r-zone {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
gap: min(14px, 2svh);
overflow: hidden;
position: relative;
z-index: 10;
min-height: 0;
}
#reviews .r-zone::before,
#reviews .r-zone::after {
content: '';
position: absolute;
top: 0; bottom: 0;
width: 80px;
z-index: 5;
pointer-events: none;
}
#reviews .r-zone::before { left: 0; background: linear-gradient(to right, var(--bg), transparent); }
#reviews .r-zone::after  { right: 0; background: linear-gradient(to left, var(--bg), transparent); }
#reviews .r-marquee {
display: flex;
gap: 14px;
width: max-content;
will-change: transform;
}
#reviews .r-marquee--right { animation: marqueeLeft 60s linear infinite; }
#reviews .r-marquee--left  { animation: marqueeRight 55s linear infinite; }
#reviews .r-card {
flex-shrink: 0;
width: 280px;
background: rgba(255,255,255,0.5);
border: 1px solid rgba(0,0,0,0.04);
border-radius: 14px;
padding: min(1.2rem, 2.8svh) min(1.4rem, 3.2svh);
box-shadow: 0 2px 12px rgba(42,38,30,0.04);
transition: transform 0.4s var(--ease), box-shadow 0.4s var(--ease);
}
@media (hover: hover) and (pointer: fine) {
#reviews .r-card:hover {
transform: translateY(-3px);
box-shadow: 0 6px 24px rgba(42,38,30,0.08);
}
}
#reviews .r-card__text {
font-family: 'Newsreader', Georgia, serif;
font-size: min(0.88rem, 2.3svh);
line-height: 1.5;
color: var(--text);
margin-bottom: min(0.7rem, 1.8svh);
font-style: italic;
}
#reviews .r-card__name {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 600;
font-size: 0.6rem;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--sand);
}
#reviews .r-footer {
flex: 0 0 auto;
padding: min(1rem, 2.5svh) 2rem min(2rem, 4.2svh);
text-align: right;
opacity: 0;
animation: fadeUp 0.7s var(--ease) 1s forwards;
z-index: 20;
}
#reviews .r-footer__count {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 600;
font-size: 0.65rem;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--sand);
}
@media (max-width: 768px) {
#reviews .r-header { padding: 2rem 1.5rem 1rem; }
#reviews .r-header__title {
font-size: clamp(2.2rem, 7.6vw, 2.85rem);
line-height: 1.22;
white-space: nowrap;
}
#reviews .r-header__sub { margin-top: 0.35rem; }
#reviews .r-card { width: 240px; padding: 1rem 1.1rem; }
#reviews .r-card__text { font-size: 0.82rem; }
#reviews .r-zone {
gap: 10px;
margin-top: 0;
flex: 1 1 auto;
min-height: 0;
}
#reviews .r-zone::before, #reviews .r-zone::after { width: 40px; }
#reviews .r-footer { padding: 0.8rem 1.5rem 1.5rem; }
}
@media (max-width: 420px) {
#reviews .r-header { padding: 1.75rem 1.25rem 0.9rem; }
#reviews .r-header__title { font-size: clamp(1.95rem, 8.4vw, 2.35rem); }
#reviews .r-card { width: 220px; }
}
@media (max-width: 768px) and (max-height: 700px) {
#reviews .r-header { padding-top: 1.4rem; padding-bottom: 0.7rem; }
#reviews .r-header__title { font-size: clamp(1.85rem, 7.2vw, 2.2rem); }
#reviews .r-card { padding: 0.85rem 1rem; }
#reviews .r-card__text { font-size: 0.78rem; line-height: 1.4; }
#reviews .r-footer { padding-top: 0.55rem; padding-bottom: 1rem; }
}
@media (min-width: 1200px) {
#reviews .r-header { padding: min(3rem, 6.2svh) 3rem min(2rem, 4.2svh); }
#reviews .r-card { width: 320px; }
#reviews .r-zone::before, #reviews .r-zone::after { width: 120px; }
#reviews .r-footer { padding: min(1.5rem, 3.2svh) 3rem min(2.5rem, 5.2svh); }
}
@media (min-width: 1024px) and (max-height: 460px) {
#reviews .r-header__title { font-size: clamp(2.2rem, min(9vw, 12.5svh), 6rem); }
}
}
@layer sections{
@keyframes ctaStepIn {
from { opacity: 0; transform: translateY(12px); }
to   { opacity: 1; transform: translateY(0); }
}
#cta {
height: calc(100svh + var(--gap, 0px));
height: calc(100dvh + var(--gap, 0px));
min-height: 0;
background: var(--bg);
}
#cta .c-content {
position: absolute;
top: var(--gap, 0px); left: 0; right: 0; bottom: 0;
display: flex;
flex-direction: column;
}
#cta .rangoli { position: absolute; pointer-events: none; z-index: 1; }
#cta .rangoli--tr {
top: -10px; right: -10px;
width: 140px; height: 140px;
background: radial-gradient(circle, rgba(212,160,48,0.06) 1.5px, transparent 1.5px) 0 0 / 16px 16px;
border-radius: 50%;
}
#cta .c-promise {
padding: 3rem 2rem 2.2rem;
position: relative; z-index: 10;
transition: padding 0.75s var(--ease);
flex-shrink: 0;
}
#cta .c-promise::after {
content: '';
position: absolute; bottom: 0; left: 2rem; right: 2rem; height: 1px;
background: rgba(250,246,240,0.08);
transition: opacity 0.4s var(--ease);
}
#cta .c-promise--compressed {
padding: 1.4rem 2rem 1.2rem;
}
#cta .c-promise--compressed::after { opacity: 0; }
#cta .c-promise--compressed .c-promise__title {
font-size: 1.6rem;
margin-bottom: 0;
}
#cta .c-promise--compressed .c-promise__title em {
font-size: 1.6rem;
}
#cta .c-promise--compressed .c-promise__trust { margin-top: 0.3rem; }
#cta .c-promise__title {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: clamp(2.8rem, 10vw, 4.2rem);
line-height: 1.0;
letter-spacing: -0.03em;
color: var(--text);
margin-bottom: 0.35em;
opacity: 0;
animation: fadeUp 0.8s var(--ease) 0.15s forwards;
transition: font-size 0.75s var(--ease), margin 0.75s var(--ease);
}
#cta .c-promise__title em {
font-family: 'Playfair Display', Georgia, serif;
font-weight: 400;
font-style: italic;
color: var(--accent);
transition: font-size 0.75s var(--ease);
}
#cta .c-promise__rule {
display: flex; align-items: center; gap: 0.7rem;
margin: 1.6rem 0;
opacity: 0;
animation: fadeUp 0.7s var(--ease) 0.35s forwards;
transition: opacity 0.4s var(--ease), margin 0.4s var(--ease);
}
#cta .c-promise__rule::before,
#cta .c-promise__rule::after {
content: '';
flex: 1;
height: 1px;
background: rgba(250,246,240,0.08);
}
#cta .c-promise__rule svg {
width: 8px; height: 8px;
color: var(--sand);
flex-shrink: 0;
}
#cta .c-promise__sub {
font-family: 'Newsreader', Georgia, serif;
font-weight: 400; font-style: italic;
font-size: clamp(1.15rem, 3.8vw, 1.5rem);
color: var(--sand);
line-height: 1.4;
opacity: 0;
animation: fadeUp 0.7s var(--ease) 0.5s forwards;
transition: opacity 0.4s var(--ease);
}
#cta .c-promise__trust {
display: flex; align-items: center; gap: 0.6rem;
margin-top: 1.8rem;
opacity: 0;
animation: fadeUp 0.7s var(--ease) 0.65s forwards;
transition: margin-top 0.4s var(--ease);
}
#cta .c-promise--compressed .c-promise__break { display: inline; }
#cta .c-trust__stars { display: flex; gap: 4px; }
#cta .c-trust__stars svg {
width: 14px; height: 14px;
fill: #E8C858;
}
#cta .c-trust__label {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 700;
font-size: 0.65rem;
letter-spacing: 0.08em;
color: var(--sand);
}
#cta .c-interactive {
flex: 1;
display: flex;
flex-direction: column;
min-height: 0;
position: relative;
}
#cta .c-step {
display: none;
flex-direction: column;
width: 100%; height: 100%;
padding: 2rem 2rem 2.4rem;
position: relative;
flex: 1;
min-height: 0;
}
#cta .c-step.active {
display: flex;
animation: ctaStepIn 0.75s var(--ease) forwards;
}
#cta .c-step-content {
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
margin-top: auto;
padding-bottom: 0.4rem;
gap: 2rem;
}
@media (min-width: 1024px) {
#cta .c-step {
position: absolute;
inset: 0;
width: auto;
height: auto;
overflow: hidden;
}
}
#cta .c-back-btn {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 700; font-size: 0.65rem;
letter-spacing: 0.12em; text-transform: uppercase;
color: #FAF6F0; background: #191613;
padding: 0.55rem 1.1rem; border-radius: 100px;
border: 1px solid rgba(250, 246, 240, 0.1);
cursor: pointer;
display: flex; align-items: center; gap: 0.4rem;
transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease), background 0.3s var(--ease), border-color 0.3s var(--ease);
align-self: flex-end;
margin-bottom: -0.8rem;
box-shadow: 0 4px 12px rgba(25, 22, 19, 0.1);
}
#cta .c-back-btn:hover {
color: #FAF6F0;
background: #25211D;
border-color: rgba(250, 246, 240, 0.2);
transform: scale(1.03);
box-shadow: 0 6px 18px rgba(25, 22, 19, 0.18);
}
#cta .c-back-btn svg { width: 14px; height: 14px; transition: transform 0.3s var(--ease); }
#cta .c-back-btn:hover svg { transform: translateX(-3px); }
#cta .c-step-1 {
justify-content: flex-end;
align-items: center;
padding-bottom: 3rem;
}
#cta .c-cta-main {
width: 100%; max-width: 400px;
background: #191613; color: #FAF6F0;
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800; font-size: 1.05rem;
letter-spacing: 0.05em; text-transform: uppercase;
padding: 1.6rem 2.2rem;
border: 1px solid #191613; border-radius: 18px;
cursor: pointer;
display: flex; justify-content: space-between; align-items: center;
transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
position: relative; overflow: hidden;
}
#cta .c-cta-main::before {
display: none;
}
#cta .c-cta-main span, #cta .c-cta-main svg { position: relative; z-index: 2; }
#cta .c-cta-main svg { transition: transform 0.3s var(--ease); }
#cta .c-cta-main:hover svg { transform: translateX(4px); }
#cta .c-details-main {
width: 100%; max-width: 400px;
background: var(--accent); color: #191613;
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800; font-size: 1.05rem;
letter-spacing: 0.05em; text-transform: uppercase;
padding: 1.5rem 2.2rem;
border: 1px solid var(--accent); border-radius: 18px;
text-decoration: none;
display: flex; justify-content: space-between; align-items: center;
transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
margin-top: 0.8rem;
}
#cta .c-details-main::before {
display: none;
}
#cta .c-details-main svg { transition: transform 0.3s var(--ease); }
#cta .c-details-main:hover svg { transform: translateX(4px); }
#cta .c-contact-row {
display: flex; gap: 0.5rem;
width: 100%; max-width: 400px;
margin-top: 1rem;
}
#cta .c-contact-btn {
flex: 1;
display: flex; align-items: center; justify-content: center; gap: 0.35rem;
padding: 0.85rem 0.5rem;
border-radius: 100px;
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 600; font-size: 0.65rem;
letter-spacing: 0.04em; text-transform: uppercase;
border: none; cursor: pointer;
background: #6A6A50; color: var(--text);
transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
text-decoration: none;
white-space: nowrap;
min-width: 0;
}
#cta .c-contact-btn svg { width: 14px; height: 14px; flex-shrink: 0; }
#cta .c-contact-email {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.45rem;
width: 100%;
max-width: 400px;
margin-top: 1rem;
padding: 0.2rem 0.35rem;
font-family: 'Plus Jakarta Sans', 'Noto Sans', sans-serif;
font-weight: 400;
font-size: 0.72rem;
letter-spacing: 0.07em;
line-height: 1.35;
color: rgba(250, 246, 240, 0.62);
text-decoration: none;
border-radius: 4px;
transition: color var(--dur, 0.32s) var(--ease),
gap var(--dur, 0.32s) var(--ease);
}
#cta .c-contact-email__icon {
width: 13px;
height: 13px;
flex-shrink: 0;
opacity: 0.9;
transition: opacity var(--dur, 0.32s) var(--ease),
transform var(--dur, 0.32s) var(--ease);
}
#cta .c-contact-email__addr {
min-width: 0;
}
@media (hover: hover) and (pointer: fine) {
#cta .c-contact-email:hover {
color: #E8C56A;
}
#cta .c-contact-email:hover .c-contact-email__icon {
opacity: 1;
transform: translateY(-0.5px);
}
}
#cta .c-contact-email:focus-visible {
outline: 1px solid rgba(232, 197, 106, 0.65);
outline-offset: 4px;
color: rgba(250, 246, 240, 0.88);
}
#cta .c-contact-email:active {
color: rgba(250, 246, 240, 0.78);
}
#cta .c-cta-main:hover,
#cta .c-details-main:hover,
#cta .c-contact-btn:hover {
transform: scale(1.02);
box-shadow: 0 8px 24px rgba(25, 22, 19, 0.15);
}
#cta .c-step-2 { padding-top: 1.2rem; }
#cta .c-form__head { align-self: flex-start; }
#cta .c-form__title {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: clamp(1.9rem, 6vw, 2.3rem);
line-height: 1.05;
letter-spacing: -0.02em;
color: var(--text);
}
#cta .c-form__sub {
font-family: 'Newsreader', Georgia, serif;
font-weight: 400; font-style: italic;
font-size: clamp(0.95rem, 3.4vw, 1.1rem);
color: var(--sand);
margin-top: 0.4rem;
max-width: 34ch;
}
#cta .c-form__fields {
width: 100%; max-width: 400px;
align-self: center;
display: flex; flex-direction: column;
gap: 1.5rem;
}
#cta .c-input-group { width: 100%; }
#cta .c-input-group label {
display: block;
font-family: 'Bricolage Grotesque', sans-serif;
font-size: 0.6rem; font-weight: 700;
letter-spacing: 0.12em; text-transform: uppercase;
color: var(--sand); margin-bottom: 0.35rem;
}
#cta .c-input-group input {
width: 100%; padding: 0.75rem 0.15rem;
background: transparent;
border: none;
border-bottom: 1.5px solid rgba(250,246,240,0.16);
border-radius: 0;
font-family: 'Bricolage Grotesque', sans-serif;
font-size: 1.15rem; color: var(--text);
transition: border-color var(--dur) var(--ease-out);
}
#cta .c-input-group input:focus { outline: none; border-bottom-color: var(--accent); }
#cta .c-input-group input::placeholder { color: rgba(184,176,160,0.4); }
#cta .c-form-actions {
width: 100%; max-width: 400px;
align-self: center;
display: flex; flex-direction: column;
gap: 1.1rem; align-items: center;
}
#cta .c-confirm-btn {
width: 100%; max-width: 400px;
background: #2A2520; color: #FAF6F0;
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800; font-size: 1rem;
letter-spacing: 0.05em; text-transform: uppercase;
padding: 1.5rem 2.2rem; border: none; border-radius: 18px;
cursor: pointer;
display: flex; justify-content: space-between; align-items: center;
transition: all 0.5s var(--ease);
position: relative; overflow: hidden;
align-self: center;
}
#cta .c-confirm-btn::before {
content: '';
position: absolute; inset: 0;
background: #D4A030;
transform: scaleY(0);
transform-origin: bottom;
transition: transform 0.6s var(--ease);
z-index: 1;
}
#cta .c-confirm-btn:hover::before { transform: scaleY(1); }
#cta .c-confirm-btn span, #cta .c-confirm-btn svg { position: relative; z-index: 2; }
#cta .c-confirm-btn svg { transition: transform 0.4s var(--ease); }
#cta .c-confirm-btn:hover svg { transform: translateX(6px); }
#cta .c-confirm-btn:disabled { opacity: 0.45; cursor: not-allowed; }
#cta .c-confirm-btn:disabled::before { display: none; }
#cta .c-form__note {
display: flex; align-items: center; gap: 0.5rem;
font-family: 'Newsreader', Georgia, serif;
font-size: 0.82rem; color: var(--sand);
line-height: 1.5;
align-self: center;
}
#cta .c-form__note svg {
width: 13px; height: 13px;
color: var(--accent);
flex-shrink: 0;
}
#cta .c-form__error {
position: fixed;
left: 50%;
bottom: 24px;
z-index: 700;
width: min(340px, calc(100vw - 32px));
padding: 0.78rem 1rem;
border: 1px solid rgba(200,75,49,0.16);
border-radius: 10px;
background: rgba(255,247,244,0.96);
color: #8F3424;
box-shadow: 0 12px 34px rgba(25,22,19,0.16);
font-family: 'Newsreader', Georgia, serif;
font-size: 0.84rem;
font-style: italic;
line-height: 1.35;
text-align: center;
opacity: 0;
pointer-events: none;
transform: translate(-50%, 10px);
transition: opacity 0.25s var(--ease), transform 0.25s var(--ease);
}
#cta .c-form__error.is-visible {
opacity: 1;
transform: translate(-50%, 0);
}
#cta .c-step-3 {
justify-content: center;
align-items: center;
}
#cta .c-step-3.active {
display: flex;
animation: none;
}
#cta .c-sent {
display: flex; flex-direction: column; align-items: center;
text-align: center;
width: 100%; max-width: 400px;
gap: 0.9rem;
}
#cta .c-sent__mark {
width: 62px; height: 62px;
margin-bottom: 0.3rem;
opacity: 0;
transform: scale(0);
}
#cta .c-step-3.active .c-sent__mark {
animation: ctaPopIn 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
#cta .c-sent__mark svg { width: 100%; height: 100%; display: block; }
#cta .c-sent__ring,
#cta .c-sent__tick {
fill: none;
stroke: var(--accent);
stroke-dasharray: 1;
stroke-dashoffset: 1;
}
#cta .c-sent__ring {
stroke-width: 2;
}
#cta .c-step-3.active .c-sent__ring {
animation: sentDraw 0.5s var(--ease) 0.1s forwards;
}
#cta .c-sent__tick {
stroke-width: 3;
stroke-linecap: round; stroke-linejoin: round;
}
#cta .c-step-3.active .c-sent__tick {
animation: sentDraw 0.45s var(--ease) 0.45s forwards;
}
@keyframes sentDraw { to { stroke-dashoffset: 0; } }
@keyframes ctaPopIn {
from { transform: scale(0); opacity: 0; }
to   { transform: scale(1); opacity: 1; }
}
@keyframes ctaSlideUp {
from { transform: translateY(15px); opacity: 0; }
to   { transform: translateY(0); opacity: 1; }
}
#cta .c-sent__title {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
font-size: clamp(2rem, 7vw, 2.6rem);
letter-spacing: -0.02em;
color: var(--text);
opacity: 0;
transform: translateY(12px);
}
#cta .c-step-3.active .c-sent__title {
animation: ctaSlideUp 0.6s var(--ease) 0.35s forwards;
}
#cta .c-sent__msg {
font-family: 'Newsreader', Georgia, serif;
font-size: clamp(0.98rem, 3.6vw, 1.1rem);
line-height: 1.5;
color: var(--sand);
max-width: 30ch;
opacity: 0;
transform: translateY(12px);
}
#cta .c-step-3.active .c-sent__msg {
animation: ctaSlideUp 0.6s var(--ease) 0.45s forwards;
}
#cta .c-sent__actions {
display: flex; gap: 0.7rem;
width: 100%; max-width: 400px;
margin-top: 0.9rem;
opacity: 0;
transform: translateY(12px);
}
#cta .c-step-3.active .c-sent__actions {
animation: ctaSlideUp 0.6s var(--ease) 0.55s forwards;
}
#cta .c-sent__wa,
#cta .c-sent__done {
flex: 1;
display: flex; align-items: center; justify-content: center; gap: 0.4rem;
padding: 1rem;
border-radius: 100px;
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 700; font-size: 0.72rem;
letter-spacing: 0.06em; text-transform: uppercase;
border: none; cursor: pointer;
text-decoration: none;
transition: all 0.3s var(--ease);
}
#cta .c-sent__wa { background: var(--accent); color: #2A2520; }
#cta .c-sent__done { background: rgba(250,246,240,0.08); color: var(--text); }
#cta .c-sent__wa:hover { filter: brightness(1.06); transform: translateY(-1px); }
#cta .c-sent__done:hover { background: rgba(250,246,240,0.16); transform: translateY(-1px); }
#cta .c-sent__wa svg { width: 14px; height: 14px; }
#cta .c-cta-main:active,
#cta .c-confirm-btn:active,
#cta .c-contact-btn:active,
#cta .c-sent__wa:active,
#cta .c-sent__done:active,
#cta .c-back-btn:active {
transform: scale(0.97);
transition-duration: var(--dur-fast);
}
@media (prefers-reduced-motion: reduce) {
#cta .c-sent__ring,
#cta .c-sent__tick { animation: none; stroke-dashoffset: 0; }
}
@media (max-width: 768px) {
#cta .c-promise { padding: 2.5rem 1.5rem 1.8rem; }
#cta .c-step { padding: 1.5rem 1.5rem 2rem; }
}
@media (max-width: 420px) {
#cta .c-promise__title { font-size: 2.4rem; }
}
@media (min-width: 1024px) {
#cta .c-content {
flex-direction: row;
}
#cta .c-promise {
flex: 0 0 45%;
display: flex;
flex-direction: column;
justify-content: center;
padding: 4rem;
border-right: 1px solid rgba(250,246,240,0.08);
}
#cta .c-promise--compressed { padding: 4rem; }
#cta .c-promise--compressed .c-promise__title { font-size: clamp(3.5rem, 5vw, 6rem); margin-bottom: 0.15em; }
#cta .c-promise--compressed .c-promise__title em { font-size: clamp(3.5rem, 5vw, 6rem); }
#cta .c-promise--compressed .c-promise__break { display: inline; }
#cta .c-promise--compressed .c-promise__rule { display: flex; }
#cta .c-promise--compressed .c-promise__sub { display: block; }
#cta .c-promise--compressed .c-promise__trust { margin-top: 2.5rem; }
#cta .c-promise::after { display: none; }
#cta .c-promise__title { font-size: clamp(3.5rem, 5vw, 6rem); line-height: 0.92; margin-bottom: 0.15em; }
#cta .c-promise__sub { font-size: 1.8rem; }
#cta .c-promise__trust { margin-top: 2.5rem; }
#cta .c-trust__stars svg { width: 16px; height: 16px; }
#cta .c-trust__label { font-size: 0.72rem; }
#cta .c-interactive { flex: 1 1 55%; overflow: hidden; min-width: 0; }
#cta .c-step { padding: 3rem 3.5rem 3.5rem; }
#cta .c-step-1 {
justify-content: center;
align-items: center;
padding-bottom: 3.5rem;
}
#cta .c-cta-main { max-width: 420px; border-radius: 100px; padding: 2rem 2.5rem; font-size: 1.15rem; }
#cta .c-details-main { max-width: 420px; border-radius: 100px; padding: 1.8rem 2.5rem; font-size: 1.1rem; }
#cta .c-contact-row { max-width: 420px; }
#cta .c-contact-email {
max-width: 420px;
font-size: 0.76rem;
letter-spacing: 0.09em;
margin-top: 1.15rem;
gap: 0.5rem;
}
#cta .c-contact-email__icon {
width: 14px;
height: 14px;
}
#cta .c-back-btn { position: absolute; top: 1rem; right: 1.5rem; align-self: auto; margin-bottom: 0; }
#cta .c-step-2 { justify-content: center; }
#cta .c-step-2 .c-step-content { margin-top: 0; gap: 2.4rem; }
#cta .c-form__title { font-size: clamp(2.4rem, 3.4vw, 3.2rem); }
#cta .c-form__sub { font-size: 1.2rem; }
#cta .c-form__fields { max-width: 440px; gap: 1.8rem; }
#cta .c-form-actions { max-width: 440px; }
#cta .c-input-group input { font-size: 1.25rem; padding: 0.85rem 0.15rem; }
#cta .c-sent__mark { width: 74px; height: 74px; }
#cta .c-sent__title { font-size: clamp(2.6rem, 3.6vw, 3.4rem); }
#cta .c-sent__msg { font-size: 1.2rem; }
#cta .c-sent__actions { max-width: 440px; }
}
}
@layer sections{
@media (max-width: 768px) {
body {
padding-left: env(safe-area-inset-left);
padding-right: env(safe-area-inset-right);
}
body {
text-rendering: optimizeLegibility;
-webkit-text-size-adjust: 100%;
}
#weddings .text-upper {
padding: 2.4rem 1.8rem 1.2rem;
}
#events .e-text-top {
padding: 2.4rem 1.8rem 1rem;
}
#events .e-mobile .e-hall-stats {
padding: 1.5rem 1.8rem 2.1rem;
}
#events .e-mobile .e-hall-stats::before {
left: 1.8rem;
right: 1.8rem;
}
.ye-wrap { padding: 2.6rem 1.8rem 2.5rem; }
.ye-body { gap: 1.5rem; margin-top: 1.6rem; }
#reviews .r-header {
padding: 2.2rem 1.8rem 1.15rem;
}
#reviews .r-header__title {
overflow: visible;
}
#reviews .r-card {
width: 250px;
padding: 1.1rem 1.2rem;
border-radius: 16px;
}
#reviews .r-card__text {
font-size: 0.84rem;
line-height: 1.55;
}
#reviews .r-card__name {
font-size: 0.58rem;
}
#reviews .r-footer {
padding: 1rem 1.8rem 1.6rem;
text-align: center;
}
#reviews .r-zone {
gap: 12px;
margin-top: 0.2rem;
}
#reviews .r-marquee {
gap: 12px;
}
#cta .c-promise {
padding: 2.6rem 1.8rem 1.8rem;
}
#cta .c-step {
padding: 1.6rem 1.8rem 2.2rem;
}
#cta .c-contact-row {
gap: 0.6rem;
}
#cta .c-contact-btn {
padding: 0.9rem 0.6rem;
font-size: 0.62rem;
border-radius: 14px;
}
}
@media (max-width: 420px) {
#weddings .text-upper {
padding: 2rem 1.5rem 1rem;
}
#events .e-text-top {
padding: 2rem 1.5rem 0.8rem;
}
.s-v2-visual {
margin: 1.2rem 1rem 0;
}
.s-v2-info {
padding: 1.5rem 1.5rem 1.3rem;
}
.ye-wrap { padding: 2.2rem 1.5rem 2.2rem; }
#reviews .r-header {
padding: 2rem 1.5rem 1rem;
}
#reviews .r-card {
width: 230px;
}
#cta .c-promise {
padding: 2.2rem 1.5rem 1.5rem;
}
}
@media (max-width: 1023px) and (max-height: 560px) {
#weddings .text-upper { padding: 1rem 1.5rem 0.4rem; }
#weddings .title__hero,
#weddings .title__spacer,
#weddings .title__hero--accent { font-size: min(6.4vw, 10svh); }
#weddings .strip-anchor { padding: calc(28svh + 2rem) 0 calc(7.1svh + 3.5rem); }
#weddings .venue-stats { bottom: 0.8rem; padding-top: 0.9rem; }
#weddings .venue-stats__num { font-size: min(4.4vw, 7.4svh); }
#weddings .venue-stats__label { font-size: 0.55rem; }
#weddings .venue-stats__line { height: 2.6rem; }
#events .e-text-top { padding: 1.1rem 1.5rem 0.4rem; }
#events .e-gallery__item--hero { height: clamp(120px, 44svh, 280px); }
#events .e-gallery__item--tall { height: clamp(130px, 50svh, 300px); }
#events .e-gallery__item--wide { height: clamp(110px, 40svh, 260px); }
#events .e-gallery__item--sq   { height: clamp(120px, 44svh, 280px); }
#events .e-mobile .e-hall-stats { padding: 0.9rem 1.8rem 1.4rem; }
.s-v2-visual { flex-basis: 38svh; }
.s-v2-title { font-size: 1.5rem; }
.s-v2-info { padding: 0.8rem 1.5rem 0.7rem; }
.s-v2-stats { padding-top: 1rem; }
.s-v2-rates { margin-top: 1rem; padding-top: 1rem; }
.s-v2-stat,
.s-v2-tier { gap: 0.4rem; }
.s-v2-stat__val { font-size: clamp(1.5rem, 7.2svh, 2rem); }
.s-v2-tier__price { font-size: clamp(1.25rem, 6svh, 1.7rem); }
.s-v2-stat__lbl,
.s-v2-tier__type { font-size: 0.56rem; }
#cta .c-promise { padding: 0.9rem 1.5rem 0.6rem; }
#cta .c-promise__title { font-size: clamp(1.5rem, min(5vw, 9svh), 2.3rem); margin-bottom: 0.2em; }
#cta .c-promise__rule,
#cta .c-promise__sub { display: none; }
#cta .c-promise__trust { margin-top: 0.5rem; }
#cta .c-step { padding: 0.8rem 1.5rem 1rem; }
#cta .c-step-1 { padding-bottom: 1.2rem; }
#cta .c-contact-btn { padding: 0.7rem 0.5rem; font-size: 0.58rem; }
#cta .c-contact-row { gap: 0.5rem; }
#cta .c-form__head { margin-bottom: 0.1rem; }
#cta .c-form__title { font-size: clamp(1.2rem, 3vw, 1.6rem); line-height: 1.02; }
#cta .c-form__sub { display: none; }
#cta .c-form__fields { gap: 0.5rem; }
#cta .c-step-2 .c-step-content { gap: 0.9rem; }
#cta .c-input-group label { margin-bottom: 0.1rem; }
#cta .c-input-group input { padding: 0.35rem 0.1rem; font-size: 0.95rem; }
#cta .c-form-actions { gap: 0.4rem; }
#cta .c-confirm-btn { padding: 0.72rem 1.15rem; font-size: 0.88rem; }
#cta .c-form__note { font-size: 0.68rem; }
#cta .c-step-2 { overflow-y: auto; }
}
@media (min-width: 769px) and (max-width: 1023px) and (max-height: 999px) {
#why-us .wu-container {
grid-template-columns: 1fr 1fr;
gap: clamp(2rem, 5vw, 6rem);
padding: min(3rem, 6.2svh) 2.5rem;
}
}
@media (min-width: 769px) and (max-width: 1023px) and (max-height: 700px) {
#why-us .wu-title__a,
#why-us .wu-title__b { font-size: clamp(2rem, min(5vw, 11.5svh), 3.4rem); }
#why-us .wu-desc { font-size: clamp(0.8rem, 3.6svh, 1rem); line-height: 1.5; margin-bottom: 1rem; }
#why-us .wu-signature { font-size: clamp(1.4rem, 6svh, 2rem); }
#why-us .wu-sign-off { font-size: 0.75rem; }
}
}
@layer sections{
.lightbox {
position: fixed;
inset: 0;
z-index: 2000;
display: grid;
place-items: center;
padding: max(4.5vw, 1.25rem);
background-color: rgba(20, 16, 12, 0.86);
background-image: radial-gradient(
130% 120% at 50% 42%,
rgba(46, 35, 24, 0.55) 0%,
rgba(20, 16, 12, 0.90) 62%,
rgba(14, 11, 8, 0.94) 100%
);
opacity: 0;
visibility: hidden;
transition: opacity var(--dur) var(--ease), visibility var(--dur) var(--ease);
-webkit-tap-highlight-color: transparent;
}
.lightbox.is-open {
opacity: 1;
visibility: visible;
}
.lightbox__img {
max-width: min(92vw, 1100px);
max-height: 88svh;
width: auto;
height: auto;
object-fit: contain;
border-radius: 8px;
background: #14100c;
box-shadow:
0 28px 70px rgba(0, 0, 0, 0.55),
0 6px 18px rgba(0, 0, 0, 0.40),
0 0 0 1px rgba(250, 246, 240, 0.10),
0 0 0 6px rgba(250, 246, 240, 0.04);
cursor: default;
opacity: 0.5;
transform: scale(0.94) translateY(10px);
transition: transform var(--dur) var(--ease), opacity var(--dur) var(--ease);
will-change: transform, opacity;
}
.lightbox.is-open .lightbox__img {
opacity: 1;
transform: scale(1) translateY(0);
}
.lightbox__close {
position: absolute;
top: max(1rem, env(safe-area-inset-top));
right: max(1rem, env(safe-area-inset-right));
width: 46px;
height: 46px;
display: grid;
place-items: center;
padding: 0;
margin: 0;
border: 1px solid rgba(250, 246, 240, 0.28);
border-radius: 50%;
background: rgba(250, 246, 240, 0.10);
color: #FAF6F0;
font-family: system-ui, -apple-system, sans-serif;
font-size: 1.55rem;
font-weight: 300;
line-height: 1;
cursor: pointer;
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
transition:
transform var(--dur) var(--ease),
background var(--dur) var(--ease),
color var(--dur) var(--ease),
border-color var(--dur) var(--ease);
}
.lightbox__close:hover {
background: #FAF6F0;
color: #191613;
border-color: #FAF6F0;
transform: rotate(90deg) scale(1.06);
}
.lightbox__close:active {
transform: rotate(90deg) scale(0.95);
}
.lightbox__close:focus-visible {
outline: 2px solid var(--marigold, #D4930D);
outline-offset: 3px;
}
@media (hover: hover) and (pointer: fine) {
section:not(#yourevent):not(#why-us) img {
cursor: zoom-in;
}
}
#weddings .strip__img img,
#weddings .wd-strip__img img,
#events .e-gallery__item img,
#events .ed-gallery-item img {
pointer-events: auto;
}
@media (prefers-reduced-motion: reduce) {
.lightbox,
.lightbox__img,
.lightbox__close {
transition: none;
}
.lightbox__img {
transform: none;
opacity: 1;
}
.lightbox__close:hover {
transform: none;
}
}
}
@layer sections{
@media (min-width: 1024px) {
#weddings .wd-venue-stats {
--reg-num: clamp(21px, min(2.35vw, 4.2svh), 42px);
--reg-label: clamp(8px, min(0.62vw, 1.1svh), 10px);
--reg-ink: 25, 22, 19;
--reg-frame-a: 0.26;
--reg-gutter-a: 0.13;
}
#stays .sd-stay-stats,
#stays .s-room-rates {
--reg-num: clamp(20px, min(2.1vw, 3.8svh), 38px);
--reg-label: clamp(8px, min(0.62vw, 1.1svh), 10px);
--reg-ink: 31, 24, 16;
--reg-frame-a: 0.26;
--reg-gutter-a: 0.13;
max-width: 24rem;
}
#events .ed-hall-stats {
--reg-num: clamp(14px, min(1.5vw, 2.7svh), 29px);
--reg-label: clamp(8px, min(0.62vw, 1.1svh), 10px);
--reg-ink: 25, 22, 19;
--reg-frame-a: 0.26;
--reg-gutter-a: 0.13;
}
#weddings .wd-venue-stats,
#stays .sd-stay-stats,
#events .ed-hall-stats {
display: flex;
flex-direction: column;
align-items: stretch;
width: 100%;
padding: 0;
}
#weddings .wd-venue-stats {
margin: min(30px, 3.75svh) 0 0;
border: 0;
border-bottom: 1px solid rgba(var(--reg-ink), var(--reg-frame-a));
}
#events .ed-hall-stats {
margin: min(30px, 3.75svh) 0 0;
border: 0;
border-bottom: 1px solid rgba(var(--reg-ink), var(--reg-frame-a));
}
#stays .sd-stay-stats {
margin: 0;
border: 0;
border-bottom: 1px solid rgba(var(--reg-ink), var(--reg-gutter-a));
}
#weddings .wd-venue-stats__rule,
#stays .sd-stay-stats__rule,
#events .ed-hall-stats__rule {
width: 100%;
height: 1px;
margin: 0;
flex: 0 0 auto;
background: rgba(var(--reg-ink), var(--reg-frame-a));
}
#weddings .wd-venue-stats__row {
display: grid;
grid-template-columns: 1fr 1px 1fr 1px 1fr;
align-items: stretch;
gap: 0;
margin: 0;
}
#events .ed-hall-stats__row,
#stays .sd-stay-stats__row,
#stays .s-room-rates__row {
display: grid;
grid-template-columns: 1fr 1px 1fr;
align-items: stretch;
gap: 0;
margin: 0;
}
#weddings .wd-venue-stats .venue-stats__line,
#stays .sd-stay-stats .s-stay-stats__line,
#stays .s-room-rates .s-room-rates__sep,
#events .ed-hall-stats .e-hall-stats__line {
width: 1px;
height: auto;
align-self: stretch;
margin: 0;
flex: 0 0 auto;
background: rgba(var(--reg-ink), var(--reg-gutter-a));
}
#weddings .wd-venue-stats .venue-stats__item,
#stays .sd-stay-stats .s-stay-stats__item,
#stays .s-room-rates .s-room-rates__tier {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 0.30em;
padding: 0.46em 0.16em;
min-width: 0;
text-align: center;
font-size: var(--reg-num);
}
#events .ed-hall-stats .e-hall-stats__name {
display: block;
min-width: 0;
padding: 0.46em 0.35em;
text-align: center;
font-size: var(--reg-num);
}
#weddings .wd-venue-stats .venue-stats__num,
#stays .sd-stay-stats .s-stay-stats__num,
#stays .s-room-rates .s-room-rates__price,
#events .ed-hall-stats .e-hall-stats__name {
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 800;
letter-spacing: -0.035em;
line-height: 1;
color: var(--text);
white-space: nowrap;
}
#weddings .wd-venue-stats .venue-stats__num,
#stays .sd-stay-stats .s-stay-stats__num,
#stays .s-room-rates .s-room-rates__price {
display: block;
font-size: 1em;
}
#weddings .wd-venue-stats .venue-stats__unit,
#stays .sd-stay-stats .s-stay-stats__unit {
font-family: 'Playfair Display', Georgia, serif;
font-style: italic;
font-weight: 400;
font-size: 0.46em;
letter-spacing: 0;
color: var(--accent);
margin-left: 0.35em;
white-space: nowrap;
}
#stays .s-room-rates .s-room-rates__unit {
font-family: 'Bricolage Grotesque', sans-serif;
font-style: normal;
font-weight: 800;
font-size: 0.60em;
letter-spacing: -0.02em;
color: var(--text);
margin-right: 0.11em;
white-space: nowrap;
}
#weddings .wd-venue-stats .venue-stats__label,
#stays .sd-stay-stats .s-stay-stats__label,
#stays .s-room-rates .s-room-rates__type {
display: block;
font-family: 'Bricolage Grotesque', sans-serif;
font-weight: 600;
font-size: var(--reg-label);
letter-spacing: 0.26em;
text-indent: 0.13em;
text-transform: uppercase;
color: var(--sand);
line-height: 1;
white-space: nowrap;
}
#stays .sd-text-col .s-room-rates {
display: block;
width: 100%;
margin: 0;
padding: 0;
border: 0;
border-bottom: 1px solid rgba(var(--reg-ink), var(--reg-frame-a));
}
}
}
@layer placeholders{
.hero-marquee__img,
.strip__img,
.wd-strip__img {
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
.hero-marquee__img:has(img[src$="entrance-twilight.jpg"]),
.strip__img:has(img[src$="entrance-twilight.jpg"]),
.wd-strip__img:has(img[src$="entrance-twilight.jpg"]) {
background-image: url("data:image/webp;base64,UklGRrAAAABXRUJQVlA4IKQAAAAQBQCdASoYACAAPwl2tVMrpyUiqAqpcCEJQBhmgXrhLUDZaMeBZM5sC2p6WtwgGEeoAP7QYLS7yEcE2HhWVVfysZqb1PLFhvNuUSpWH/9r/u9zJcesz71am7G6cUBbGKc+XWNDVKqXWIp1lLkWghrW/sDC7VlLhH/NBnjxZOd9FvpHZX+ymfNK2pRc7ceXHFyN+QHdPN0F3vw1UUQv1u/0FU4AAA==");
}
.hero-marquee__img:has(img[src$="garden-grounds.jpg"]),
.strip__img:has(img[src$="garden-grounds.jpg"]),
.wd-strip__img:has(img[src$="garden-grounds.jpg"]) {
background-image: url("data:image/webp;base64,UklGRnYAAABXRUJQVlA4IGoAAABwBACdASoYACAAPwlsr0+rpaQiMBgMAXAhCUAYwIr97Trtpmhzn+CwmlYhwAD++FI4uze9/+X8zNUKYlQlB3ra/Q5mQ+16ndry9JC37ShSbqp3hnXrUcetVLVsAYT0ThtpIAmS2e5p8MAA");
}
.hero-marquee__img:has(img[src$="garden-view.jpg"]),
.strip__img:has(img[src$="garden-view.jpg"]),
.wd-strip__img:has(img[src$="garden-view.jpg"]) {
background-image: url("data:image/webp;base64,UklGRmAAAABXRUJQVlA4IFQAAACwAwCdASoYACAAPwlssE+rpaSiMBgMAXAhCWUAAQEJqdFlzZiwAAD+9I//iWGzlsHjzT3b3+6POla7dM4/Dej/mEmjmpNG86/b3HxSxurZSc4gAAA=");
}
.hero-marquee__img:has(img[src$="gardens.jpg"]),
.strip__img:has(img[src$="gardens.jpg"]),
.wd-strip__img:has(img[src$="gardens.jpg"]) {
background-image: url("data:image/webp;base64,UklGRt4AAABXRUJQVlA4INIAAACQBQCdASoYACAAPwl2sVGrpySisBgIAXAhCWIAqPQM6f3m0saIIbCvf2043epLhPbhgYaFAAD2vZ8lgL7uoIkxsawrivoaXlh+/gI1qSgJTeXa8lvWdxMMsk/jNkwWfes1qboAj3rwbqHyv/BXkm6lT6TuqQ2XeankIwhvZgOEvND0ZqEwZWPfQhbeeq7fVBB+kHyvHslYVBv0uf+TjAyjrBOdmOV2Vsn1VIjsWE+R6EStZR9qqUR7GDg4ndcbH2XDIGrI/DSLgB1/gHJ8QsPAAAA=");
}
.hero-marquee__img:has(img[src$="hall-chandelier.jpg"]),
.strip__img:has(img[src$="hall-chandelier.jpg"]),
.wd-strip__img:has(img[src$="hall-chandelier.jpg"]) {
background-image: url("data:image/webp;base64,UklGRqwAAABXRUJQVlA4IKAAAAAQBQCdASoYACAAPwl6sFOrp6QiqAqpcCEJQBadAkXQx2ytAt0+1YYWVF8Lbe9zNkkAAP4QE80ybx0EqxROp2yyjBXTzfZP7cLqq0DNqxXHdem5kUTvVpio9nZo6+nUiHCAmXEgHxbqOLn2PkxdnLU8njxrrfsYJRf/K1L/H7OwG/NGV3xZ1pYXlCNBS+Of6vdwchKrpOpEKnWrubykz4AA");
}
.hero-marquee__img:has(img[src$="hall-gold.jpg"]),
.strip__img:has(img[src$="hall-gold.jpg"]),
.wd-strip__img:has(img[src$="hall-gold.jpg"]) {
background-image: url("data:image/webp;base64,UklGRqYAAABXRUJQVlA4IJoAAAAwBQCdASoYACAAPwFsqE+rJiOiMAwBYCAJaADCgCKhDXFTB3+4VoNpqpze4leA9Kh3AAD+s4dQQnwOM+5iFpi3naMV46hvG4sewT9ejyOGJC66W2aFUj/Y7IQfL/RHNpKMNl0JDN86Ud94IuZAUhl1a1j3qLsUVVg3Lpp9s2/+ez6prhNXWTruYDqwbt/kDWkHIazO/rvPsgQA");
}
.hero-marquee__img:has(img[src$="lawn-evening.jpg"]),
.strip__img:has(img[src$="lawn-evening.jpg"]),
.wd-strip__img:has(img[src$="lawn-evening.jpg"]) {
background-image: url("data:image/webp;base64,UklGRpQAAABXRUJQVlA4IIgAAABwBACdASoYACAAPwlyr1ArpyQisAgBcCEJQBgbhDj0wGZkygx/azwyoxX+QAD+kkwW3sjrvJ2X4aQnr8v6HMxNv5VecBpB7esxICnp45tPyn+kT32xqTEg3IRtZ89J+6LE+liWzxGStuqDPdC65DHKK5bfY+FRdpTUQZcjFYWqhofyMcXCrgAA");
}
.hero-marquee__img:has(img[src$="lawn-grand.jpg"]),
.strip__img:has(img[src$="lawn-grand.jpg"]),
.wd-strip__img:has(img[src$="lawn-grand.jpg"]) {
background-image: url("data:image/webp;base64,UklGRsAAAABXRUJQVlA4ILQAAABwBACdASoYACAAPwl4sFOrpyQiqAqpcCEJagBWIounhxqbJ43DYlgsc8qxYAD+0g2rZp9/47a/Ko0+QvVPfUSGdCSs33E3c+8ziS4z7vBA+b1ST7tzOMFXeNaVv++JcdfSbiJ9jiODXuXpnMQXHkyVEb7WomF/Nv3bU6XcmES7b9MbeAvikdpG7CXOkrWVYaxCpMQQ+JLURoj45dnsbA1ZphMOyesAz6BkNEZh9vAbOrxIAAA=");
}
.hero-marquee__img:has(img[src$="lawn-night.jpg"]),
.strip__img:has(img[src$="lawn-night.jpg"]),
.wd-strip__img:has(img[src$="lawn-night.jpg"]) {
background-image: url("data:image/webp;base64,UklGRoIAAABXRUJQVlA4IHYAAACQBACdASoYACAAPwl0slGrpqSisBgIAXAhCWQAxvQErraHfBmvuHP+jDYk2AAA1FvW2jMbVNvd+h+0HyPqmgRWZ+Vn1QAHHh0h85KX15eVVOp20Mw8y99YOwrTXOHjD9cohb45taPvL5hjU3ExjDKRrlUAgAAA");
}
.hero-marquee__img:has(img[src$="lawn-palms.jpg"]),
.strip__img:has(img[src$="lawn-palms.jpg"]),
.wd-strip__img:has(img[src$="lawn-palms.jpg"]) {
background-image: url("data:image/webp;base64,UklGRpYAAABXRUJQVlA4IIoAAAAwBQCdASoYABIAPwl0q1ArpyOisBgMAXAhCWIXgAH/feUC32erLOZNQC+Kn1EWJb6PAAD3BCXrXu0oH1zYlyZjxAcmTtfukBa+waKv8GL27aRTmywr4Nj/T119gQ5k0xGCdtERGx7mWKLptpikpsyeCfGXL2HbeAApF7ZyrFwdYhasRFTGdYIhgAA=");
}
.hero-marquee__img:has(img[src$="lawn-view.jpg"]),
.strip__img:has(img[src$="lawn-view.jpg"]),
.wd-strip__img:has(img[src$="lawn-view.jpg"]) {
background-image: url("data:image/webp;base64,UklGRpIAAABXRUJQVlA4IIYAAACQBACdASoYABIAPv1qrE+rJiQjMAwBYB+JYgCnFCHfokU38Nu6DGaPTIMCdAAA/HsfoTPYvV3FL4fZl6OPRn1ceA+UKUaO10RKgk7501b14/iDUGWhxU8wUlLmAFPxyocK0eodK/2bIFY6a5R7z7vaboD7TxmK/hPQEZqknf2y0J+gRpmgAA==");
}
.hero-marquee__img:has(img[src$="lawn-wide.jpg"]),
.strip__img:has(img[src$="lawn-wide.jpg"]),
.wd-strip__img:has(img[src$="lawn-wide.jpg"]) {
background-image: url("data:image/webp;base64,UklGRs4AAABXRUJQVlA4IMIAAACwBQCdASoYACAAPwlssVKrpSQisBgIAXAhCWYAeQBT/BbC7O16Xc69W2DL+vPEyqYUQUGMo+AA/sP9srzl4HcGhbu8OW3YNV96MAmcJW4ee/0gK0eehrKKeGW//zqOAxAl/4Las7xWAwb2ofDtNSVT82S0c+V7cX4aCoNIBTqZE0oGwD47hAODxEPl2rCZea0DNSxhWhdtkZDr/AY572IApUzXOlOiirXwxpl7V8vZwSOhUrNrj/uJ3hUaxCmMagAAAA==");
}
.hero-marquee__img:has(img[src$="pool-deck.jpg"]),
.strip__img:has(img[src$="pool-deck.jpg"]),
.wd-strip__img:has(img[src$="pool-deck.jpg"]) {
background-image: url("data:image/webp;base64,UklGRgYBAABXRUJQVlA4IPoAAACwBQCdASoYACAAPwlssVKrpSSisBgIAXAhCWgAuwBpcErXpRpbg2IHU2bO6ZxjLhetkDgq5gAA/d13BJ0z1tNvCgtb53amsoIKhf/D6YADIuEUrWXfUrfggVSX5t5FiHdC0vO0e05tyNqAvLBhe+dJbS/LMkGyamBUhVy1HmvVfEqhCkNq4VwX1eyCdqSap3BXR03ACEmJUKUjJvYRBWuCBobsRmzRZ2EXGtHXM3I42vO8fQC9rX8CAXNpLeTJyesiS8CXXo6rGuLbGe4WvBTOjoCI51ePt98azthSqK2Plhf0R/ctpKv4GTFOcP70J/tVKdE2U+yjwAAA");
}
.hero-marquee__img:has(img[src$="pool-lawn.jpg"]),
.strip__img:has(img[src$="pool-lawn.jpg"]),
.wd-strip__img:has(img[src$="pool-lawn.jpg"]) {
background-image: url("data:image/webp;base64,UklGRvIAAABXRUJQVlA4IOYAAAAQBgCdASoYACAAPwl8tVSrp6SjKAgBcCEJZACdBAgOW9QtdluEPvJAjZyQXdRB/lV/ioH0Mwu8m+AA/tS0Uoo9MjiN4x/Dp7sWQwhqJnZ4a50ur9q9IlTsmK5LACVt0UQO/Ak3enmuEhSotGx0ajlIYz/ttLN8zGHeojxXlx41+zvzsL444v6NhGHAX6Y0RIlNKwek5XYlrhBzCmEXUayUfNXfKw4A8qC72DxW0CFCHkSHk+oxfiwW19grLTDi68nl/8zgFWkMiKXDgn0Bdi974rJwOYeTfo/8vZmRrb2limDAxF8AAA==");
}
.hero-marquee__img:has(img[src$="room-suite.jpg"]),
.strip__img:has(img[src$="room-suite.jpg"]),
.wd-strip__img:has(img[src$="room-suite.jpg"]) {
background-image: url("data:image/webp;base64,UklGRrgAAABXRUJQVlA4IKwAAAAQBQCdASoYACAAPwl2slMrpySiqAqpcCEJZgC7ADTiF7MgeWaX3qQkGt97I0+5QyPAAP7rQ48TFcYhgGmu2djm9qqh3KQrfdlg1HdNZ8W8rlKQQCpWLALruaTA7GrroCJXcjl/sZaFpDYl9toaHz8KV2Xxk6HbIlIujXsHA9RvzwqmHNHmJ9l3xrODL1FGLgM2RJtQRxpl/WC9MLJad6Sge8DC6YqfKi/uhAAA");
}
.hero-marquee__img:has(img[src$="water-feature.jpg"]),
.strip__img:has(img[src$="water-feature.jpg"]),
.wd-strip__img:has(img[src$="water-feature.jpg"]) {
background-image: url("data:image/webp;base64,UklGRsgAAABXRUJQVlA4ILwAAABQBQCdASoYACAAPwVorU+rpaQiN/VYAXAgiUAWI/I9jo1inxpjFo6yoLlQ/zfuyZ5OYKAAwtRl0dOGG+KpybKAiNR4+CdY8q3zys73l08i1E+AyZFIFvG6v+1pW/UpTApNoprZ4epBMOk0e3eYfYhOH1bv4ItDggfm/C4cFDJJspuTV3u4KZg5oc9rQxtdOfeunZcS/e17BiCx/j4L23ntUkb3PccTJ2SbDKqZzjLsjIOAgTUloL5S8sbAAA==");
}
}
@layer reveal{
.sr-hidden {
opacity: 0;
transform: translate3d(0, 50px, 0);
animation: none;
transition:
opacity 0.6s var(--ease),
transform 0.6s var(--ease);
}
.sr-hidden.sr-spring-left,
.sr-hidden.sr-spring-right,
.sr-hidden.sr-spring-up {
transition:
opacity 0.6s var(--ease),
transform 0.6s var(--ease-spring);
}
.sr-hidden.sr-calm-left,
.sr-hidden.sr-calm-right {
transition:
opacity 0.6s var(--ease),
transform 0.6s var(--ease);
}
.sr-hidden.sr-visible {
opacity: 1;
transform: none;
backface-visibility: visible;
}
.sr-hidden.sr-d1 { transition-delay: 0.18s; }
.sr-hidden.sr-d2 { transition-delay: 0.35s; }
.sr-hidden.sr-d3 { transition-delay: 0.50s; }
@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
.sr-left  { transform: translate3d(-70px, 0, 0) scale(0.98); }
.sr-right { transform: translate3d(70px, 0, 0) scale(0.98); }
.sr-widen { transform: scaleX(0.94); transform-origin: center; }
.sr-scale { transform: scale(0.94); }
.sr-spring-left {
transform: translate3d(-60px, 0, 0) rotate(-1.5deg) scale(0.97);
transform-origin: left center;
}
.sr-spring-right {
transform: translate3d(60px, 0, 0) rotate(1.5deg) scale(0.97);
transform-origin: right center;
}
.sr-spring-up {
transform: translate3d(0, 50px, 0) scale(0.96);
transform-origin: bottom center;
}
.sr-calm-left {
transform: translate3d(-30px, 0, 0) rotate(-0.5deg) scale(0.99);
transform-origin: left center;
}
.sr-calm-right {
transform: translate3d(30px, 0, 0) rotate(0.5deg) scale(0.99);
transform-origin: right center;
}
.ye-reveal {
opacity: 0;
transform: translate3d(0, 50px, 0) scale(0.96);
transform-origin: bottom center;
transition:
opacity 0.6s var(--ease),
transform 0.6s var(--ease-spring);
}
.ye-reveal.sr-visible {
opacity: 1;
transform: none;
backface-visibility: visible;
}
.ye-reveal.sr-d1 { transition-delay: 0.18s; }
.ye-reveal.sr-d2 { transition-delay: 0.35s; }
.ye-reveal.sr-d3 { transition-delay: 0.50s; }
}
@media (max-width: 1023px) {
.sr-hidden {
transform: translate3d(0, 24px, 0);
transition:
opacity 0.6s var(--ease),
transform 0.6s var(--ease);
}
.sr-hidden.sr-visible {
transform: none;
backface-visibility: visible;
}
.sr-hidden.sr-d1 { transition-delay: 0.10s; }
.sr-hidden.sr-d2 { transition-delay: 0.20s; }
.sr-hidden.sr-d3 { transition-delay: 0.30s; }
.sr-left, .sr-right, .sr-widen, .sr-scale,
.sr-spring-left, .sr-spring-right, .sr-spring-up,
.sr-calm-left, .sr-calm-right {
transform: translate3d(0, 24px, 0);
}
}
@media (prefers-reduced-motion: reduce) {
.sr-hidden {
transform: none;
transition-duration: 0.01s;
}
}
}
@layer motion{
@media (min-width: 1024px) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
.mx-mask {
display: inline-block;
overflow: hidden;
vertical-align: bottom;
padding-bottom: 0.2em;
margin-bottom: -0.2em;
}
.mx-mask__in { display: inline-block; }
.mx-arm .mx-mask__in {
transform: translate3d(0, 112%, 0);
transition: transform 0.9s var(--ease);
transition-delay: var(--d, 0ms);
will-change: transform;
backface-visibility: hidden;
}
.mx-arm.mx-in .mx-mask__in { transform: translate3d(0, 0, 0); }
.mx-arm.mx-done .mx-mask__in {
transform: none;
transition: none;
will-change: auto;
}
#weddings .wd-title-block.sr-hidden:not(.sr-visible),
#events .ed-title-block.sr-hidden:not(.sr-visible),
#why-us .wu-title.sr-hidden:not(.sr-visible),
#reviews .r-header__title.sr-hidden:not(.sr-visible),
#cta .c-promise__title.sr-hidden:not(.sr-visible) {
transform: translate3d(0, 14px, 0);
}
#yourevent .ye-reveal {
transition:
opacity 0.6s var(--ease),
transform 0.6s cubic-bezier(0.32, 1.08, 0.55, 1);
}
#why-us .wu-desc.sr-hidden:not(.sr-visible),
#cta .c-promise__trust.sr-hidden:not(.sr-visible) {
transform: translate3d(0, 18px, 0);
}
.mx-arm .wd-venue-stats__rule,
.mx-arm .ed-hall-stats__rule {
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.9s var(--ease) 0.5s;
will-change: transform;
}
.mx-arm.mx-in .wd-venue-stats__rule,
.mx-arm.mx-in .ed-hall-stats__rule { transform: scaleX(1); }
.mx-arm.mx-done .wd-venue-stats__rule,
.mx-arm.mx-done .ed-hall-stats__rule {
transform: none;
transition: none;
will-change: auto;
}
#stays .s-room-rates.mx-arm .s-room-rates__row > * {
opacity: 0;
transform: translate3d(0, 16px, 0) scale(0.97);
transition:
opacity 0.55s var(--ease),
transform 0.75s var(--ease-spring);
will-change: transform, opacity;
backface-visibility: hidden;
}
#stays .s-room-rates.mx-arm .s-room-rates__row > *:nth-child(1) { transition-delay: 0.10s; }
#stays .s-room-rates.mx-arm .s-room-rates__row > *:nth-child(2) { transition-delay: 0.20s; }
#stays .s-room-rates.mx-arm .s-room-rates__row > *:nth-child(3) { transition-delay: 0.30s; }
#stays .s-room-rates.mx-arm.mx-in .s-room-rates__row > * {
opacity: 1;
transform: translate3d(0, 0, 0) scale(1);
}
#stays .s-room-rates.mx-arm.mx-done .s-room-rates__row > * {
transform: none;
transition: none;
will-change: auto;
}
#why-us .wu-signature { position: relative; }
#why-us .wu-signature::after {
content: '';
position: absolute;
left: 0.05em; right: 0.05em; bottom: -0.14em;
height: 1.5px;
background: linear-gradient(to right, var(--accent), rgba(200, 75, 49, 0.15));
}
#why-us .wu-signature-block.mx-arm .wu-signature::after {
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.9s var(--ease) 0.55s;
will-change: transform;
}
#why-us .wu-signature-block.mx-arm.mx-in .wu-signature::after { transform: scaleX(1); }
#why-us .wu-signature-block.mx-arm.mx-done .wu-signature::after {
transform: none;
transition: none;
will-change: auto;
}
#cta .mx-arm .c-promise__rule::before,
#cta .mx-arm .c-promise__rule::after {
transform: scaleX(0);
transition: transform 0.9s var(--ease) 0.45s;
will-change: transform;
}
#cta .mx-arm .c-promise__rule::before { transform-origin: right center; }
#cta .mx-arm .c-promise__rule::after  { transform-origin: left center; }
#cta .mx-arm.mx-in .c-promise__rule::before,
#cta .mx-arm.mx-in .c-promise__rule::after { transform: scaleX(1); }
#cta .mx-arm.mx-done .c-promise__rule::before,
#cta .mx-arm.mx-done .c-promise__rule::after {
transform: none;
transition: none;
will-change: auto;
}
#cta .mx-arm .c-promise__rule svg {
transform: scale(0);
transition: transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 0.85s;
will-change: transform;
}
#cta .mx-arm.mx-in .c-promise__rule svg { transform: scale(1); }
#cta .mx-arm.mx-done .c-promise__rule svg {
transform: none;
transition: none;
will-change: auto;
}
#reviews .r-stars.mx-arm svg {
animation: none;
opacity: 0;
transform: scale(0.3);
transition:
opacity 0.4s var(--ease),
transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
transition-delay: var(--sd, 0ms);
will-change: transform, opacity;
}
#reviews .r-stars.mx-arm.mx-in svg {
opacity: 1;
transform: scale(1);
}
#reviews .r-stars.mx-arm.mx-done svg {
transform: none;
transition: none;
will-change: auto;
}
#reviews .r-card {
transition:
transform 0.5s var(--ease-out),
box-shadow 0.5s var(--ease-out);
}
#reviews .r-card:hover {
transform: translateY(-8px) rotate(1.6deg);
box-shadow:
0 20px 44px rgba(42, 38, 30, 0.13),
0 4px 12px rgba(42, 38, 30, 0.06);
}
#reviews .r-marquee--left .r-card:hover {
transform: translateY(-8px) rotate(-1.6deg);
}
.ye-card .mx-shine {
position: absolute;
inset: -45%;
z-index: 3;
pointer-events: none;
background: radial-gradient(
circle at center,
rgba(255, 250, 240, 0.20) 0%,
rgba(255, 250, 240, 0.06) 32%,
rgba(255, 250, 240, 0) 62%
);
opacity: 0;
transition: opacity 0.45s var(--ease-out);
}
.ye-card.mx-tilt .mx-shine { opacity: 1; }
.ye-card.mx-tilt {
box-shadow: 0 24px 54px rgba(0, 0, 0, 0.16), 0 5px 14px rgba(0, 0, 0, 0.07);
}
#cta .c-cta-main::before {
display: block;
content: '';
position: absolute;
inset: -45%;
z-index: 1;
background: radial-gradient(
circle at center,
rgba(196, 214, 150, 0.36) 0%,
rgba(140, 168, 96, 0.18) 28%,
rgba(90, 110, 70, 0.08) 50%,
rgba(90, 99, 72, 0) 68%
);
transform: translate3d(var(--shx, 0px), var(--shy, 0px), 0);
opacity: 0;
transition: opacity 0.45s var(--ease-out);
pointer-events: none;
}
#cta .c-cta-main.mx-magnet::before { opacity: 1; }
}
@media (prefers-reduced-motion: no-preference) and (pointer: coarse),
(max-width: 1023px) and (prefers-reduced-motion: no-preference) {
.mx-mask {
display: inline-block;
overflow: hidden;
vertical-align: bottom;
padding-bottom: 0.2em;
margin-bottom: -0.2em;
}
.mx-mask__in { display: inline-block; }
.mx-arm .mx-mask__in {
transform: translate3d(0, 112%, 0);
transition: transform 0.9s var(--ease);
transition-delay: var(--d, 0ms);
will-change: transform;
backface-visibility: hidden;
}
.mx-arm.mx-in .mx-mask__in { transform: translate3d(0, 0, 0); }
.mx-arm.mx-done .mx-mask__in {
transform: none;
transition: none;
will-change: auto;
}
#weddings .w-mobile .text-upper.sr-hidden:not(.sr-visible),
#events .e-mobile .e-text-top.sr-hidden:not(.sr-visible),
#why-us .wu-title.sr-hidden:not(.sr-visible),
#reviews .r-header__title.sr-hidden:not(.sr-visible),
#cta .c-promise__title.sr-hidden:not(.sr-visible) {
transform: translate3d(0, 14px, 0);
}
#why-us .wu-desc.sr-hidden:not(.sr-visible),
#cta .c-promise__trust.sr-hidden:not(.sr-visible) {
transform: translate3d(0, 18px, 0);
}
#stays .s-room-rates.mx-arm .s-room-rates__row > * {
opacity: 0;
transform: translate3d(0, 16px, 0) scale(0.97);
transition:
opacity 0.55s var(--ease),
transform 0.75s var(--ease-spring);
will-change: transform, opacity;
backface-visibility: hidden;
}
#stays .s-room-rates.mx-arm .s-room-rates__row > *:nth-child(1) { transition-delay: 0.10s; }
#stays .s-room-rates.mx-arm .s-room-rates__row > *:nth-child(2) { transition-delay: 0.20s; }
#stays .s-room-rates.mx-arm .s-room-rates__row > *:nth-child(3) { transition-delay: 0.30s; }
#stays .s-room-rates.mx-arm.mx-in .s-room-rates__row > * {
opacity: 1;
transform: translate3d(0, 0, 0) scale(1);
}
#stays .s-room-rates.mx-arm.mx-done .s-room-rates__row > * {
transform: none;
transition: none;
will-change: auto;
}
#why-us .wu-signature { position: relative; }
#why-us .wu-signature::after {
content: '';
position: absolute;
left: 0.05em; right: 0.05em; bottom: -0.14em;
height: 1.5px;
background: linear-gradient(to right, var(--accent), rgba(200, 75, 49, 0.15));
}
#why-us .wu-signature-block.mx-arm .wu-signature::after {
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.9s var(--ease) 0.55s;
will-change: transform;
}
#why-us .wu-signature-block.mx-arm.mx-in .wu-signature::after { transform: scaleX(1); }
#why-us .wu-signature-block.mx-arm.mx-done .wu-signature::after {
transform: none;
transition: none;
will-change: auto;
}
#cta .mx-arm .c-promise__rule::before,
#cta .mx-arm .c-promise__rule::after {
transform: scaleX(0);
transition: transform 0.9s var(--ease) 0.45s;
will-change: transform;
}
#cta .mx-arm .c-promise__rule::before { transform-origin: right center; }
#cta .mx-arm .c-promise__rule::after  { transform-origin: left center; }
#cta .mx-arm.mx-in .c-promise__rule::before,
#cta .mx-arm.mx-in .c-promise__rule::after { transform: scaleX(1); }
#cta .mx-arm.mx-done .c-promise__rule::before,
#cta .mx-arm.mx-done .c-promise__rule::after {
transform: none;
transition: none;
will-change: auto;
}
#cta .mx-arm .c-promise__rule svg {
transform: scale(0);
transition: transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 0.85s;
will-change: transform;
}
#cta .mx-arm.mx-in .c-promise__rule svg { transform: scale(1); }
#cta .mx-arm.mx-done .c-promise__rule svg {
transform: none;
transition: none;
will-change: auto;
}
#reviews .r-stars.mx-arm svg {
animation: none;
opacity: 0;
transform: scale(0.3);
transition:
opacity 0.4s var(--ease),
transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
transition-delay: var(--sd, 0ms);
will-change: transform, opacity;
}
#reviews .r-stars.mx-arm.mx-in svg {
opacity: 1;
transform: scale(1);
}
#reviews .r-stars.mx-arm.mx-done svg {
transform: none;
transition: none;
will-change: auto;
}
}
@media (prefers-reduced-motion: no-preference) and (max-width: 1023px),
(prefers-reduced-motion: no-preference) and (pointer: coarse) {
html { scroll-behavior: smooth; }
}
@media (max-width: 1023px) and (prefers-reduced-motion: no-preference) {
.venue-stats.sr-hidden,
.s-v2-info.sr-hidden {
opacity: 1;
transform: none;
transition: none;
}
.venue-stats > *,
.s-v2-info > * {
transition:
opacity 0.7s var(--ease) var(--sd, 0ms),
transform 0.9s var(--ease) var(--sd, 0ms);
}
.venue-stats.sr-hidden:not(.sr-visible) > *,
.s-v2-info.sr-hidden:not(.sr-visible) > * {
opacity: 0;
transform: translate3d(0, 14px, 0);
}
.venue-stats > :nth-child(2) { --sd: 70ms; }
.venue-stats > :nth-child(3) { --sd: 140ms; }
.venue-stats > :nth-child(4) { --sd: 210ms; }
.venue-stats > :nth-child(5) { --sd: 280ms; }
.s-v2-info > :nth-child(2) { --sd: 90ms; }
.s-v2-info > :nth-child(3) { --sd: 180ms; }
.s-v2-info.sr-hidden:not(.sr-visible) > .s-v2-rule {
transform: scaleX(0);
transform-origin: left center;
}
#events .e-gallery { overscroll-behavior-x: contain; }
.ye-m__name {
transition:
opacity 0.6s var(--ease-out),
transform var(--dur-fast) var(--ease-out);
transform-origin: left center;
}
.ye-m__row:active .ye-m__name { transform: scale(0.97); }
#cta .c-details-main,
#cta .c-contact-email {
transition: transform var(--dur-fast) var(--ease-out);
}
#cta .c-details-main:active,
#cta .c-contact-email:active { transform: scale(0.97); }
@supports (animation-timeline: view()) {
@keyframes mx-drift {
from { translate: 0 calc(var(--mx-amp) * -1); }
to   { translate: 0 var(--mx-amp); }
}
@keyframes mx-gallery-zoom {
0%, 100% { transform: scale(1.1); }
50%      { transform: scale(1); }
}
#weddings, #events, #stays, #why-us,
#events .e-gallery__item { overflow: clip; }
#weddings .w-mobile .strip-rotator { --mx-amp: 22px; }
#stays .s-v2-visual                { --mx-amp: 18px; }
#why-us .mx-drift                  { --mx-amp: 28px; }
#events .e-gallery-wrap            { --mx-amp: 14px; }
#weddings .w-mobile .strip-rotator,
#stays .s-v2-visual,
#why-us .mx-drift,
#events .e-gallery-wrap {
animation: mx-drift linear both;
animation-timeline: view();
animation-range: cover;
}
#events .e-gallery__item img {
animation: mx-gallery-zoom linear both;
animation-timeline: view(inline);
animation-range: cover;
}
}
}
@media (max-width: 1023px) {
#cta .c-promise__rule {
max-height: 3rem;
overflow: hidden;
transition:
max-height 0.75s var(--ease),
margin 0.75s var(--ease),
opacity 0.95s var(--ease),
transform 0.95s var(--ease-spring);
}
#cta .c-promise__sub {
max-height: 4rem;
overflow: hidden;
transition:
max-height 0.75s var(--ease),
opacity 0.95s var(--ease),
transform 0.95s var(--ease-spring);
}
#cta .c-promise__trust {
transition:
margin-top 0.75s var(--ease),
opacity 0.95s var(--ease),
transform 0.95s var(--ease-spring);
}
#cta .c-promise--compressed .c-promise__rule {
display: flex; max-height: 0; margin: 0; opacity: 0;
}
#cta .c-promise--compressed .c-promise__sub {
display: block; max-height: 0; opacity: 0;
}
}
@media (max-width: 1023px) and (max-height: 660px) {
#cta .c-promise--compressed { padding: 0.9rem 1.5rem 0.7rem; }
#cta .c-promise--compressed .c-promise__title { font-size: 1.15rem; }
#cta .c-promise--compressed .c-promise__title em { font-size: 1.15rem; }
#cta .c-promise--compressed .c-promise__trust { margin-top: 0.15rem; }
}
}
@layer hero-arrival{
:root {
--cx-ease: cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes cxHeroTitle {
0%   { opacity: 0; transform: translate3d(0, 0, 0) scale(1.82); }
14%  { opacity: 1; transform: translate3d(0, 0, 0) scale(1.72); }
38%  { opacity: 1; transform: translate3d(0, 0, 0) scale(1.72); }
100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes cxHeroStripTop {
from { opacity: 0; transform: translate3d(0, -100%, 0); }
to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes cxHeroStripBot {
from { opacity: 0; transform: translate3d(0, 100%, 0); }
to   { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes cxMaskRise {
from { transform: translate3d(0, 108%, 0); }
to   { transform: translate3d(0, 0, 0); }
}
@keyframes cxPillIn {
from {
opacity: 0;
transform: translate3d(0, 10px, 0);
}
to {
opacity: 1;
transform: translate3d(0, 0, 0);
}
}
.cx-mask {
display: inline-block;
overflow: hidden;
vertical-align: bottom;
padding-bottom: 0.06em;
margin-bottom: -0.06em;
}
.cx-mask__in {
display: block;
}
.cx-sep {
display: inline-block;
opacity: 0;
transition: opacity 0.45s var(--cx-ease);
}
@media (prefers-reduced-motion: no-preference) {
.cx #hero:not(.cx-in) .hero-marquee--top {
opacity: 0;
transform: translate3d(0, -100%, 0);
}
.cx #hero:not(.cx-in) .hero-marquee--bot {
opacity: 0;
transform: translate3d(0, 100%, 0);
}
.cx #hero:not(.cx-in) .hero-marquee__track { animation-play-state: paused; }
.cx #hero:not(.cx-in) .hero-ribbon__title {
opacity: 0;
transform: translate3d(0, 0, 0) scale(1.82);
}
.cx #hero:not(.cx-in) .cx-mask__in {
transform: translate3d(0, 108%, 0);
}
.cx #hero:not(.cx-in) .cx-sep { opacity: 0; }
.cx #hero:not(.cx-in) .hero-meta__loc,
.cx #hero:not(.cx-in) .hero-meta__details {
opacity: 0;
transform: translate3d(0, 10px, 0);
}
.cx #hero .hero-ribbon__title {
display: inline-block;
transform-origin: center center;
backface-visibility: hidden;
}
.cx #hero .hero-marquee--top,
.cx #hero .hero-marquee--bot {
backface-visibility: hidden;
}
.cx #hero.cx-in .hero-ribbon__title {
animation: cxHeroTitle 1.9s cubic-bezier(0.16, 1, 0.3, 1) 0.06s both;
}
.cx #hero.cx-in .hero-marquee--top {
animation: cxHeroStripTop 1.15s cubic-bezier(0.16, 1, 0.3, 1) 0.72s both;
}
.cx #hero.cx-in .hero-marquee--bot {
animation: cxHeroStripBot 1.15s cubic-bezier(0.16, 1, 0.3, 1) 0.78s both;
}
.cx #hero.cx-in .hero-marquee__track {
animation-play-state: running;
}
.cx #hero.cx-in .hero-ribbon__sub .cx-mask__in {
animation: cxMaskRise 0.95s cubic-bezier(0.16, 1, 0.3, 1) 1.22s both;
}
.cx #hero.cx-in .hero-ribbon__badge .cx-mask__in {
animation: cxMaskRise 0.85s cubic-bezier(0.16, 1, 0.3, 1) 1.42s both;
}
.cx #hero.cx-in .hero-ribbon__tagline .cx-mask:nth-child(1) .cx-mask__in {
animation: cxMaskRise 0.8s cubic-bezier(0.16, 1, 0.3, 1) 1.55s both;
}
.cx #hero.cx-in .hero-ribbon__tagline .cx-mask:nth-child(3) .cx-mask__in {
animation: cxMaskRise 0.8s cubic-bezier(0.16, 1, 0.3, 1) 1.66s both;
}
.cx #hero.cx-in .hero-ribbon__tagline .cx-mask:nth-child(5) .cx-mask__in {
animation: cxMaskRise 0.8s cubic-bezier(0.16, 1, 0.3, 1) 1.77s both;
}
.cx #hero.cx-in .hero-ribbon__tagline .cx-sep {
opacity: 1;
transition-delay: 1.7s;
}
.cx #hero.cx-in .hero-meta__loc {
animation: cxPillIn 0.65s cubic-bezier(0.16, 1, 0.3, 1) 1.88s both;
}
.cx #hero.cx-in .hero-meta__details {
animation: cxPillIn 0.65s cubic-bezier(0.16, 1, 0.3, 1) 2s both;
}
.cx #hero.cx-done .hero-ribbon__title,
.cx #hero.cx-done .hero-marquee--top,
.cx #hero.cx-done .hero-marquee--bot,
.cx #hero.cx-done .cx-mask__in,
.cx #hero.cx-done .hero-meta__loc,
.cx #hero.cx-done .hero-meta__details {
animation: none;
opacity: 1;
transform: none;
}
.cx #hero.cx-done .cx-sep { opacity: 1; transition: none; }
@media (max-width: 768px) {
@keyframes cxHeroTitle {
0%  { opacity: 0; transform: translate3d(0, 0, 0) scale(1.55); }
14% { opacity: 1; transform: translate3d(0, 0, 0) scale(1.48); }
38% { opacity: 1; transform: translate3d(0, 0, 0) scale(1.48); }
100%{ opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}
.cx #hero:not(.cx-in) .hero-ribbon__title {
transform: translate3d(0, 0, 0) scale(1.55);
}
}
}
}
