:root{
  --black:#090909;
  --black-2:#11110f;
  --ivory:#f4f0e8;
  --paper:#e8e2d8;
  --pearl:#d7d0c6;
  --silver:#a8a49e;
  --line:rgba(255,255,255,.18);
  --line-dark:rgba(9,9,9,.16);
  --serif: Didot, "Bodoni 72", "Times New Roman", serif;
  --sans: Inter, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--ivory);font-family:var(--sans);font-weight:400;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img{max-width:100%}
::selection{background:var(--ivory);color:var(--black)}

.grain{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.site-header{position:fixed;top:0;left:0;right:0;z-index:90;height:92px;padding:22px 4.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.09);background:linear-gradient(to bottom,rgba(9,9,9,.9),rgba(9,9,9,.55),transparent);backdrop-filter:blur(10px);transition:.35s}
.site-header.scrolled{height:74px;background:rgba(9,9,9,.92)}
.brand{display:inline-flex;flex-direction:column;line-height:1}
.brand span{font-family:var(--serif);font-size:20px;letter-spacing:.12em}
.brand small{font-size:8px;letter-spacing:.42em;margin-top:7px;color:var(--silver)}
.brand-logo{height:58px;width:58px;display:block;transition:.35s}
.site-header.scrolled .brand-logo{height:46px;width:46px}
.nav{display:flex;gap:34px;align-items:center;font-size:12px;letter-spacing:.11em;text-transform:uppercase}
.nav a{opacity:.76;transition:.2s}.nav a:hover{opacity:1}
.nav .nav-cta{border:1px solid rgba(255,255,255,.45);padding:12px 18px;opacity:1}
.nav-toggle{display:none;background:none;border:0;color:inherit;width:40px;height:40px;padding:10px}
.nav-toggle span{display:block;height:1px;background:currentColor;margin:6px 0}

