:root{--ink: #2a2320;--ink-soft: #6f6158;--paper: #faf7f3;--paper-2: #f3ece5;--blush: #ecdfd6;--bronze: #a67b5b;--bronze-deep: #8a6248;--line: #e5dbd1;--placeholder: #b9ada3;--serif: "Cormorant Garamond", Georgia, serif;--sans: "Jost", "Helvetica Neue", sans-serif;--wrap: 1160px;--pad: clamp(20px, 4vw, 48px);--section: clamp(72px, 10vw, 128px)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);font-weight:300;font-size:18px;line-height:1.72;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}::selection{background:var(--blush)}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:.005em}.display{font-size:clamp(50px,6.6vw,88px)}.display em,.h-lg em{font-style:italic;color:var(--bronze-deep)}.h-lg{font-size:clamp(37px,4.2vw,56px)}.h-md{font-size:clamp(28px,3.1vw,36px)}.lede{font-size:clamp(18px,1.7vw,21px);color:var(--ink-soft);max-width:50ch}.label{display:inline-flex;align-items:center;gap:14px;font-size:13px;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:var(--bronze)}.label:before{content:"";width:34px;height:1px;background:var(--bronze);opacity:.6}.label--center:before{display:none}.btn{display:inline-block;padding:15px 34px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;border:1px solid var(--ink);transition:background .3s ease,border-color .3s ease;cursor:pointer}.btn:hover{background:var(--bronze-deep);border-color:var(--bronze-deep)}.btn--ghost{background:transparent;color:var(--ink)}.btn--ghost:hover{background:var(--ink);color:var(--paper)}.btn--light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn--light:hover{background:var(--blush);border-color:var(--blush)}.text-link{font-size:13px;letter-spacing:.22em;text-transform:uppercase;border-bottom:1px solid var(--bronze);padding-bottom:5px;transition:color .3s ease}.text-link:hover{color:var(--bronze-deep)}.site-header{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(8px);position:sticky;top:0;z-index:50}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:20px}.wordmark{font-family:var(--serif);font-size:21px;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap}.wordmark span{color:var(--bronze)}.site-nav{display:flex;align-items:center;gap:clamp(20px,3vw,40px)}.site-nav a:not(.btn){font-size:13px;letter-spacing:.22em;text-transform:uppercase;padding-bottom:4px;border-bottom:1px solid transparent;transition:border-color .3s ease,color .3s ease}.site-nav a:not(.btn):hover{color:var(--bronze-deep)}.site-nav a[aria-current=page]{border-bottom-color:var(--bronze)}.site-nav .btn{padding:11px 22px}@media(max-width:640px){.site-header .wrap{flex-direction:column;gap:14px;padding-block:16px}.site-nav .btn{display:none}}.section{padding-block:var(--section)}.section--tint{background:var(--paper-2)}.section-head{max-width:640px;margin-bottom:clamp(40px,5vw,64px)}.section-head .label{margin-bottom:18px}.section-head--center{margin-inline:auto;text-align:center}.hero{overflow:hidden}.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,88px);align-items:center;padding-block:clamp(56px,7vw,104px)}.hero-copy .label,.hero-copy .display{margin-bottom:26px}.hero-copy .lede{margin-bottom:36px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-bottom:44px}.hero-occasions{font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:22px}.hero-figure{position:relative}.hero-figure img{width:100%;aspect-ratio:4 / 5;object-fit:cover}.hero-figure:after{content:"";position:absolute;inset:18px;border:1px solid rgba(250,247,243,.55);pointer-events:none}@media(max-width:860px){.hero .wrap{grid-template-columns:1fr}.hero-figure{order:-1}.hero-figure img{aspect-ratio:4 / 3}}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,96px);align-items:center}.about-grid figure img{width:100%;aspect-ratio:3 / 4;object-fit:cover}.about-copy .label{margin-bottom:18px}.about-copy h2{margin-bottom:24px;max-width:18ch}.about-copy p{color:var(--ink-soft);max-width:58ch}.about-copy p+p{margin-top:18px}.signature{font-family:var(--serif);font-style:italic;font-size:28px;color:var(--bronze-deep);margin-top:28px}@media(max-width:860px){.about-grid{grid-template-columns:1fr}}.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.svc-card{background:var(--paper);padding:clamp(28px,3.4vw,44px);display:flex;flex-direction:column;gap:14px;transition:background .35s ease}.svc-card:hover{background:var(--paper-2)}.svc-card h3{font-size:clamp(26px,2.5vw,32px)}.svc-card p{color:var(--ink-soft);font-size:17px;flex-grow:1}.svc-card .price{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze-deep)}.svc-more{margin-top:40px;text-align:center}@media(max-width:860px){.svc-cards{grid-template-columns:1fr}}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,30px);max-width:940px;margin-inline:auto}.gallery-grid figure{margin:0}.gallery-grid img{width:100%;aspect-ratio:5 / 6;object-fit:cover;object-position:50% 28%;transition:opacity .35s ease}.gallery-grid a:hover img{opacity:.85}.gallery-follow{margin-top:clamp(56px,6vw,80px);text-align:center}@media(max-width:640px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}.quote{max-width:780px;margin-inline:auto;text-align:center}.quote blockquote{font-family:var(--serif);font-style:italic;font-size:clamp(26px,2.9vw,36px);line-height:1.45;margin-bottom:28px}.quote blockquote:before{content:"“";color:var(--bronze)}.quote blockquote:after{content:"”";color:var(--bronze)}.quote cite{font-style:normal;font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft)}.cta-band{background:var(--blush);text-align:center}.cta-band h2{margin-bottom:16px}.cta-band p{color:var(--ink-soft);max-width:46ch;margin:0 auto 36px}.svc-rows{border-top:1px solid var(--line)}.svc-row{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,4vw,72px);padding-block:clamp(40px,5vw,64px);border-bottom:1px solid var(--line)}.svc-row h2{font-size:clamp(30px,3.1vw,40px);margin-bottom:12px}.svc-row .price{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze-deep)}.svc-row .desc{color:var(--ink-soft);margin-bottom:26px;max-width:60ch}.includes{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 28px}.includes li{font-size:16px;color:var(--ink);padding-left:22px;position:relative}.includes li:before{content:"—";position:absolute;left:0;color:var(--bronze)}.svc-note{font-family:var(--serif);font-style:italic;font-size:21px;color:var(--ink-soft);max-width:60ch;margin-top:clamp(32px,4vw,48px)}@media(max-width:760px){.svc-row{grid-template-columns:1fr;gap:18px}.includes{grid-template-columns:1fr}}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(32px,4vw,56px)}.step .num{font-family:var(--serif);font-style:italic;font-size:46px;color:var(--bronze);display:block;margin-bottom:14px}.step h3{font-size:26px;margin-bottom:10px}.step p{color:var(--ink-soft);font-size:17px}@media(max-width:760px){.steps{grid-template-columns:1fr}}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(48px,7vw,110px);align-items:start}.contact-copy .label{margin-bottom:18px}.contact-copy h1{margin-bottom:22px}.contact-copy .lede{margin-bottom:44px}.contact-details{list-style:none;border-top:1px solid var(--line)}.contact-details li{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-block:18px;border-bottom:1px solid var(--line);font-size:16.5px}.contact-details--inline{border-top:none;display:flex;justify-content:center;flex-wrap:wrap;gap:12px 40px;margin-top:36px}.contact-details--inline li{border-bottom:none;padding-block:0;gap:12px}.contact-details .title{font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft)}.contact-details a{border-bottom:1px solid var(--bronze);transition:color .3s ease}.contact-details a:hover{color:var(--bronze-deep)}.form-note{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--ink-soft)}.form-section{padding-top:clamp(48px,6vw,72px)}.form-wrap{max-width:800px}.booking-form{display:grid;gap:clamp(40px,5vw,56px)}.form-block{border:none;display:grid;gap:26px}.form-legend{font-family:var(--serif);font-size:clamp(25px,2.6vw,31px);color:var(--ink);padding:0 0 16px;margin-bottom:4px;width:100%;border-bottom:1px solid var(--line)}.field-hint{font-size:16.5px;color:var(--ink-soft);margin-top:-8px;max-width:62ch}.req{color:var(--bronze)}.field{display:grid;gap:10px}.field label{font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}.field input,.field select,.field textarea{font-family:var(--sans);font-weight:400;font-size:17px;line-height:1.4;color:var(--ink);background:#fff;border:1px solid var(--line);padding:14px 16px;border-radius:2px;width:100%;transition:border-color .25s ease,box-shadow .25s ease}.field input::placeholder,.field textarea::placeholder{color:var(--placeholder);font-style:italic;font-weight:300;opacity:1}.field select{appearance:none;cursor:pointer;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%238a6248' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--bronze);box-shadow:0 0 0 3px #a67b5b21}.field textarea{resize:vertical;min-height:150px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:30px}.checkbox-grid{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 30px}.checkbox-grid li{display:flex;align-items:flex-start;gap:12px}.checkbox-grid input{appearance:none;flex:0 0 auto;width:20px;height:20px;margin-top:3px;border:1px solid var(--line);border-radius:2px;background:#fff;cursor:pointer;transition:background .2s ease,border-color .2s ease}.checkbox-grid input:checked{background:var(--bronze-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 11'%3E%3Cpath d='M1 5.5 5 9.5 13 1.5' fill='none' stroke='%23fff' stroke-width='2'/%3E%3C/svg%3E") no-repeat center / 11px;border-color:var(--bronze-deep)}.checkbox-grid input:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}.checkbox-grid label{font-size:17px;color:var(--ink);cursor:pointer;line-height:1.5}.form-submit{display:grid;justify-items:start;gap:20px}@media(max-width:640px){.checkbox-grid{grid-template-columns:1fr}}@media(max-width:560px){.field-row{grid-template-columns:1fr}}@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}.page-head{padding-block:clamp(64px,8vw,104px) clamp(40px,6vw,72px);text-align:center}.page-head .label{margin-bottom:20px}.page-head h1{margin-bottom:22px}.page-head .lede{margin-inline:auto}.site-footer{background:var(--ink);color:var(--paper);padding-block:clamp(56px,7vw,88px) 36px}.footer-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:40px;padding-bottom:48px;border-bottom:1px solid rgba(250,247,243,.15);margin-bottom:28px}.footer-brand .wordmark{font-size:24px}.footer-brand p{margin-top:14px;font-size:16px;color:#faf7f399;max-width:34ch}.footer-col h4{font-size:11px;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:var(--bronze);margin-bottom:16px}.footer-col ul{list-style:none;display:grid;gap:10px}.footer-col a{font-size:16px;color:#faf7f3bf;transition:color .3s ease}.footer-col a:hover{color:var(--paper)}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;letter-spacing:.08em;color:#faf7f373}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
