:root{--page: #F7F3EE;--page-2: #EFE8E0;--ink: #34352F;--ink-dim: #5C5E56;--ink-ghost: #D8D2C7;--line: rgba(52, 53, 47, .16);--sage: #A9B7A0;--sage-deep: #6F806A;--sage-ink: #56664F;--blush: #E8C9C3;--blush-deep: #B9766F;--night: #2E392B;--night-2: #263022;--wa: #25D366;--serif: "Cormorant Garamond", Georgia, serif;--sans: "Open Sans", system-ui, sans-serif;--label: "Dosis", "Open Sans", sans-serif;--script: "Parisienne", "Cormorant Garamond", cursive;--gutter: clamp(16px, 4vw, 56px);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{background:var(--page);-webkit-text-size-adjust:100%}body{margin:0;background:var(--page);color:var(--ink);font:400 16px/1.7 var(--sans);overflow-x:clip;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit}h1,h2,h3,p{margin:0}svg{flex:none}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped,html.menu-open{overflow:clip}.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;border-radius:4px}.skip:focus{top:12px}:focus-visible{outline:2px solid var(--blush-deep);outline-offset:3px}.eyebrow{font:500 13px/1.4 var(--label);letter-spacing:.26em;text-transform:uppercase;color:var(--sage-ink);margin-bottom:18px}.display{font:400 clamp(40px,5.6vw,84px)/1.02 var(--serif);letter-spacing:-.01em}.display em,.h2 em{font-style:italic;color:var(--sage-ink)}.h2{font:400 clamp(34px,4vw,56px)/1.08 var(--serif)}.h3{font:400 clamp(30px,3vw,46px)/1.08 var(--serif);font-style:italic}.body{font-size:clamp(16px,1.15vw,18px);color:var(--ink-dim);max-width:46ch}.body+.body{margin-top:14px}.btn{display:inline-flex;align-items:center;gap:10px;justify-content:center;padding:15px 26px;border-radius:999px;border:1px solid transparent;cursor:pointer;font:600 14px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:background-color .3s,color .3s,border-color .3s,transform .3s}.btn:hover{transform:translateY(-2px)}.btn svg{width:18px;height:18px}.btn-sage{background:var(--sage-ink);color:#fff}.btn-sage:hover{background:var(--night)}.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}.btn-line:hover{background:var(--ink);color:var(--page)}.btn-sm{padding:12px 20px;font-size:13px}.btn-wa{background:var(--wa);color:#073b1e}.btn-wa:hover{background:#3be07a}.btn-ghost-light{border-color:#fff6;color:#fff;background:transparent}.btn-ghost-light:hover{background:#ffffff1a}.chip{padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:transparent;cursor:pointer;font:500 14px/1.2 var(--label);letter-spacing:.06em;transition:background-color .25s,color .25s,border-color .25s}.chip:hover{border-color:var(--sage-ink)}.chip.on{background:var(--sage-ink);border-color:var(--sage-ink);color:#fff}.chip-tag{display:inline-block;padding:6px 14px;border-radius:999px;background:#e8c9c38c;color:#7a4a44;font:600 12px/1.2 var(--label);letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px}.link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;color:var(--sage-ink);font:600 14px/1.2 var(--label);letter-spacing:.1em;text-transform:uppercase;text-underline-offset:4px}.link svg{width:16px;height:16px}.ph{margin:0;overflow:clip;border-radius:4px;background:var(--page-2)}.ph img{width:100%;height:100%;aspect-ratio:3 / 2;object-fit:cover}.ph-btn{all:unset;display:block;width:100%;height:100%;cursor:zoom-in}.ph-btn img{transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.ph-btn:hover img{transform:scale(1.04)}.ph-btn:focus-visible{outline:2px solid var(--blush-deep);outline-offset:-4px}.logo{display:block;width:auto;height:72px}.logo-sm{height:62px}.bar.solid .logo-sm{height:52px;transition:height .4s}@media(max-width:899px){.logo-sm,.bar.solid .logo-sm{height:52px}}.progress{position:fixed;inset:0 0 auto;height:2px;z-index:60;pointer-events:none}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--sage),var(--blush-deep));transform:scaleX(0);transform-origin:left}html[data-motion=off] .progress{display:none}.bar{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px var(--gutter);transition:background-color .4s,box-shadow .4s,padding .4s}.bar.solid{background:#f7f3eee6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);padding-block:8px}.bar-brand{text-decoration:none}.bar-nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}.bar-nav a{font:500 13px/1 var(--label);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ink)}.bar-nav a:hover{color:var(--sage-ink)}.bar-client{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border:1px solid var(--line);border-radius:999px}.bar-client svg{width:15px;height:15px}.bar-social{display:inline-flex;gap:14px}.bar-menu{display:none;background:none;border:0;padding:8px;cursor:pointer}.float-cta{position:fixed;right:20px;bottom:20px;z-index:40;display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border:0;border-radius:999px;cursor:pointer;background:var(--sage-ink);color:#fff;font:600 13px/1 var(--label);letter-spacing:.14em;text-transform:uppercase;box-shadow:0 10px 30px #2e392b47;transform:translateY(140%);opacity:0;transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .4s}.float-cta.on{transform:none;opacity:1}.float-cta svg{width:18px;height:18px}.hero{position:relative;height:100svh;min-height:620px;overflow:clip}.hero-photo{position:absolute;top:0;right:0;bottom:0;left:0}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:72% 50%}.hero-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#f7f3eef7,#f7f3eee0,#f7f3ee00 60%)}.field{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.hero-copy{position:absolute;left:var(--gutter);top:50%;translate:0 -46%;max-width:min(600px,46vw)}.hero-title{font:400 clamp(54px,7.2vw,112px)/.98 var(--serif);font-style:italic;letter-spacing:-.015em}.hero-intro{margin-top:22px;font:400 clamp(22px,2vw,30px)/1.3 var(--serif);color:var(--sage-ink)}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.scrollcue{position:absolute;left:50%;bottom:26px;width:1px;height:56px;background:var(--line);overflow:clip;translate:-50% 0}.scrollcue i{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--sage-ink);animation:cue 2.2s cubic-bezier(.65,0,.35,1) infinite}@keyframes cue{0%{transform:translateY(-100%)}60%,to{transform:translateY(100%)}}.statement{height:var(--hold, 200vh);position:relative}.statement-hold{position:sticky;top:0;height:100svh;display:grid;place-items:center;padding:0 var(--gutter)}.statement p{font:400 clamp(34px,4.8vw,74px)/1.14 var(--serif);text-align:center;max-width:20ch}.statement .w{color:var(--ink)}.statement .w.hot{font-style:italic;color:var(--blush-deep)}html[data-motion=on] .statement .w{color:var(--ink-ghost)}.statement-leaf{position:absolute;top:9vh;left:50%;width:46px;height:92px;margin-left:-23px;color:var(--sage)}.journey{position:relative}.journey-track{display:flex;flex-direction:column;gap:12vh;padding:14vh var(--gutter)}.journey-intro .display{max-width:12ch;margin-bottom:22px}.journey-hint{display:none}.stage{display:grid;gap:28px}.stage-num{display:block;font:400 clamp(72px,9vw,150px)/.8 var(--serif);color:var(--sage);opacity:.55;margin-bottom:10px}.stage-copy .body{margin-bottom:26px}.stage-media{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stage-media .m0{grid-column:1 / -1}.journey-vine{display:none}@media(min-width:900px){.journey:not(.is-hz) .stage{grid-template-columns:.8fr 1.2fr;align-items:center;gap:5vw;max-width:1280px}}.journey.is-hz .journey-pin{height:100svh;overflow:clip;position:relative}.journey.is-hz .journey-track{flex-direction:row;align-items:center;gap:0;height:100%;width:max-content;padding:0 0 0 var(--gutter)}.journey.is-hz .journey-intro{width:min(560px,40vw);flex:none;padding-right:6vw}.journey.is-hz .journey-hint{display:inline-flex;align-items:center;gap:10px;margin-top:30px;font:500 13px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--sage-ink)}.journey.is-hz .journey-hint svg{width:16px;height:16px;animation:nudge 1.8s ease-in-out infinite}@keyframes nudge{50%{transform:translate(6px)}}.journey.is-hz .stage{flex:none;width:min(1240px,84vw);grid-template-columns:minmax(300px,.78fr) 1.22fr;align-items:center;gap:4vw;padding-right:8vw}.journey.is-hz .stage-media{display:block;position:relative;height:min(66vh,640px)}.journey.is-hz .stage-media .ph{position:absolute;box-shadow:0 24px 60px #34352f2e}.journey.is-hz .m0{width:66%;left:0;top:4%;z-index:2}.journey.is-hz .m1{width:46%;right:0;bottom:0;z-index:3}.journey.is-hz .m2{width:36%;right:6%;top:0;z-index:1}.journey.is-hz .n1 .m0{width:84%;left:8%;top:10%}.journey.is-hz .n2 .m0{width:70%}.journey.is-hz .n2 .m1{width:52%;bottom:2%}.journey.is-hz .journey-vine{display:block;position:absolute;left:0;right:0;bottom:5vh;width:100%;height:20px}.journey-vine path{fill:none;stroke:var(--sage);stroke-width:1.2;stroke-dasharray:1;vector-effect:non-scaling-stroke}.gallery{background:var(--page-2)}.mosaic{position:relative}.mosaic-pin{position:relative;padding:14vh var(--gutter) 4vh}.mosaic-stage{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.mosaic-copy{margin-top:36px}.mosaic-copy .display{max-width:13ch}.mosaic.is-pinned .mosaic-pin{height:100svh;overflow:clip;padding:0;display:grid;place-items:center}.mosaic.is-pinned .mosaic-stage{position:relative;grid-template-columns:repeat(3,1fr);gap:14px;width:min(1160px,82vw)}.mosaic.is-pinned .mosaic-copy{position:absolute;left:var(--gutter);bottom:8vh;margin:0;z-index:2;background:var(--page);padding:30px 40px 34px;border-radius:4px;box-shadow:0 20px 60px #34352f29}.grid-wrap{padding:10vh var(--gutter) 14vh}.filters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:36px}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(120px,17vw,280px);gap:12px;max-width:1400px;margin:0 auto;grid-auto-flow:dense}.grid .ph img{aspect-ratio:auto}.grid .ph.big{grid-column:span 2;grid-row:span 2}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#1e241cf0;display:grid;place-items:center;animation:fade .35s ease-out}.lightbox img{max-width:92vw;max-height:84svh;width:auto;height:auto;border-radius:3px;animation:rise .6s cubic-bezier(.16,1,.3,1)}.lightbox-cap{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:#ffffffbf;font:500 13px/1 var(--label);letter-spacing:.2em;text-transform:uppercase}.lb-btn{position:absolute;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#0003;color:#fff;cursor:pointer;display:grid;place-items:center}.lb-close{top:18px;right:18px}.lb-prev{left:18px;top:50%;translate:0 -50%}.lb-next{right:18px;top:50%;translate:0 -50%}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(20px) scale(.97)}}.about{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding:16vh var(--gutter)}.about-side-wrap{height:min(84vh,820px)}.about-side{height:100%}.about-side img{aspect-ratio:auto;object-position:50% 30%}.about-portrait{width:132px;height:132px;border-radius:50%;padding:6px;background:var(--sage);margin-bottom:28px}.about-portrait img{width:100%;height:100%;border-radius:50%;object-fit:cover}.about .display{margin-bottom:26px}.about-sign{margin-top:26px;font:400 40px/1 var(--script);color:var(--sage-ink)}.about-place{display:flex;align-items:center;gap:8px;margin-top:22px;font:500 13px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim)}.about-place svg{width:17px;height:17px}.process{padding:14vh var(--gutter) 16vh;background:linear-gradient(180deg,var(--page),var(--page-2))}.process-head{text-align:center;margin-bottom:9vh}.steps{position:relative;max-width:1180px;margin:0 auto}.steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.steps-wire{position:absolute;top:28px;left:28px;right:12%;height:1px;background:var(--line)}.steps-wire i{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--sage-ink);transform-origin:left top}.step{position:relative}.step-dot{position:relative;z-index:1;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1px solid var(--sage);background:var(--page);font:400 20px/1 var(--serif);color:var(--sage-ink);margin-bottom:26px;transition:background-color .5s,color .5s,box-shadow .5s}.step.lit .step-dot{background:var(--sage-ink);color:#fff;box-shadow:0 0 0 8px #a9b7a047}.step .h3{font-size:clamp(26px,2.2vw,34px);margin-bottom:12px}.step .body{font-size:16px}.social{padding:12vh 0 14vh;overflow:clip}.marquee{overflow:clip;white-space:nowrap}.marquee-track{display:inline-flex;will-change:transform}.marquee span{padding-right:.5em}.giant span{font:400 clamp(64px,11vw,190px)/1.05 var(--serif);font-style:italic;color:var(--sage-ink)}.giant span:after{content:"·";padding-left:.5em;color:var(--blush-deep);font-style:normal}.giant.outline span{color:transparent;-webkit-text-stroke:1px var(--sage-deep)}.giant.outline span:after{-webkit-text-stroke:0;color:var(--sage)}.feed{display:flex;gap:18px;width:max-content;padding:6vh 0 6vh 8vw}.feed .ph{width:clamp(180px,21vw,320px);flex:none;box-shadow:0 18px 40px #34352f24}.feed .ph:nth-child(2n){margin-top:6vh}.social-copy{text-align:center;max-width:660px;margin:8vh auto 0;padding:0 var(--gutter)}.social-copy .body{margin:18px auto 30px}.social-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.close{background:var(--night);color:#f4f1ea}.close .display,.close .h2{color:#fff}.close .body{color:#f4f1eac7}.close-ring{position:relative;min-height:100svh;display:grid;place-items:center;padding:12vh var(--gutter);overflow:clip}.close-copy{position:relative;z-index:1;text-align:center;max-width:760px}.close-copy .display{font-style:italic;margin-bottom:26px}.close-copy .body{margin:0 auto;max-width:40ch;font-size:clamp(17px,1.4vw,21px)}.close-book{padding:0 var(--gutter) 14vh}.close-note{max-width:760px;margin:22px auto 0;text-align:center;font:400 italic 19px/1.5 var(--serif);color:#f4f1eab8}.close-direct{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 30px;margin-top:26px}.close-direct a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#f4f1ead9;font-size:15px}.close-direct svg{width:17px;height:17px}.booking{max-width:780px;margin:0 auto;padding:clamp(24px,4vw,52px);border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#ffffff0b}.booking-title{font:400 italic clamp(32px,3vw,44px)/1.1 var(--serif);color:#fff;margin-bottom:30px;text-align:center}.booking fieldset{border:0;padding:0;margin:0 0 30px}.booking legend{display:flex;align-items:center;gap:12px;padding:0;margin-bottom:14px;font:500 14px/1.3 var(--label);letter-spacing:.16em;text-transform:uppercase;color:#f4f1eae6}.booking legend span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--sage);font:400 15px/1 var(--serif);letter-spacing:0;color:var(--sage)}.booking .chips{display:flex;flex-wrap:wrap;gap:8px}.booking .chip{border-color:#ffffff42;color:#f4f1ea}.booking .chip:hover{border-color:#fff}.booking .chip.on{background:#f4f1ea;color:var(--night);border-color:#f4f1ea}.booking-name{width:100%;max-width:420px;padding:12px 2px;border:0;border-bottom:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;font:400 22px/1.3 var(--serif)}.booking-name::placeholder{color:#f4f1ea73;font-style:italic}.booking-name:focus{outline:0;border-bottom-color:var(--blush)}.booking-preview{margin:6px 0 28px;padding:18px 22px;border-left:2px solid var(--blush);background:#00000024;border-radius:0 6px 6px 0}.booking-preview span{font:500 12px/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--blush)}.booking-preview p{margin-top:10px;font:400 italic 19px/1.5 var(--serif);color:#f4f1ea}.booking-actions{display:flex;flex-wrap:wrap;gap:12px}.footer{background:var(--night-2);color:#f4f1eacc;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding:10vh var(--gutter) 40px}.footer-brand p{margin-top:16px;font:400 italic 18px/1.5 var(--serif)}.footer-brand .logo{height:84px}.footer-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;align-content:start}.footer-list a,.footer-list span{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:15px}.footer-list a:hover{color:#fff}.footer-list svg{width:17px;height:17px;opacity:.8}.footer-legal{grid-column:1 / -1;padding-top:28px;border-top:1px solid rgba(255,255,255,.1);font-size:13px;color:#f4f1ea8c}@media(max-width:899px){.bar{padding-block:10px}.bar-menu{display:block;position:relative;z-index:2}.bar-nav{display:none}.bar.open{background:var(--page)}.bar.open .bar-nav{display:flex;flex-direction:column;justify-content:center;gap:26px;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--page)}.bar.open .bar-nav a{font-size:17px}.hero{min-height:640px}.hero-photo{bottom:38%}.hero-photo img{object-position:68% 50%}.hero-veil{background:linear-gradient(180deg,rgba(247,243,238,0) 30%,rgba(247,243,238,.9) 56%,var(--page) 64%)}.hero-copy{top:auto;bottom:74px;translate:none;right:var(--gutter);max-width:none}.hero-title{font-size:clamp(46px,12.5vw,64px)}.hero-actions .btn{flex:1 1 auto}.scrollcue{display:none}.statement-leaf{top:12vh}.stage{gap:0;justify-items:start}.stage-copy{display:contents}.stage-media{order:1;justify-self:stretch;width:100%}.stage-copy .btn{order:2;margin-top:18px}.about{grid-template-columns:1fr;padding-block:10vh}.about-side-wrap{height:56vh}.steps ol{grid-template-columns:1fr;gap:40px;padding-left:76px}.steps-wire{top:0;bottom:0;left:28px;right:auto;width:1px;height:auto}.step-dot{position:absolute;left:-76px;top:-6px;margin:0}.grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:30vw;gap:8px}.feed .ph{width:46vw}.footer{grid-template-columns:1fr}.float-cta{right:14px;bottom:14px;width:58px;height:58px;padding:0;justify-content:center}.float-cta span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.float-cta svg{width:24px;height:24px}.booking-actions .btn{flex:1 1 100%}}html[data-motion=off] *,html[data-motion=off] *:before,html[data-motion=off] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