.section-dark{background:var(--black);color:var(--ivory)}
.section-light{background:var(--ivory);color:var(--black)}
.hero{min-height:100svh;padding:140px 4.5vw 62px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;width:50vw;height:50vw;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.08),rgba(255,255,255,0) 68%);right:-18vw;top:-16vw}
.hero-copy{position:relative;z-index:2;max-width:830px;padding-right:3vw}
.eyebrow,.section-kicker{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--silver)}
.hero h1,.intro h2,.services h2,.about h2,.inquire h2{font-family:var(--serif);font-weight:400;margin:26px 0 30px;line-height:.94;letter-spacing:-.045em}
.hero h1{font-size:clamp(62px,7.4vw,126px)}
em{font-weight:400;color:var(--pearl)}
.hero .lede{font-size:17px;line-height:1.65;max-width:620px;color:#c9c4bc}
.hero-actions{display:flex;align-items:center;gap:34px;margin-top:42px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border:1px solid currentColor;text-transform:uppercase;font-size:11px;letter-spacing:.16em;transition:.25s;cursor:pointer}
.btn-light{background:var(--ivory);color:var(--black);border-color:var(--ivory)}
.btn-light:hover{background:transparent;color:var(--ivory)}
.btn-dark{border-color:var(--black);color:var(--black)}
.btn-dark:hover{background:var(--black);color:var(--ivory)}
.text-link{font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:7px}
.text-link span{margin-left:10px}
.hero-art{height:72vh;min-height:580px;position:relative;border-left:1px solid rgba(255,255,255,.14);overflow:hidden}
.orb{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 32%,#fff 0,#e5e1d9 18%,#9f9d98 43%,#41403d 68%,#171716 100%);box-shadow:0 0 100px rgba(255,255,255,.06)}
.orb-xl{width:36vw;height:36vw;min-width:410px;min-height:410px;right:-8vw;top:5vh}.orb-xl span{position:absolute;width:38%;height:38%;border-radius:50%;left:15%;top:16%;background:radial-gradient(circle at 36% 30%,white,#dcd8d0 40%,#898681 100%);box-shadow:0 15px 70px rgba(0,0,0,.5)}
.orb-sm{width:120px;height:120px;left:5%;bottom:13%;filter:brightness(.72)}
.shell{position:absolute;width:240px;height:150px;border:1px solid rgba(255,255,255,.2);border-radius:50% 50% 45% 45% / 72% 72% 35% 35%;transform:rotate(-22deg);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.01));overflow:hidden}
.shell i{position:absolute;top:-10%;bottom:-10%;width:1px;background:rgba(255,255,255,.15);left:50%;transform-origin:bottom center}.shell i:nth-child(1){transform:rotate(-34deg)}.shell i:nth-child(2){transform:rotate(-17deg)}.shell i:nth-child(4){transform:rotate(17deg)}.shell i:nth-child(5){transform:rotate(34deg)}
.shell-one{left:5%;top:12%}.shell-two{right:2%;bottom:6%;transform:rotate(28deg) scale(.78);opacity:.65}
.hero-caption{position:absolute;bottom:22px;left:24px;font-family:var(--serif);font-style:italic;font-size:18px;color:var(--pearl)}
.hero-scroll{position:absolute;bottom:28px;left:4.5vw;font-size:9px;letter-spacing:.22em;color:#8c8881}.hero-scroll span{margin-left:10px}

.ticker{height:54px;background:var(--paper);color:var(--black);overflow:hidden;display:flex;align-items:center;border-top:1px solid #cfc7bc;border-bottom:1px solid #cfc7bc}
.ticker-track{display:flex;align-items:center;gap:24px;white-space:nowrap;min-width:max-content;animation:ticker 28s linear infinite;font-family:var(--serif);font-style:italic;font-size:18px}.ticker b{font-style:normal;font-family:var(--sans);font-size:9px}
@keyframes ticker{to{transform:translateX(-50%)}}

.intro,.services,.moments,.about,.inquire{padding:110px 4.5vw}
.section-kicker{color:#7c7872;margin-bottom:54px}.section-dark .section-kicker{color:#77736d}.section-light .eyebrow{color:#77736d}
.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;align-items:end}
.intro h2,.services h2,.about h2,.inquire h2{font-size:clamp(48px,6vw,96px)}
.intro h2 em,.services h2 em,.about h2 em,.inquire h2 em{color:#77726b}
.intro-copy{font-family:var(--serif);font-size:24px;line-height:1.45;max-width:620px}
.intro-copy .muted{font-family:var(--sans);font-size:14px;line-height:1.7;color:#77736c;margin-top:28px}
.ritual{display:grid;grid-template-columns:repeat(5,1fr);margin-top:90px;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.ritual article{min-height:220px;padding:22px 26px;border-right:1px solid var(--line-dark);display:flex;flex-direction:column}.ritual article:last-child{border-right:0}.ritual span{font-size:9px;color:#817d76}.ritual h3{font-family:var(--serif);font-weight:400;font-size:28px;margin:auto 0 8px}.ritual p{font-size:14px;line-height:1.55;color:#77736c;margin:0}

.services-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:end}.services-heading p{color:#6f6b64;line-height:1.7;max-width:520px;font-size:14px}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:76px;border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.package{position:relative;min-height:560px;padding:28px 30px 34px;border-right:1px solid var(--line-dark);display:flex;flex-direction:column;transition:.25s}.package:last-child{border-right:0}.package:hover{background:var(--paper)}.package.featured{background:#eee7db}.package-top{display:flex;justify-content:space-between;font-size:9px;color:#817d77;letter-spacing:.12em}.package h3{font-family:var(--serif);font-weight:400;font-size:42px;line-height:1.05;margin:86px 0 16px}.price{font-size:11px;color:#6f6b64;text-transform:uppercase;letter-spacing:.1em}.price strong{font-family:var(--serif);font-size:15px;font-weight:400;color:inherit;letter-spacing:-.01em;margin-left:8px;text-transform:none}.package ul{list-style:none;padding:0;margin:auto 0 0;border-top:1px solid var(--line-dark)}.package li{font-size:14px;color:#4c4841;padding:13px 0;border-bottom:1px solid rgba(9,9,9,.08)}.signature{position:absolute;right:18px;bottom:20px;font-size:8px;letter-spacing:.18em;writing-mode:vertical-rl;color:#817d77}
.addons{display:flex;justify-content:space-between;gap:40px;padding:24px 0;border-bottom:1px solid var(--line-dark);font-size:11px}.addons span{text-transform:uppercase;letter-spacing:.18em;color:#817d77}.addons p{margin:0;color:#57534c;text-align:right;font-size:13px}

.moment-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1px;background:#c8c1b7;border:1px solid #c8c1b7}.moment{background:var(--ivory);padding:22px;min-height:510px;display:flex;flex-direction:column}.moment-art{height:290px;margin-bottom:26px;position:relative;overflow:hidden;background:#cfc8bd}.moment-art:before,.moment-art:after{content:"";position:absolute;border-radius:50%}.art-corporate{background:linear-gradient(135deg,#171716,#55524e)}.art-corporate:before{width:280px;height:280px;background:radial-gradient(circle at 35% 30%,#fff,#bbb5aa 36%,#383735 66%,#111);right:5%;top:12%}.art-corporate:after{width:120px;height:120px;border:1px solid #cfc9bf;left:12%;bottom:12%}
.art-wedding{background:linear-gradient(145deg,#d9d2c7,#8f8a82)}.art-wedding:before{width:200px;height:125px;border-radius:50% 50% 40% 40% / 70% 70% 35% 35%;border:1px solid rgba(0,0,0,.35);left:12%;top:25%;transform:rotate(-15deg)}.art-wedding:after{width:80px;height:80px;background:radial-gradient(circle at 34% 30%,#fff,#ddd8ce 42%,#7f7b75);right:16%;bottom:18%}
.art-private{background:linear-gradient(135deg,#312e2b,#0c0c0c)}.art-private:before{width:160px;height:160px;background:radial-gradient(circle at 32% 30%,white,#d7d2c9 35%,#85817c 65%,#222);left:17%;top:20%}.art-private:after{width:180px;height:180px;border:1px solid rgba(255,255,255,.2);right:4%;bottom:-10%}
.art-brand{background:linear-gradient(110deg,#0b0b0b 0 42%,#d5cec3 42% 100%)}.art-brand:before{width:220px;height:140px;border:1px solid rgba(255,255,255,.35);left:15%;top:22%;border-radius:50% 50% 40% 40% / 70% 70% 35% 35%;transform:rotate(20deg)}.art-brand:after{width:150px;height:150px;background:radial-gradient(circle at 35% 30%,#fff,#dcd7ce 39%,#8d8983);right:14%;top:20%}
.moment span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#7c7770}.moment h3{font-family:var(--serif);font-size:34px;font-weight:400;margin:12px 0 10px}.moment-title-link{color:inherit;text-decoration:none;cursor:pointer;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-size:0 1px;background-position:0 100%;transition:background-size .3s ease}.moment-title-link:hover,.moment-title-link:focus-visible{background-size:100% 1px}.moment-title-link:focus-visible{outline:1px solid currentColor;outline-offset:6px}.moment p{font-size:14px;line-height:1.65;color:#77736d;max-width:500px}.moment-wide{grid-column:1 / -1;min-height:470px}.moment-wide .moment-art{height:250px}

.manifesto{min-height:620px;padding:80px 4.5vw;display:flex;align-items:center;justify-content:center;text-align:center;position:relative}.manifesto-mark{position:absolute;font-family:var(--serif);font-size:320px;color:rgba(9,9,9,.045);top:-20px}.manifesto blockquote{font-family:var(--serif);font-size:clamp(44px,5.8vw,88px);line-height:1.03;margin:0;max-width:1200px;font-weight:400}.manifesto em{color:#77726b}

.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.about-art{min-height:600px;background:#11110f;color:var(--ivory);padding:42px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.about-art:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.12);border-radius:50%;left:-220px;bottom:-220px}.pearl-stack{height:360px;position:relative}.pearl-stack span{position:absolute;border-radius:50%;background:radial-gradient(circle at 33% 30%,#fff,#ded8cf 34%,#8f8c86 62%,#333 100%)}.pearl-stack span:nth-child(1){width:240px;height:240px;left:7%;top:8%}.pearl-stack span:nth-child(2){width:130px;height:130px;right:4%;top:40%}.pearl-stack span:nth-child(3){width:80px;height:80px;left:36%;bottom:0}.about-art p{font-family:var(--serif);font-size:18px;line-height:1.4;letter-spacing:.12em}.about-copy p{font-size:15px;line-height:1.75;color:#706c66;max-width:690px}.about-details{margin-top:44px;border-top:1px solid var(--line-dark)}.about-details div{display:grid;grid-template-columns:130px 1fr;padding:15px 0;border-bottom:1px solid var(--line-dark);font-size:12px}.about-details span{color:#89847d}.about-details strong{font-weight:500}

.inquire{display:grid;grid-template-columns:.78fr 1.22fr;gap:10vw}.inquire-copy{position:sticky;top:130px;align-self:start}.inquire-copy p:last-child{max-width:490px;color:#6b6862;line-height:1.7;font-size:14px}.inquiry-form{display:grid;gap:25px}.inquiry-form label{display:grid;gap:9px}.inquiry-form label>span{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#817d77}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(9,9,9,.22);color:var(--black);padding:12px 0 15px;outline:none;border-radius:0}.inquiry-form input[type="date"]{color-scheme:light}.inquiry-form input:focus,.inquiry-form select:focus,.inquiry-form textarea:focus{border-color:var(--black)}.inquiry-form select option{background:#fff;color:#111}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}.form-submit{justify-self:start;margin-top:8px}.form-note{font-size:10px;color:#716e68;letter-spacing:.08em;line-height:1.6}.hidden{display:none}

.footer{background:var(--ivory);color:#4b4741;padding:44px 4.5vw;display:grid;grid-template-columns:1fr 1.6fr auto;gap:30px;align-items:end;border-top:1px solid var(--line-dark);font-size:10px}.footer-brand .brand-logo{height:64px;width:64px}.footer p{margin:0;text-align:center}.footer>a{text-transform:uppercase;letter-spacing:.12em}.footer>small{grid-column:1 / -1;border-top:1px solid var(--line-dark);padding-top:18px;color:#66625d}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}

@media(max-width:980px){
  .site-header{height:76px}.nav-toggle{display:block}.nav{position:fixed;inset:76px 0 auto 0;background:rgba(9,9,9,.97);padding:28px 4.5vw 38px;display:none;flex-direction:column;align-items:flex-start;border-bottom:1px solid rgba(255,255,255,.12)}.nav.open{display:flex}.nav .nav-cta{width:100%;text-align:center}
  .hero{grid-template-columns:1fr;padding-top:120px}.hero-art{height:54vh;min-height:430px;border-left:0;border-top:1px solid rgba(255,255,255,.13);margin-top:60px}.hero-scroll{display:none}.orb-xl{width:58vw;height:58vw;min-width:350px;min-height:350px}
  .intro-grid,.services-heading,.about-grid,.inquire{grid-template-columns:1fr;gap:50px}.inquire-copy{position:static}.ritual{grid-template-columns:repeat(2,1fr)}.ritual article:nth-child(2n){border-right:0}.ritual article:last-child{grid-column:1/-1}
  .package-grid{grid-template-columns:1fr}.package{min-height:450px;border-right:0;border-bottom:1px solid var(--line-dark)}.package:last-child{border-bottom:0}.package h3{margin-top:60px}
  .moment-grid{grid-template-columns:1fr}.moment-wide{grid-column:auto}.footer{grid-template-columns:1fr;align-items:start}.footer p{text-align:left}.footer>small{grid-column:auto}
}

@media(max-width:620px){
  .site-header{padding-left:20px;padding-right:20px}.brand span{font-size:17px}
  .hero,.intro,.services,.moments,.about,.inquire{padding-left:20px;padding-right:20px}.hero{padding-top:116px;padding-bottom:36px}.hero h1{font-size:56px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-art{min-height:360px}.shell-one{left:-12%;top:10%}.orb-sm{width:80px;height:80px}.orb-xl{right:-34vw;top:2vh}
  .intro,.services,.moments,.about,.inquire{padding-top:78px;padding-bottom:78px}.section-kicker{margin-bottom:38px}.intro h2,.services h2,.about h2,.inquire h2{font-size:48px}.intro-copy{font-size:20px}
  .ritual{grid-template-columns:1fr;margin-top:60px}.ritual article,.ritual article:nth-child(2n){border-right:0;border-bottom:1px solid var(--line-dark);min-height:160px}.ritual article:last-child{grid-column:auto;border-bottom:0}
  .package{padding:24px 20px}.package h3{font-size:37px}.addons{flex-direction:column}.addons p{text-align:left;line-height:1.7}
  .moment{min-height:auto;padding:16px}.moment-art{height:240px}.moment h3{font-size:30px}
  .manifesto{min-height:480px;padding-left:20px;padding-right:20px}.manifesto blockquote{font-size:43px}
  .about-art{min-height:500px;padding:28px}.pearl-stack span:nth-child(1){width:200px;height:200px}.about-details div{grid-template-columns:1fr;gap:6px}
  .form-row{grid-template-columns:1fr}.footer{padding-left:20px;padding-right:20px}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
