:root{--ink:#17130f;--ink-2:#211a15;--cream:#f2eadc;--paper:#faf6ef;--copper:#c98350;--copper-light:#e1ae81;--line:rgba(23,19,15,.18);--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--pad:clamp(1.25rem,4vw,4.5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5}a{color:inherit}button{font:inherit}.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:999;transform:translateY(-200%);background:var(--cream);padding:.75rem 1rem}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:absolute;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:1.3rem var(--pad);color:var(--cream);border-bottom:1px solid rgba(255,255,255,.14)}.brand{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none}.brand-mark{display:grid;place-items:center;width:2.7rem;height:2.7rem;border:1px solid var(--copper-light);border-radius:50%;font:700 .75rem var(--serif);letter-spacing:.08em}.brand strong,.brand small{display:block}.brand strong{font:600 1.1rem var(--serif);letter-spacing:.08em}.brand small{margin-top:.1rem;font-size:.57rem;text-transform:uppercase;letter-spacing:.19em;opacity:.7}.site-nav{display:flex;align-items:center;gap:2rem}.site-nav a{font-size:.75rem;text-decoration:none;text-transform:uppercase;letter-spacing:.15em}.nav-cta{padding:.8rem 1rem;border:1px solid var(--copper-light)}.menu-button{display:none;background:none;color:inherit;border:0;padding:.5rem}.menu-button span:not(.sr-only){display:block;width:24px;height:1px;margin:6px;background:currentColor}
.hero{position:relative;min-height:770px;display:grid;grid-template-columns:1.06fr .94fr;align-items:center;overflow:hidden;padding:9rem var(--pad) 5rem;background:var(--ink);color:var(--cream)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 45%,rgba(201,131,80,.16),transparent 35%),linear-gradient(115deg,transparent 0 48%,rgba(255,255,255,.025) 48% 49%,transparent 49%)}.hero-grain{position:absolute;inset:0;opacity:.25;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='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.07'/%3E%3C/svg%3E")}.hero-copy,.hero-art{position:relative;z-index:2}.eyebrow{margin:0 0 1.2rem;color:var(--copper);font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.22em}.hero h1,.section h2,.visit h2{margin:0;font:500 clamp(4.3rem,8.2vw,8.7rem)/.82 var(--serif);letter-spacing:-.055em}.hero h1 em{color:var(--copper-light);font-weight:400}.hero-intro{max-width:35rem;margin:2rem 0;color:rgba(242,234,220,.72);font:1.05rem/1.75 var(--sans)}.hero-actions,.visit-actions{display:flex;gap:.75rem;flex-wrap:wrap}.button{display:inline-flex;min-height:3.4rem;align-items:center;justify-content:center;padding:.9rem 1.25rem;text-decoration:none;text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.15em;border:1px solid transparent;transition:transform .2s ease,background .2s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--copper);color:#120f0d}.button-ghost{border-color:rgba(242,234,220,.4);color:var(--cream)}.button-dark{background:var(--ink);color:var(--cream)}.status-line{display:flex;align-items:center;gap:.55rem;margin-top:1.5rem;color:rgba(242,234,220,.65);font-size:.74rem}.status-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--copper);box-shadow:0 0 0 5px rgba(201,131,80,.12)}.hero-art{align-self:stretch;display:grid;place-items:center}.hero-art svg{width:min(100%,570px);height:auto}.hero-index{position:absolute;right:var(--pad);bottom:2rem;color:rgba(242,234,220,.18);font:2.6rem var(--serif)}
.marquee{overflow:hidden;background:var(--copper);color:#1b130e;padding:.9rem 0;white-space:nowrap}.marquee div{width:max-content;font:600 .7rem var(--sans);letter-spacing:.2em;text-transform:uppercase;animation:scroll 28s linear infinite}.marquee span{margin:0 1.7rem}@keyframes scroll{to{transform:translateX(-50%)}}
.section{padding:clamp(5.5rem,10vw,9rem) var(--pad)}.services-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem)}.section-heading h2,.hours-section h2,.faq-section h2{font-size:clamp(3.4rem,6vw,6.3rem)}.section-heading>p:last-child{max-width:25rem;margin:2rem 0;color:#655b52}.service-grid{border-top:1px solid var(--line)}.service-card{width:100%;display:grid;grid-template-columns:3rem 1fr auto;align-items:center;text-align:left;padding:1.35rem 0;background:none;color:var(--ink);border:0;border-bottom:1px solid var(--line);cursor:pointer;transition:padding .2s ease,color .2s ease}.service-card:hover,.service-card.is-active{padding-left:.75rem;color:#9d5930}.service-card:focus-visible{outline:2px solid var(--copper);outline-offset:4px}.service-number{font-size:.62rem;letter-spacing:.15em}.service-name{font:500 clamp(1.4rem,2.4vw,2.2rem) var(--serif)}.service-detail{grid-column:2;margin-top:1.5rem;max-width:32rem;padding-left:3.75rem;color:#655b52;min-height:3rem}
.ritual-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,9vw,9rem);align-items:center;background:var(--cream)}.ritual-visual{position:relative;min-height:520px;display:grid;place-items:center;overflow:hidden;background:var(--ink)}.ritual-visual:before{content:"";position:absolute;width:72%;aspect-ratio:1;border:1px solid rgba(201,131,80,.25);border-radius:50%}.seal{position:relative;z-index:2;width:13rem;aspect-ratio:1;display:grid;place-content:center;text-align:center;border:1px solid var(--copper);border-radius:50%;background:var(--ink);color:var(--cream);box-shadow:0 0 0 18px var(--ink),0 0 0 19px rgba(201,131,80,.3)}.seal span{font-size:.55rem;letter-spacing:.35em}.seal strong{display:block;color:var(--copper-light);font:500 3.8rem/.9 var(--serif);margin:.4rem 0}.blade{position:absolute;width:5px;height:90%;background:linear-gradient(var(--copper),var(--cream),var(--copper));opacity:.45}.blade:after{content:"";position:absolute;left:-9px;bottom:0;width:23px;height:75px;border:2px solid var(--copper);border-radius:50%}.blade-one{transform:rotate(43deg)}.blade-two{transform:rotate(-43deg)}.ritual-copy h2{font-size:clamp(3.5rem,6vw,6.5rem)}.ritual-copy>p{max-width:34rem;color:#655b52;font-size:1.05rem;line-height:1.8}.text-link{display:inline-flex;gap:.8rem;margin-top:1rem;padding-bottom:.35rem;border-bottom:1px solid;text-decoration:none;text-transform:uppercase;font-size:.68rem;font-weight:700;letter-spacing:.15em}
.hours-section{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,10vw,10rem);background:var(--ink-2);color:var(--cream)}.hours-note{max-width:25rem;color:rgba(242,234,220,.55)}.hours-list{margin:0}.hours-list div{display:flex;justify-content:space-between;gap:2rem;padding:1.5rem 0;border-bottom:1px solid rgba(242,234,220,.15)}.hours-list div.is-today{color:var(--copper-light)}.hours-list dt{font:500 1.2rem var(--serif)}.hours-list dd{margin:0;font-size:.8rem;text-align:right}
.visit{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:var(--copper-light)}.visit-copy{padding:clamp(5rem,9vw,9rem) var(--pad)}.visit h2{font-size:clamp(4rem,7vw,7.2rem)}.visit address{margin:2rem 0;font-style:normal;font:1.25rem/1.7 var(--serif)}.map-art{position:relative;overflow:hidden;display:grid;place-items:center;min-height:520px;background:#d2aa83}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(23,19,15,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(23,19,15,.08) 1px,transparent 1px);background-size:54px 54px}.street{position:absolute;background:#eddcc8;box-shadow:0 0 0 2px rgba(23,19,15,.08)}.horizontal{width:120%;height:45px;transform:rotate(-12deg)}.horizontal.one{top:24%}.horizontal.two{bottom:20%;transform:rotate(17deg)}.street.vertical{width:52px;height:120%;transform:rotate(4deg)}.pin{position:relative;z-index:2;width:5.3rem;height:5.3rem;display:grid;place-items:center;background:var(--ink);color:var(--cream);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 18px 35px rgba(23,19,15,.25)}.pin span{transform:rotate(45deg);font:700 1.1rem var(--serif);letter-spacing:.1em}.map-art p{position:absolute;bottom:2rem;z-index:2;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em}
.faq-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,9vw,9rem)}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;gap:1rem;padding:1.4rem 0;cursor:pointer;font:500 1.2rem var(--serif);list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list summary span{transition:transform .2s}.faq-list p{max-width:42rem;margin:0 0 1.4rem;color:#655b52}
footer{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:2rem;padding:3rem var(--pad);background:var(--ink);color:var(--cream);border-top:1px solid rgba(255,255,255,.12)}.footer-contact{display:grid;gap:.35rem}.footer-contact a{color:rgba(242,234,220,.65);font-size:.75rem;text-decoration:none}footer>p{margin:0;color:rgba(242,234,220,.45);font-size:.68rem}.mobile-bar{display:none}
@media(max-width:900px){.site-header{position:absolute}.menu-button{display:block}.site-nav{position:absolute;top:100%;left:0;right:0;display:none;align-items:stretch;flex-direction:column;gap:0;padding:1rem var(--pad) 1.5rem;background:var(--ink)}.site-nav.is-open{display:flex}.site-nav a{padding:.9rem 0}.nav-cta{border:0}.hero{grid-template-columns:1fr;padding-top:9rem}.hero-art{position:absolute;right:-14rem;bottom:-4rem;width:32rem;opacity:.28}.hero-copy{max-width:650px}.services-section,.ritual-section,.hours-section,.faq-section{grid-template-columns:1fr}.service-detail{grid-column:1}.visit{grid-template-columns:1fr}.map-art{min-height:460px}.ritual-visual{min-height:430px}.ritual-copy{padding-bottom:1rem}footer{grid-template-columns:1fr 1fr}.footer-contact{text-align:right}footer>p{grid-column:1/-1}.mobile-bar{position:fixed;z-index:30;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:var(--copper);color:var(--ink);box-shadow:0 -4px 30px rgba(0,0,0,.18)}.mobile-bar a{padding:1rem;text-align:center;text-decoration:none;text-transform:uppercase;font-size:.66rem;font-weight:700;letter-spacing:.15em}.mobile-bar a+ a{border-left:1px solid rgba(23,19,15,.22)}body{padding-bottom:3.1rem}}
@media(max-width:560px){.hero{min-height:720px}.hero h1{font-size:clamp(3.8rem,19vw,5.4rem)}.hero-intro{font-size:.95rem}.button{width:100%}.services-section{padding-top:5rem}.service-card{grid-template-columns:2.5rem 1fr auto}.service-detail{padding-left:0}.hours-list div{display:block}.hours-list dd{text-align:left;margin-top:.35rem}.visit h2{font-size:3.8rem}.map-art{min-height:380px}.ritual-visual{min-height:360px}.seal{width:10rem}.footer-contact{text-align:left}footer{grid-template-columns:1fr}.footer-contact,footer>p{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}.button,.service-card{transition:none}}
