/* Restrained motion and warm ivory edition. */
:root{--bg:#f7f4ef;--line:#ded8ce;--muted:#696b65;--ease:cubic-bezier(.22,.61,.36,1)}body{background:var(--bg)}.site-header nav{font-size:14px;letter-spacing:.075em;text-transform:uppercase;gap:30px}.site-header .nav-left,.site-header .nav-right{font-family:var(--sans)}.site-header .button.small{font-size:12px;min-height:46px;padding:11px 23px;letter-spacing:.04em}.site-header .brand,.site-header .brand img{width:175px;height:108px}.button{border-radius:999px;background:transparent;color:var(--ink);border:1px solid #1d1d1b85;min-height:48px;padding:13px 25px;font-size:13px;transition:background .5s var(--ease),color .5s var(--ease),border-color .5s var(--ease),opacity .5s var(--ease),transform .5s var(--ease)}.button:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.button .arrow{transition:transform .5s var(--ease),opacity .5s var(--ease);width:18px}.button:hover .arrow{transform:translateX(3px);opacity:.75}.button:active{transform:scale(.985)}.hero-cover{background:#111;height:106svh;max-height:1180px}.hero-cover>video{opacity:.8}.hero-shade{background:linear-gradient(180deg,#0003,transparent 30%,#0002 65%,#0006);z-index:-1}.hero-cover:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:200px;background:linear-gradient(180deg,rgba(247,244,239,0),#f7f4ef);z-index:-1;pointer-events:none}.hero-cover .intro{padding-bottom:205px}.hero-cover .intro-side p{font-size:15px;line-height:1.85}.hero-cover .intro-side .button{background:transparent;color:white;border-color:#ffffffa8}.hero-cover .intro-side .button:hover{background:white;color:#1d1d1b}.hero-bottom{position:absolute;bottom:150px;left:0;right:0;padding:0;font-size:12px;letter-spacing:.04em}.hero-bottom>a{gap:18px}.hero-bottom .arrow{width:38px;height:38px;border-radius:50%;border:1px solid #fff7;padding:9px;transition:background .45s,transform .45s}.hero-bottom a:hover .arrow{background:#ffffff20;transform:translateY(3px)}.hero-bottom a{transition:opacity .5s}.hero-bottom a:hover{opacity:.75}.spaces{padding-top:35px;padding-bottom:75px}.space-tabs{border:0;gap:6px}.space-tabs button{border-radius:999px;padding:11px 18px;border:1px solid transparent;margin:0;font-size:12px;transition:background .45s,color .45s,border-color .45s}.space-tabs button:hover{border-color:#8d8e87}.space-tabs [aria-selected=true]{border-color:#1d1d1b80;background:#ffffff20}.date-strip{display:grid;grid-template-columns:1fr 200px auto;align-items:center;gap:25px;padding:21px 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:32px}.date-strip label{font-size:14px}.date-strip p{font-size:11px;color:var(--muted);margin-top:5px}.date-strip input{border-radius:999px;border-color:#999d93;min-height:48px;font-size:12px;padding:10px 18px}.date-strip .button{font-size:11px}.space-photo{border-radius:15px}.space-photo>span{border-radius:999px;background:#e5e5e2ed;transition:background .4s,opacity .4s;font-size:11px}.space-photo:hover>span{background:white}.space-copy{min-height:330px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.space-copy p{font-size:14px;line-height:1.85}.space-label{font-size:10px}.space-panel{transition:opacity .35s var(--ease),transform .45s var(--ease);opacity:1;transform:translateY(0)}.space-panel.is-switching{opacity:0;transform:translateY(7px)}.celebration-inner{align-items:start;gap:70px;overflow-anchor:none}.celebration-inner>h2{position:sticky;top:70px;align-self:start;padding-top:14px}.celebrations{overflow-anchor:none;min-height:460px}.event-list details{overflow-anchor:none}.event-list summary{padding:20px 0;font-size:37px;transition:opacity .4s}.event-list summary:hover{opacity:.65}.event-list summary .arrow{width:37px;height:37px;border:1px solid #d9d8d170;border-radius:50%;padding:9px;transition:transform .65s var(--ease),opacity .5s}.event-list details.is-open summary .arrow{transform:rotate(90deg);opacity:.65}.accordion-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .65s var(--ease),opacity .45s var(--ease)}.accordion-inner{overflow:hidden;min-height:0}.event-list details.is-open .accordion-body{grid-template-rows:1fr;opacity:1}.event-list p{font-size:14px;line-height:1.85;padding:0 8px 0 0}.event-list .text-link{font-size:12px;padding-top:18px;padding-bottom:22px;transition:opacity .45s}.event-list .text-link:hover{opacity:.65}.event-list details[open]:not(.is-open) summary .arrow{transform:rotate(0)}.gallery .section-head p{font-size:14px;line-height:1.85}.gallery-grid{gap:10px;padding:0 10px}.gallery-grid button{border-radius:14px}.gallery-grid img{transition:transform 1.1s var(--ease),opacity .7s var(--ease)}.gallery-grid button:hover img{transform:scale(1.025);opacity:.83}.contact{grid-template-columns:1fr 1fr;gap:75px;padding-top:90px;padding-bottom:75px}.contact-heading{align-self:start;position:sticky;top:70px}.contact h2{font-size:clamp(37px,4vw,58px)}.contact-intro{font-size:14px;line-height:1.85;color:var(--muted);max-width:390px;margin-top:24px}.contact-heading .text-link{font-size:12px;padding:22px 0 0;transition:opacity .4s}.contact-heading .text-link:hover{opacity:.6}.contact-links{font-size:12px;margin-top:25px}.contact-form{border-left:1px solid var(--line);padding-left:45px}.contact-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;margin-bottom:18px}.contact-form input,.contact-form select{font-size:13px;border-radius:999px;padding:12px 18px;border-color:#a5a89d;min-height:48px;background:transparent;transition:border-color .4s,background .4s}.contact-form input:focus,.contact-form select:focus{background:#ffffff30;border-color:#2d3127}.contact-form .form-grid{gap:15px}.contact-form .form-note{font-size:11px;line-height:1.8;margin:16px 0 0}.contact-location{font-size:11px;color:var(--muted);margin-top:20px}.signature span{display:none}.signature a{display:block;margin:0;line-height:1;letter-spacing:0}.signature img{display:block;width:86px;height:auto;filter:brightness(0);opacity:.8;transition:opacity .45s}.signature a:hover img{opacity:1}.site-footer nav{font-size:12px}.signature{padding:12px 0 12px 30px}.legal{font-size:10px;line-height:1.8;color:#73776d}.site-footer a{transition:opacity .45s}.site-footer a:hover{opacity:.6}.photo-controls button,.dialog-close{width:40px;height:40px;border:1px solid currentColor;border-radius:50%;padding:9px;display:inline-flex;align-items:center;justify-content:center;transition:background .45s,opacity .45s,transform .45s}.photo-controls button:hover{background:#ffffff20;opacity:.7}.dialog-close{font-size:24px;right:14px;top:14px;line-height:1;background:var(--bg)}dialog{border-radius:20px;opacity:0;transform:translateY(10px);transition:opacity .3s var(--ease),transform .4s var(--ease)}dialog[open]{opacity:1;transform:none}dialog.is-closing{opacity:0;transform:translateY(7px)}@starting-style{dialog[open]{opacity:0;transform:translateY(10px)}}dialog::backdrop{background:#181715b0;transition:background .3s}dialog.is-closing::backdrop{background:transparent}.form-intro{font-size:14px}#visit-title{padding-right:25px}#visit-form input,#visit-form select{border-radius:999px;padding:12px 17px;font-size:13px}#visit-form textarea{border-radius:18px;padding:15px;font-size:13px}#visit-form label{font-size:12px}#visit-dialog .form-note,.ready-note{font-size:11px}.prepared-message{font-size:13px;border-radius:15px;background:#d9dcd3}.back-button{font-size:12px}.motion-ready [data-reveal]{opacity:0;transform:translateY(13px);transition:opacity .9s var(--ease),transform 1.05s var(--ease);transition-delay:var(--delay,0ms)}.motion-ready [data-reveal].is-visible{opacity:1;transform:none}.motion-ready .hero-cover [data-reveal]{transform:translateY(8px)}.mobile-menu{transition:opacity .55s var(--ease),visibility .55s}.mobile-menu>a,.mobile-menu>button{opacity:0;transform:translateY(8px);transition:opacity .45s var(--ease),transform .65s var(--ease);transition-delay:var(--menu-delay,0ms)}.mobile-menu.active>a,.mobile-menu.active>button{opacity:1;transform:none}.space-photo img{transition:transform 1.1s var(--ease)}
@media(max-width:1050px){.site-header nav{font-size:12px;gap:20px}.site-header .button.small{font-size:11px;padding:11px 16px}.date-strip{grid-template-columns:1fr 180px;gap:16px}.date-strip .button{grid-column:2;justify-self:stretch}.date-strip>div{grid-row:span 2}.contact{gap:35px}.contact-form{padding-left:28px}.space-copy p{font-size:13px}.space-copy{min-height:350px}}
@media(max-width:900px){.site-header{min-height:100px;padding:6px 30px;display:flex;justify-content:space-between}.site-header .nav-left,.site-header .nav-right{display:none}.site-header>.brand{height:90px;width:155px;margin-left:-8px;z-index:8}.site-header>.brand img{height:90px;width:155px}.menu-toggle{display:flex;width:46px;height:46px;border:1px solid #ffffff8a;border-radius:50%;align-items:center;justify-content:center;z-index:8;padding:11px;color:white}.menu-toggle svg{width:24px;height:24px;stroke-width:1.1}.menu-open .menu-toggle{position:fixed;right:30px;top:27px;color:var(--bg)}.menu-open .site-header>.brand{position:fixed;left:30px;top:7px}.menu-open .site-header>.brand img{filter:none}.mobile-menu{display:flex;position:fixed;inset:0;background:var(--ink);color:var(--bg);z-index:7;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px;padding:110px 30px 50px;opacity:0;visibility:hidden}.mobile-menu.active{opacity:1;visibility:visible}.mobile-menu>a,.mobile-menu>button{font:300 35px var(--serif);text-transform:uppercase;letter-spacing:.02em;padding:0;text-align:left}.mobile-menu span{font-size:10px;letter-spacing:1px;color:#adaf9f;margin-top:25px}}
@media(max-width:700px){.site-header{padding:6px 20px}.site-header>.brand,.site-header>.brand img{height:88px;width:150px}.menu-open .menu-toggle{right:20px;top:27px}.menu-open .site-header>.brand{left:20px;top:6px}.hero-cover{height:108svh;min-height:800px}.hero-cover .intro{padding-bottom:200px;padding-top:120px}.hero-cover .intro-side p{font-size:13px;line-height:1.85}.hero-cover .intro-side .button{font-size:12px}.hero-cover:after{height:160px}.hero-bottom{bottom:135px;font-size:11px}.hero-bottom .arrow{width:34px;height:34px;padding:8px}.spaces{padding-top:23px;padding-bottom:45px}.date-strip{grid-template-columns:1fr;gap:15px;padding:19px 0 22px;margin-bottom:26px}.date-strip>div{grid-row:auto}.date-strip label{font-size:13px}.date-strip p{font-size:11px;line-height:1.8}.date-strip input{width:100%;font-size:13px}.date-strip .button{grid-column:1;font-size:12px;width:100%}.space-tabs{gap:4px;justify-content:space-between}.space-tabs button{font-size:11px;padding:10px 13px}.space-copy{min-height:0}.space-copy p{font-size:14px;line-height:1.85}.space-copy .button{font-size:12px}.celebration-inner>h2{position:static;padding-top:0;margin-bottom:28px}.celebrations{min-height:0}.event-list summary{font-size:32px;padding:17px 0}.event-list summary .arrow{width:34px;height:34px;padding:8px}.event-list p{font-size:13px}.event-list .text-link{font-size:12px}.gallery .section-head p{font-size:13px}.gallery-grid{gap:5px;padding:0 5px}.gallery-grid button{border-radius:10px}.contact{display:block;padding:48px 0}.contact-heading{position:static}.contact-intro{font-size:14px}.contact-form{border-left:0;padding-left:0;border-top:1px solid var(--line);margin-top:30px;padding-top:25px}.contact-form label{font-size:11px}.contact-form input,.contact-form select{font-size:12px;padding:12px 14px;min-width:0}.contact-form .form-grid{gap:12px}.contact-links{font-size:12px}.site-footer nav{font-size:11px}.signature{padding-left:22px}.signature img{width:82px}.legal{font-size:9px}.hero-cover .intro-side .button{min-width:180px}.button{font-size:12px;min-height:47px}.gallery-grid img{transition:opacity .6s,transform 1.1s}.date-strip+ .space-panel{gap:25px}}
@media(prefers-reduced-motion:reduce){.motion-ready [data-reveal]{opacity:1!important;transform:none!important}.accordion-body{transition:none!important}.space-panel.is-switching{opacity:1;transform:none}.mobile-menu>a,.mobile-menu>button{transform:none}*{transition-duration:.01ms!important;transition-delay:0ms!important}}
.hero-bottom>a .arrow{width:38px;height:38px;padding:9px}@media(max-width:700px){.hero-bottom>a .arrow{width:34px;height:34px;padding:8px}}

/* Smooth alpha ramp with flat endpoints, no visible transition seam. */
.hero-cover:after{bottom:-2px;height:280px;background:linear-gradient(180deg,rgba(247,244,239,0.00000) 0%, rgba(247,244,239,0.00725) 5%, rgba(247,244,239,0.02800) 10%, rgba(247,244,239,0.06075) 15%, rgba(247,244,239,0.10400) 20%, rgba(247,244,239,0.15625) 25%, rgba(247,244,239,0.21600) 30%, rgba(247,244,239,0.28175) 35%, rgba(247,244,239,0.35200) 40%, rgba(247,244,239,0.42525) 45%, rgba(247,244,239,0.50000) 50%, rgba(247,244,239,0.57475) 55%, rgba(247,244,239,0.64800) 60%, rgba(247,244,239,0.71825) 65%, rgba(247,244,239,0.78400) 70%, rgba(247,244,239,0.84375) 75%, rgba(247,244,239,0.89600) 80%, rgba(247,244,239,0.93925) 85%, rgba(247,244,239,0.97200) 90%, rgba(247,244,239,0.99275) 95%, rgba(247,244,239,1.00000) 100%)}

/* Native date pickers remain interactive, independent of Safari intrinsic sizing. */
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>label,.contact-form,.contact-form label,.date-strip>*{min-width:0;max-width:100%}.contact-form input,.contact-form select,.contact-form textarea{width:100%;max-width:100%;box-sizing:border-box}.date-input-shell{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;max-width:100%;min-width:0;min-height:48px;padding:12px 18px;border:1px solid #a5a89d;border-radius:999px;background:transparent;box-sizing:border-box;transition:background .4s,border-color .4s}.date-input-shell:focus-within{border-color:#2d3127;background:#ffffff30;outline:2px solid #9d7759;outline-offset:4px}.date-input-value{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:13px/1.6 var(--sans)}.date-input-value.is-empty{color:#8d9186}.date-input-shell>svg{display:block;width:18px;height:18px;flex:0 0 18px;color:#555b4f}.date-input-shell input[type=date]{position:absolute!important;inset:0!important;margin:0!important;padding:0!important;display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;min-inline-size:0!important;inline-size:100%!important;max-inline-size:100%!important;height:100%!important;min-height:0!important;opacity:0;cursor:pointer;box-sizing:border-box;-webkit-appearance:none;appearance:none;border:0!important}.date-input-shell input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}.date-input-shell input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;cursor:pointer}.date-strip .date-input-shell{min-height:48px}.date-strip{grid-template-columns:minmax(0,1fr) minmax(0,200px) auto}
@media(max-width:1050px){.date-strip{grid-template-columns:minmax(0,1fr) minmax(0,180px)}}
@media(max-width:700px){.hero-cover:after{height:225px}.date-strip{grid-template-columns:minmax(0,1fr)}.contact-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}.contact-form .form-grid>label{width:auto;min-width:0;max-width:100%}.date-input-shell{padding:12px 14px;gap:7px;min-height:48px}.date-input-value{font-size:12px}.contact-form .date-input-shell,.contact-form select{height:48px}.contact-form .form-grid input{min-width:0;max-width:100%;width:100%}.contact-form input,.contact-form select{font-size:13px}.contact-form .date-input-value{font-size:12px}}
@media(max-width:360px){.contact-form .form-grid{grid-template-columns:minmax(0,1fr)}}
/* Warm continuous canvas, restrained gray-to-beige footer. */
.footer-surface{background:linear-gradient(180deg,#f7f4ef 0%,#e9e9e3 9%,#d5d7d1 27%,#c5c9c2 54%,#d4d3c8 77%,#eee3d3 100%);padding-top:72px;min-height:350px;color:var(--ink)}.site-footer{border-top-color:#c9c5bc}.footer-surface .legal{margin-bottom:0;padding-bottom:30px}.contact-links{flex-wrap:wrap;row-gap:12px}.visit-guide{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:90px;padding-bottom:60px;border-bottom:1px solid var(--line)}.guide-kicker{font-size:10px;letter-spacing:1.7px;text-transform:uppercase;color:#7a756d;margin-bottom:23px}.visit-guide h2{font-weight:300;font-size:clamp(36px,3.6vw,54px);letter-spacing:.01em}.visit-guide-heading>p:last-child{font-size:14px;line-height:1.9;max-width:360px;color:#6b665e;margin-top:22px}.faq-list{min-width:0}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;font:14px/1.6 var(--sans);padding:23px 0}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:24px;font-weight:300;transition:transform .65s var(--ease)}.faq-list .is-open summary>span{transform:rotate(45deg)}.faq-list .accordion-body p{font-size:13px;line-height:1.9;color:#6b665e;padding:0 0 22px}.faq-list .text-link{font-size:12px;margin-bottom:22px}.contact-form>label{min-width:0}.contact-form>label select{margin-bottom:14px}
@media(max-width:900px){.visit-guide{gap:40px}}@media(max-width:700px){.visit-guide{grid-template-columns:minmax(0,1fr);gap:25px;padding-top:55px;padding-bottom:40px}.visit-guide-heading>p:last-child{font-size:13px}.faq-list summary{font-size:13px;padding:20px 0}.faq-list .accordion-body p{font-size:12px}.footer-surface{padding-top:18px}.contact-links{gap:16px}.contact-form>label select{width:100%;font-size:13px}.contact-form .form-grid{row-gap:16px}.contact-form label[for=request-budget]{font-size:10px}.contact-form{padding-top:28px}}
.faq-list details.is-open .accordion-body{grid-template-rows:1fr;opacity:1}.faq-list .accordion-body>div{overflow:hidden}
.contact-form .form-grid{align-items:end}

/* Clearly visible gray footer, fading into warm beige. */
.footer-surface .site-footer{min-height:170px;padding-top:30px;padding-bottom:30px;border-top-color:#b2b6ad}.footer-surface .legal{color:#585b53;padding-top:12px;padding-bottom:38px}.footer-surface .signature{border-left-color:#aeb3a8}@media(max-width:700px){.footer-surface{padding-top:52px;min-height:340px}.footer-surface .site-footer{min-height:190px;padding-top:20px;padding-bottom:20px}.footer-surface .legal{padding-top:8px;padding-bottom:28px}}
/* Footer identity stays visible when opening a direct footer link. */
.footer-surface .site-footer[data-reveal]{opacity:1;transform:none}

/* Celebrations share the warm page canvas; the former dark tone belongs to the footer. */
.celebrations{background:var(--bg);color:var(--ink)}.event-list details{border-bottom-color:var(--line)}.event-list p{color:#69665e}.event-list summary .arrow{border-color:#1d1d1b65}
.footer-surface{background:linear-gradient(180deg,#f7f4ef 0%,#eeebe6 8%,#c3c1bb 20%,#777872 32%,#3b3c37 45%,#1d1d1b 60%,#1d1d1b 100%);color:#f7f4ef;padding-top:150px;min-height:420px}.footer-surface .site-footer{color:#f7f4ef;border-top-color:#f7f4ef38}.footer-surface .site-footer a{color:#f7f4ef}.footer-surface .site-footer .brand img{filter:none}.footer-surface .signature{border-left-color:#f7f4ef38}.footer-surface .signature img{filter:brightness(0) invert(1);opacity:1}.footer-surface .legal{color:#d0cfc6}
@media(max-width:700px){.footer-surface{padding-top:130px;min-height:400px}}
