:root { --ink:#193229; --pine:#1e3b30; --moss:#68745e; --linen:#eee9dc; --paper:#f6f3eb; --clay:#aa755c; --sun:#d9a25d; --line:rgba(25,50,41,.22); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",sans-serif; font-size:16px; line-height:1.55; } img { display:block; width:100%; height:100%; object-fit:cover; } .topbar { min-height:92px; display:flex; align-items:center; justify-content:space-between; padding:20px 4.8vw; border-bottom:1px solid var(--line); position:absolute; top:0; width:100%; z-index:3; color:var(--paper); border-color:rgba(255,255,255,.32); } .mark { color:inherit; text-decoration:none; font:500 14px/1 "DM Mono",monospace; text-transform:uppercase; letter-spacing:.11em; display:flex; align-items:center; gap:8px; } .mark i { width:15px; height:1px; background:currentColor; } nav { display:flex; gap:28px; } nav a { color:inherit; font-size:12px; letter-spacing:.07em; text-transform:uppercase; text-decoration:none; } .button { display:inline-flex; align-items:center; justify-content:center; gap:22px; color:var(--paper); background:var(--pine); padding:16px 20px; min-width:180px; font-size:12px; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; transition:background .25s, transform .25s; } .button:hover { background:#345344; transform:translateY(-2px); } .button span { font-size:18px; line-height:0; } .button-small { background:transparent; border:1px solid rgba(255,255,255,.5); padding:11px 15px; min-width:0; }
.hero { min-height:820px; background:var(--pine); color:var(--paper); display:grid; grid-template-columns:48% 52%; position:relative; overflow:hidden; } .hero-copy { padding:195px 5vw 80px 9.5vw; display:flex; flex-direction:column; align-items:flex-start; } .eyebrow { font:500 10px/1.3 "DM Mono",monospace; letter-spacing:.14em; text-transform:uppercase; margin:0 0 28px; } h1,h2,h3,p { margin-top:0; } h1,h2 { font-family:"Instrument Serif",Georgia,serif; font-weight:400; line-height:.91; letter-spacing:-.035em; } h1 { font-size:clamp(70px,8.2vw,136px); margin:0 0 35px; } h1 em,h2 em { color:#ddc79e; font-style:italic; } .hero-intro { max-width:360px; font-size:17px; line-height:1.65; margin-bottom:40px; color:#e2e7dc; } .text-link { color:inherit; font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:8px; } .text-link span { margin-left:25px; font-size:16px; } .hero-image { margin:0; position:relative; min-height:820px; } .hero-image:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(21,49,39,.15),transparent 40%); } .hero-image img { filter:saturate(.77) contrast(.96); } .hero-image figcaption { position:absolute; z-index:1; bottom:38px; left:35px; font:italic 24px/1 "Instrument Serif",Georgia,serif; color:white; } .side-note { writing-mode:vertical-rl; transform:rotate(180deg); position:absolute; left:3.5vw; bottom:48px; text-transform:uppercase; letter-spacing:.17em; font:10px/1.7 "DM Mono",monospace; }
.manifesto { padding:150px 9.5vw 140px; }.manifesto-grid { display:grid; grid-template-columns:1.4fr .6fr; gap:10vw; align-items:end; } h2 { font-size:clamp(53px,6.5vw,100px); margin:0; } .manifesto-grid > div { color:#405048; font-size:16px; } .manifesto-grid p { margin:0 0 20px; }.image-break { height:min(55vw,760px); position:relative; overflow:hidden; background:var(--moss); }.image-break img { filter:saturate(.78); object-position:center 48%; }.image-break:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(19,44,35,.42),rgba(19,44,35,.02)); }.image-break p { position:absolute; z-index:1; left:9.5vw; bottom:9%; color:white; font:italic clamp(33px,4vw,62px)/.95 "Instrument Serif",Georgia,serif; }
.offerings { background:var(--linen); padding:140px 9.5vw; }.section-heading { margin-bottom:80px; }.offering-list { border-top:1px solid var(--line); }.offering-list article { display:grid; grid-template-columns:70px 1fr 40px; gap:28px; align-items:center; padding:29px 0; border-bottom:1px solid var(--line); transition:padding .25s; }.offering-list article:hover { padding-left:15px; }.number { font:10px "DM Mono",monospace; color:var(--moss); }.offering-list h3 { font:400 clamp(30px,3.4vw,48px)/1 "Instrument Serif",Georgia,serif; margin:0 0 5px; }.offering-list p { color:#526057; margin:0; }.arrow { font-size:22px; }.details { min-height:760px; display:grid; grid-template-columns:50% 50%; background:#405141; color:var(--paper); }.details-photo { min-height:600px; }.details-photo img { filter:saturate(.67); }.details-copy { padding:130px 16% 80px; }.details-copy h2 { font-size:clamp(55px,5.3vw,84px); margin-bottom:40px; }.details-copy > p:not(.eyebrow):not(.fine-print) { color:#e3e8dd; max-width:390px; margin-bottom:20px; }.fine-print { font:10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; color:#c6d0c3; margin-top:38px; }.ritual { padding:145px 9.5vw 130px; }.ritual > h2 { margin-bottom:85px; }.ritual ol { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:5vw; }.ritual li { border-top:1px solid var(--line); padding-top:22px; }.ritual li span { font:10px "DM Mono",monospace; }.ritual strong { display:block; font:400 29px/1.1 "Instrument Serif",Georgia,serif; margin:45px 0 15px; }.ritual li p { color:#536158; max-width:280px; }.inquire { background:var(--clay); color:#fff8eb; padding:145px 9.5vw 110px; min-height:620px; }.inquire h2 { margin-bottom:34px; }.inquire > p:not(.eyebrow):not(.contact-note) { max-width:405px; font-size:17px; margin-bottom:35px; }.inquire .button { background:var(--paper); color:var(--pine); }.inquire .button:hover { background:#f5ddbb; }.contact-note { margin-top:100px; font:10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.1em; }footer { padding:34px 4.8vw; background:var(--pine); color:#eae8dd; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:11px; } footer p { margin:0; }
.pricing { padding:145px 9.5vw 125px; background:var(--paper); }.pricing .section-heading { display:grid; grid-template-columns:1.25fr .75fr; column-gap:8vw; }.pricing .section-heading .eyebrow,.pricing .section-heading h2 { grid-column:1; }.pricing-intro { grid-column:2; grid-row:2; align-self:end; color:#536158; margin:0; }.price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.price-card { min-height:475px; padding:34px 31px; border:1px solid var(--line); display:flex; flex-direction:column; background:#f7f4ec; }.price-card.featured { background:var(--pine); color:var(--paper); border-color:var(--pine); transform:translateY(-14px); box-shadow:0 20px 35px rgba(25,50,41,.12); }.price-card .eyebrow { margin-bottom:46px; }.price { margin:0 0 9px; font:clamp(56px,5vw,76px)/.85 "Instrument Serif",Georgia,serif; letter-spacing:-.045em; }.price sup { display:block; margin-bottom:10px; font:10px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.12em; }.duration { min-height:48px; color:#58655e; font-size:14px; margin:0 0 36px; }.featured .duration { color:#d5dccf; }.price-card ul { list-style:none; padding:22px 0 0; margin:auto 0 0; border-top:1px solid var(--line); font-size:13px; }.featured ul { border-color:rgba(255,255,255,.28); }.price-card li { padding:8px 0 8px 17px; position:relative; }.price-card li:before { content:"·"; position:absolute; left:1px; color:var(--sun); font-size:19px; line-height:.7; }.add-ons { max-width:730px; margin:46px auto 0; text-align:center; color:#5a675e; font-size:14px; }.add-ons span { display:block; color:var(--pine); font:italic 28px "Instrument Serif",Georgia,serif; margin-bottom:6px; }
.gallery-topbar { position:relative; color:var(--ink); border-color:var(--line); }.gallery-topbar .button-small { color:var(--ink); border-color:var(--line); }.gallery-hero { padding:130px 9.5vw 105px; background:var(--linen); }.gallery-hero h1 { font-size:clamp(72px,9vw,148px); margin-bottom:33px; }.gallery-hero > p:last-child { max-width:390px; color:#536158; font-size:17px; }.gallery-grid { padding:14px; display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:90px; gap:14px; background:var(--paper); }.gallery-grid figure { grid-column:span 4; grid-row:span 6; margin:0; position:relative; overflow:hidden; background:var(--linen); }.gallery-grid figure.wide { grid-column:span 8; }.gallery-grid figure.tall { grid-row:span 8; }.gallery-grid img { transition:transform .6s ease; }.gallery-grid figure:hover img { transform:scale(1.035); }.gallery-grid figcaption { position:absolute; left:20px; bottom:18px; right:20px; color:white; font:italic 25px/1 "Instrument Serif",Georgia,serif; text-shadow:0 1px 15px rgba(0,0,0,.5); }.gallery-cta { padding:145px 9.5vw; background:var(--pine); color:var(--paper); text-align:center; }.gallery-cta h2 { margin:0 0 44px; }.gallery-cta .button { background:var(--paper); color:var(--pine); }
@media (max-width:760px) { .topbar { min-height:70px; padding:16px 6vw; }.topbar nav { display:none; }.button-small { font-size:9px; padding:9px 10px; }.hero { display:block; min-height:790px; }.hero-copy { position:relative; z-index:2; padding:158px 8vw 75px; min-height:790px; justify-content:flex-start; background:linear-gradient(90deg,rgba(20,52,40,.86),rgba(20,52,40,.32)); }.hero-image { position:absolute; inset:0; min-height:auto; }.hero-image figcaption { display:none; }.hero-copy .eyebrow { margin-bottom:25px; }.hero-intro { font-size:16px; }.side-note { display:none; }.manifesto,.offerings,.pricing,.ritual,.inquire { padding:92px 8vw; }.manifesto-grid,.details { display:block; }.manifesto-grid h2 { margin-bottom:42px; }.image-break { height:560px; }.image-break p { left:8vw; }.section-heading { margin-bottom:50px; }.offering-list article { grid-template-columns:36px 1fr 25px; gap:12px; }.offering-list p { font-size:14px; }.pricing .section-heading { display:block; }.pricing-intro { margin-top:30px; }.price-grid { display:block; }.price-card { min-height:0; margin-bottom:16px; padding:30px 25px; }.price-card.featured { transform:none; }.price-card .eyebrow { margin-bottom:37px; }.price-card ul { margin-top:23px; }.details-photo { height:480px; min-height:0; }.details-copy { padding:85px 8vw; }.ritual > h2 { margin-bottom:55px; }.ritual ol { display:block; }.ritual li { margin-bottom:38px; }.ritual strong { margin:25px 0 12px; }.inquire { min-height:0; }.contact-note { margin-top:65px; }.gallery-hero { padding:88px 8vw 75px; }.gallery-grid { grid-template-columns:repeat(2,1fr); grid-auto-rows:125px; gap:8px; padding:8px; }.gallery-grid figure,.gallery-grid figure.wide { grid-column:span 2; grid-row:span 4; }.gallery-grid figure.tall { grid-row:span 5; }.gallery-cta { padding:90px 8vw; } footer { padding:30px 7vw; display:block; } footer p { margin-top:15px; } }
