:root{--radius:16px;--background:#f6f1ec;--foreground:#241c18;--card:#fff;--primary:#8a6a52;--primary-foreground:#fff;--muted-foreground:#6f635b;--accent:#ede4db;--champagne:#cdb59b;--hero-bg:#e9dfd5;--ghost:#f3ece5;--border:#e4d9cf;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",system-ui,sans-serif}*{box-sizing:border-box;border-color:var(--border);margin:0;padding:0}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--background);color:var(--foreground);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;font-weight:500}.wrap{max-width:80rem;margin:0 auto;padding:0 1.25rem}@media (width>=768px){.wrap{padding:0 2.5rem}}.eyebrow{letter-spacing:.22em;color:var(--primary);text-transform:uppercase;font-size:12px;font-weight:600}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.reveal{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:none}:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:6px}.skip{z-index:100;background:var(--card);border-radius:8px;padding:.5rem 1rem;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.btn{letter-spacing:.025em;cursor:pointer;min-height:40px;font-size:13px;font-weight:600;font-family:var(--sans);border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 1.25rem;transition:all .3s;display:inline-flex}@media (width>=768px){.btn{padding:0 1.75rem;font-size:14px}}.btn-primary{background:var(--primary);color:var(--primary-foreground)}.btn-primary:hover{filter:brightness(.93);transform:translateY(-2px)}header.site{z-index:50;color:var(--foreground);transition:all .5s;position:fixed;inset:0 0 auto}header.site.scrolled{background:var(--card);box-shadow:0 1px 2px #0000000f}.hbar{align-items:center;gap:.75rem;max-width:80rem;margin:0 auto;padding:.75rem 1.25rem;display:flex}@media (width>=768px){.hbar{gap:2rem;padding:1.25rem 2.5rem}}.logo{flex-shrink:0;align-items:center;display:flex}.logo svg,.logo img{width:auto;height:36px}@media (width>=768px){.logo svg,.logo img{height:50px}}.hnav{flex:1;gap:1rem;display:flex;overflow-x:auto}@media (width>=768px){.hnav{justify-content:center;gap:2.25rem}}.hnav a{opacity:.9;flex-shrink:0;font-size:13px;font-weight:500}.hnav a:hover{opacity:1}@media (width>=768px){.hnav a{font-size:14px}}.hbook{background:var(--foreground);color:var(--background);flex-shrink:0;padding:0 1rem}header.site.scrolled .hbook{background:var(--primary);color:var(--primary-foreground)}.hero{background:var(--hero-bg);grid-template-columns:52% 48%;width:100%;height:100vh;min-height:600px;display:grid;position:relative;overflow:hidden}.hero .ghost{color:var(--ghost);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;letter-spacing:.02em;font-family:Italiana,serif;line-height:.8;position:absolute}.hero .g1{writing-mode:vertical-rl;font-size:clamp(7rem,13vw,13rem);top:6rem;left:-.05em;transform:rotate(180deg)}.hero .g2{font-size:clamp(6rem,14vw,14rem);bottom:-.08em;right:-.06em}.hero .photo{align-self:end;height:calc(100% - 4.5rem);margin-left:6%;animation:1.2s both heroIn;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 78%,#0000);mask-image:linear-gradient(90deg,#000 78%,#0000)}.hero .photo img{object-fit:cover;object-position:center 25%;width:100%;height:100%}.hero .copy{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:5rem 2rem 2rem;animation:1.2s .2s both heroIn;display:flex;position:relative}.hero h1{letter-spacing:-.01em;font-family:Italiana,serif;font-size:clamp(3rem,6.4vw,6.6rem);font-weight:400;line-height:.9}.hero .script{color:#5e4c40;margin-top:-.05em;font-family:Mrs Saint Delafield,cursive;font-size:clamp(3rem,6.2vw,6.4rem);line-height:.6;display:block}.hero .sub{color:var(--muted-foreground);letter-spacing:.04em;max-width:26rem;margin-top:2.6rem;font-size:14px}.hero .pill{border:1.5px solid var(--foreground);letter-spacing:.16em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;min-height:58px;margin-top:1.6rem;padding:0 3.2rem;font-size:14px;font-weight:600;transition:all .35s;display:inline-flex}.hero .pill:hover{background:var(--foreground);color:var(--hero-bg)}.hero .call{color:var(--muted-foreground);margin-top:1rem;font-size:13px}.hero .call a{color:var(--foreground);border-bottom:1px solid var(--champagne);font-weight:600}@keyframes heroIn{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:none}}@media (width<=767px){.hero{flex-direction:column;height:auto;min-height:0;display:flex}.hero .photo{border-radius:var(--radius) var(--radius) 0 0;order:2;height:62vh;margin:0 1.25rem;-webkit-mask-image:linear-gradient(#000 78%,#0000);mask-image:linear-gradient(#000 78%,#0000)}.hero .copy{order:1;padding:6.5rem 1.25rem 2rem}.hero .g1{font-size:6rem;top:4rem}.hero .g2{font-size:5.5rem}.hero .sub{margin-top:1.8rem}.hero .pill{min-height:52px;padding:0 2.4rem}}.promises{border-bottom:1px solid var(--border);background:var(--card)}.promises .row{gap:1.5rem;max-width:80rem;margin:0 auto;padding:1.25rem;display:flex;overflow-x:auto}@media (width>=768px){.promises .row{grid-template-columns:repeat(4,1fr);padding:2rem 2.5rem;display:grid}}.promise{flex-shrink:0;align-items:center;gap:.75rem;display:flex}@media (width>=768px){.promise{justify-content:center}}.promise svg{width:20px;height:20px;color:var(--primary)}@media (width>=768px){.promise svg{width:24px;height:24px}}.promise span{font-size:13px;font-weight:500}@media (width>=768px){.promise span{font-size:14px}}.ico{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.sec{padding:5rem 0}@media (width>=768px){.sec{padding:8rem 0}}.bg-card{background:var(--card)}.heading{text-align:center;margin-bottom:2rem}@media (width>=768px){.heading{margin-bottom:3.5rem}}.heading h2{margin-top:.75rem;font-size:32px;line-height:1.15}@media (width>=768px){.heading h2{font-size:3rem}}.rowx{scroll-snap-type:x mandatory;gap:1rem;margin:0 -1.25rem;padding:0 1.25rem;display:flex;overflow-x:auto}.rowx>*{scroll-snap-align:start;flex-shrink:0;width:80%}@media (width>=768px){.rowx{gap:1.5rem;margin:0;padding:0;display:grid;overflow:visible}.rowx>*{width:auto}.cols3{grid-template-columns:repeat(3,1fr)}.cols4{grid-template-columns:repeat(4,1fr)}}.dots{justify-content:center;gap:.5rem;margin-top:1.25rem;display:flex}@media (width>=768px){.dots{display:none}}.dots span{background:var(--champagne);border-radius:999px;width:6px;height:6px;transition:all .3s}.dots span.on{background:var(--primary);width:20px}.tcard{border-radius:var(--radius);background:var(--card);box-shadow:0 20px 40px -30px var(--foreground);overflow:hidden}.tcard .ph{aspect-ratio:4/5;overflow:hidden}.tcard img,.gitem img{object-fit:cover;width:100%;height:100%;transition:transform .7s}.tcard:hover img,.gitem:hover img{transform:scale(1.05)}.tcard .body{padding:1.25rem}@media (width>=768px){.tcard .body{padding:1.75rem}}.tcard h3{font-size:1.5rem}@media (width>=768px){.tcard h3{font-size:1.875rem}}.tcard p{color:var(--muted-foreground);margin-top:.5rem;font-size:13px}@media (width>=768px){.tcard p{font-size:1rem}}.tcard a{color:var(--primary);margin-top:1rem;font-size:13px;font-weight:600;display:inline-block}@media (width>=768px){.tcard a{font-size:14px}}.prices{max-width:48rem;margin:0 auto;padding:0 1.25rem}@media (width>=768px){.prices{padding:0 2.5rem}}.plist{list-style:none}.pcat{font-family:var(--sans);letter-spacing:.22em;color:var(--primary);text-transform:uppercase;margin:2.6rem 0 .2rem;font-size:12px;font-weight:600}.pcat:first-child{margin-top:0}.plist li{border-bottom:1px solid var(--border);align-items:baseline;gap:.75rem;padding:1rem 0;display:flex}@media (width>=768px){.plist li{padding:1.25rem 0}}.plist .n{font-family:var(--serif);font-size:1.25rem}@media (width>=768px){.plist .n{font-size:1.5rem}}.plist .n small{font-family:var(--sans);color:var(--muted-foreground);letter-spacing:.02em;margin-left:.5rem;font-size:12px}.plist .lead{border-bottom:1px dotted var(--champagne);flex:1;transform:translateY(-4px)}.plist .p{color:var(--foreground);white-space:nowrap;font-size:13px;font-weight:600}@media (width>=768px){.plist .p{font-size:1rem}}.pnote{text-align:center;color:var(--muted-foreground);margin-top:1.5rem;font-size:13px}@media (width>=768px){.pnote{font-size:15px}}.center{text-align:center;margin-top:2.5rem}.about{grid-template-columns:1fr 1fr;align-items:center;gap:1.25rem;display:grid}@media (width>=768px){.about{gap:5rem}}.about img{aspect-ratio:11/12;object-position:center 30%;border-radius:var(--radius);object-fit:cover;width:100%;height:auto}.about h2{margin-top:.5rem;font-size:24px;line-height:1.15}@media (width>=768px){.about h2{margin-top:.75rem;font-size:3rem}}.about p.t{color:var(--muted-foreground);margin-top:.75rem;font-size:13px;line-height:1.65}@media (width>=768px){.about p.t{margin-top:1.5rem;font-size:1.125rem}}.rcard{border-radius:var(--radius);background:var(--background);flex-direction:column;justify-content:space-between;min-height:220px;padding:1.75rem;display:flex}@media (width>=768px){.rcard{padding:2.5rem}}.rcard .stars{color:var(--primary);letter-spacing:.2em;font-size:15px}.rcard blockquote{font-family:var(--serif);margin-top:1rem;font-size:1.5rem;font-style:italic;line-height:1.3}@media (width>=768px){.rcard blockquote{font-size:1.75rem}}.rcard figcaption{color:var(--muted-foreground);margin-top:1.5rem;font-size:13px}.gitem{aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden}.contact{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}@media (width>=768px){.contact{gap:4rem}}.contact h2{font-size:26px;line-height:1.15}@media (width>=768px){.contact h2{font-size:3.75rem}}.contact .sub{color:var(--muted-foreground);margin-top:.75rem;font-size:13px}@media (width>=768px){.contact .sub{margin-top:1.25rem;font-size:1.125rem}}.contact .big{margin-top:1.25rem}@media (width>=768px){.contact .big{min-height:56px;margin-top:2rem;padding:0 2.5rem;font-size:1rem}}.clist{margin-top:1.5rem;font-size:13px;list-style:none}@media (width>=768px){.clist{margin-top:2.5rem;font-size:1rem}}.clist li{gap:.75rem;margin-bottom:.75rem;display:flex}@media (width>=768px){.clist li{margin-bottom:1.25rem}}.clist svg{width:16px;height:16px;color:var(--primary);flex-shrink:0;margin-top:2px}.clist b{font-weight:600}.clist .hrs{grid-template-columns:auto auto;gap:0 .9rem;margin-top:.3rem;display:grid}.clist .hrs .today{color:var(--primary);font-weight:600}.mapcard{border-radius:var(--radius);height:100%;min-height:280px;display:block;position:relative;overflow:hidden}@media (width>=768px){.mapcard{min-height:460px}}.mapcard img{object-fit:cover;width:100%;height:100%;transition:transform .7s;position:absolute;inset:0}.mapcard:hover img{transform:scale(1.04)}.mapcard:after{content:"";background:linear-gradient(#241c180d 40%,#241c18c7);position:absolute;inset:0}.mapcard .pin{z-index:1;color:#fff;position:absolute;bottom:1rem;left:1rem;right:1rem}@media (width>=768px){.mapcard .pin{bottom:2rem;left:2rem}}.mapcard .pin b{font-family:var(--serif);font-size:1.4rem;font-weight:500;display:block}@media (width>=768px){.mapcard .pin b{font-size:2rem}}.mapcard .pin span{opacity:.9;font-size:13px}footer{background:var(--foreground);color:var(--background);padding:3rem 0}@media (width>=768px){footer{padding:4rem 0}}.fgrid{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.flogo svg,.flogo img{width:auto;height:58px}.finfo{opacity:.75;margin-top:.75rem;font-size:13px}.finfo p{margin-bottom:.25rem}.fnav{flex-direction:column;gap:.5rem;font-size:13px;display:flex}.fnav a{opacity:.75}.fnav a:hover{opacity:1}.fhrs{opacity:.75;font-size:13px}.fhrs p{margin-bottom:.25rem}@media (width>=768px){.finfo,.fnav,.fhrs{font-size:14px}}.copyright{opacity:.6;margin-top:2.5rem;font-size:13px}@media (pointer:coarse){.btn{min-height:44px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
