body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:1.0625rem;line-height:1.7;font-weight:var(--body-weight,400)}a{color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}::selection{background:var(--accent);color:var(--bg)}.container{width:min(100% - 2.5rem, var(--max,1200px));margin-inline:auto}.container.narrow{--max:820px}.center{text-align:center;margin-top:2.5rem}.muted{color:var(--muted);font-size:.85em}.section{padding-block:clamp(4rem,10vw,8rem)}.section-alt{background:var(--bg-alt)}.split{align-items:center;gap:clamp(2rem,5vw,5rem);display:grid}@media (width>=860px){.split{grid-template-columns:1fr 1fr}.split.reverse>:first-child{order:2}}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:clamp(2rem,4vw,3rem);display:flex}.row-between .section-heading{margin-bottom:0}.eyebrow{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:1rem;font-size:.75rem;font-weight:500}.section-heading{max-width:720px;margin-bottom:clamp(2rem,5vw,3.5rem)}.section-heading.align-center{text-align:center;margin-inline:auto}.section-title,.page-title,.hero-a h1,.hero-b h1,.cta-banner h2{font-family:var(--font-display);font-weight:var(--display-weight,400);letter-spacing:var(--display-tracking,0);line-height:1.08}.section-title{font-size:clamp(2rem,4.5vw,3.25rem)}.section-title em,.page-title em,.cta-banner h2 em{color:var(--accent-ink);font-style:italic}.section-intro{color:var(--muted);margin-top:1.25rem;font-size:1.1rem}.lead{margin-bottom:1.25rem;font-size:1.2rem}p+p{margin-top:1rem}.text-link{color:var(--accent-ink);letter-spacing:.18em;text-transform:uppercase;border-bottom:1px solid;margin-top:1.5rem;padding-bottom:.2em;font-size:.82rem;font-weight:500;text-decoration:none;display:inline-block}.text-link:hover{color:var(--ink)}.sample-note{letter-spacing:.04em;color:var(--muted);margin-bottom:1.25rem;font-size:.8rem;font-style:italic}.btn{border-radius:var(--radius);min-height:48px;font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:.85rem 1.75rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:background .3s,color .3s,border-color .3s;display:inline-flex}.btn-primary{background:var(--btn-bg);color:var(--btn-ink)}.btn-primary:hover{background:var(--btn-bg-hover)}.btn-ghost{color:var(--ink);border-color:var(--line-strong);background:0 0}.btn-ghost:hover{border-color:var(--ink)}.btn[disabled]{opacity:.55;cursor:not-allowed}.hero-actions,.cta-actions{flex-wrap:wrap;gap:.85rem;margin-top:2rem;display:flex}.demo-banner{background:var(--banner-bg);color:var(--banner-ink);letter-spacing:.03em;font-size:.78rem}.demo-banner p{text-align:center;flex-wrap:wrap;justify-content:center;gap:.25rem .75rem;width:min(100% - 2.5rem,1200px);margin-inline:auto;padding-block:.5rem;display:flex}.demo-banner strong{font-weight:600}.demo-banner a{text-underline-offset:3px}.site-header{z-index:50;background:var(--header-bg);-webkit-backdrop-filter:saturate(140%)blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:76px;display:flex}.brand{flex-direction:column;line-height:1;text-decoration:none;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:var(--brand-tracking,.02em);font-size:1.75rem}.brand-sub{letter-spacing:.42em;text-transform:uppercase;color:var(--accent-ink);margin-top:.35rem;font-size:.62rem}.site-nav ul{gap:clamp(1rem,2.4vw,2.25rem);margin:0;padding:0;list-style:none;display:flex}.site-nav a:not(.btn){letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid #0000;padding-block:.5rem;font-size:.8rem;text-decoration:none}.site-nav a:not(.btn):hover,.site-nav a[aria-current=page]:not(.btn){border-color:var(--accent)}.site-nav{align-items:center;gap:2rem;display:flex}.nav-cta{min-height:44px;padding-inline:1.25rem}.nav-toggle{cursor:pointer;background:0 0;border:0;width:48px;height:48px;display:none;position:relative}.nav-toggle-bar,.nav-toggle-bar:before,.nav-toggle-bar:after{background:var(--ink);width:24px;height:1.5px;transition:transform .3s,opacity .3s;position:absolute;left:12px}.nav-toggle-bar{top:23px}.nav-toggle-bar:before,.nav-toggle-bar:after{content:"";left:0}.nav-toggle-bar:before{top:-7px}.nav-toggle-bar:after{top:7px}.nav-open .nav-toggle-bar{background:0 0}.nav-open .nav-toggle-bar:before{transform:translateY(7px)rotate(45deg)}.nav-open .nav-toggle-bar:after{transform:translateY(-7px)rotate(-45deg)}@media (width<=960px){.nav-toggle{display:block}.site-nav{background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:1.5rem;max-height:calc(100vh - 110px);padding:1.5rem 1.25rem 2rem;display:none;position:absolute;inset:100% 0 auto;overflow-y:auto}.nav-open .site-nav{display:flex}.site-nav ul{flex-direction:column;gap:0}.site-nav a:not(.btn){border-bottom:1px solid var(--line);padding-block:.9rem;font-size:.9rem;display:block}.site-nav a[aria-current=page]:not(.btn){color:var(--accent-ink);border-color:var(--line)}}.photo{aspect-ratio:var(--ratio,4/5);background:var(--t3,#6b4d31);border-radius:var(--photo-radius,0);margin:0;position:relative;overflow:hidden}.photo img,.photo-placeholder{object-fit:cover;width:100%;height:100%}.photo-placeholder{background:radial-gradient(70% 55% at var(--lx,30%) var(--ly,25%), color-mix(in srgb, var(--t1) 85%, transparent) 0%, transparent 70%), radial-gradient(55% 70% at 75% 80%, color-mix(in srgb, var(--t3) 80%, transparent) 0%, transparent 75%), linear-gradient(var(--angle,160deg), var(--t1) 0%, var(--t2) 48%, var(--t3) 100%);align-items:flex-end;padding:clamp(1rem,3vw,1.5rem);display:flex;position:relative}.photo-placeholder:before{content:"";opacity:.22;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%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)'/%3E%3C/svg%3E");position:absolute;inset:0}.photo-desc{z-index:1;max-width:34ch;font-family:var(--font-display);color:var(--t-ink,#fff8ec);text-shadow:0 1px 12px #00000059;font-size:clamp(.95rem,1.6vw,1.1rem);font-style:italic;line-height:1.35;position:relative}.sample-badge{z-index:2;font-family:var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:#f6ead3;background:#14100c9e;border-radius:2px;padding:.3em .7em;font-size:.62rem;font-weight:600;position:absolute;top:.75rem;left:.75rem}.tone-linen{--t1:#f3e4cc;--t2:#c9a27a;--t3:#6f4c33;--lx:25%;--ly:18%}.tone-honey{--t1:#f2c983;--t2:#b97a3e;--t3:#4f2f1b;--lx:70%;--ly:20%;--angle:200deg}.tone-umber{--t1:#d7b08a;--t2:#8a5a3a;--t3:#2f1c13;--lx:35%;--ly:30%}.tone-dusk{--t1:#e8b899;--t2:#9a5f4f;--t3:#2c1b22;--lx:80%;--ly:25%;--angle:210deg}.tone-bronze{--t1:#e6cfa6;--t2:#a37a4e;--t3:#3b2717;--lx:20%;--ly:35%}.tone-noir{--t1:#b28a5c;--t2:#3e2c20;--t3:#121110;--lx:72%;--ly:30%;--angle:120deg}.services{gap:clamp(2rem,4vw,3rem);margin:0;padding:0;list-style:none;display:grid}@media (width>=760px){.services{grid-template-columns:repeat(3,1fr)}}.service-body{padding-top:1.5rem}.service h3{font-family:var(--font-display);font-weight:var(--display-weight,400);margin-bottom:.6rem;font-size:1.75rem;line-height:1.15}.service p{color:var(--muted)}.service-num{font-family:var(--font-display);color:var(--accent-ink);margin-bottom:.5rem;font-size:.95rem;display:block}.filters{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2.5rem;display:flex}.filter{border:1px solid var(--line-strong);border-radius:var(--pill-radius,999px);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:0 0;min-height:44px;padding:.5rem 1.15rem;font-size:.78rem}.filter:hover{border-color:var(--ink)}.filter[aria-pressed=true]{background:var(--btn-bg);color:var(--btn-ink);border-color:var(--btn-bg)}.masonry{columns:1;column-gap:clamp(1rem,2vw,1.5rem);margin:0;padding:0;list-style:none}@media (width>=600px){.masonry{columns:2}}@media (width>=1000px){.masonry{columns:3}}.masonry-item{break-inside:avoid;margin-bottom:clamp(1rem,2vw,1.5rem)}.masonry-cat{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:.6rem;font-size:.7rem}.process{gap:2rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=700px){.process{grid-template-columns:repeat(2,1fr)}}.process-num{font-family:var(--font-display);color:var(--accent-ink);margin-bottom:.6rem;font-size:2rem;line-height:1;display:block}.process-step h3{font-family:var(--font-display);font-weight:var(--display-weight,400);margin-bottom:.35rem;font-size:1.4rem}.process-step p{color:var(--muted);font-size:.98rem}.testimonials{text-align:center;gap:3rem;display:grid}.testimonial blockquote p{font-family:var(--font-display);font-size:clamp(1.35rem,3vw,1.9rem);font-style:italic;line-height:1.4}.testimonial figcaption{letter-spacing:.22em;text-transform:uppercase;color:var(--accent-ink);margin-top:1.25rem;font-size:.75rem}.testimonials .sample-note{margin:0}.packages>.sample-note{text-align:center}.package-grid{align-items:stretch;gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=900px){.package-grid{grid-template-columns:repeat(3,1fr)}}.package{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:clamp(1.75rem,3vw,2.5rem);display:flex;position:relative}.package.featured{border-color:var(--accent);box-shadow:var(--featured-shadow,none)}.package-flag{background:var(--accent);color:var(--flag-ink,#1a1612);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;padding:.25rem .9rem;font-size:.65rem;font-weight:600;position:absolute;top:-.8rem;left:50%;transform:translate(-50%)}.package-name{font-family:var(--font-display);font-weight:var(--display-weight,400);font-size:1.9rem;line-height:1.1}.package-for{color:var(--muted);margin-top:.4rem;font-size:.95rem}.package-price{font-family:var(--font-display);align-items:baseline;gap:.6rem;margin-top:1.5rem;font-size:2.6rem;line-height:1;display:flex}.price-tag{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;border:1px dashed var(--line-strong);color:var(--muted);padding:.3em .6em;font-size:.6rem}.package-duration{letter-spacing:.06em;color:var(--accent-ink);margin-top:.6rem;font-size:.85rem}.package-includes{border-top:1px solid var(--line);gap:.55rem;margin:1.25rem 0 0;padding:1.25rem 0 0;font-size:.95rem;list-style:none;display:grid}.package-includes li:before,.checklist li:before{content:"—";color:var(--accent-ink);margin-right:.6rem}.package .btn{margin-top:auto}.package-duration+.btn,.package-includes+.btn{margin-top:2rem}.addons{border-collapse:collapse;width:100%}.addons th,.addons td{border-bottom:1px solid var(--line);text-align:left;padding:1rem 0;font-weight:400}.addons thead th{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.addons td{text-align:right;font-family:var(--font-display);white-space:nowrap;padding-left:1rem;font-size:1.15rem}.addons thead th:last-child{text-align:right}.addons+.sample-note{margin-top:1rem}.payment-note{text-align:center}.checklist{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.values{text-align:center;gap:2.5rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=760px){.values{grid-template-columns:repeat(3,1fr)}}.values h3{font-family:var(--font-display);font-weight:var(--display-weight,400);margin-bottom:.5rem;font-size:1.6rem}.values p{color:var(--muted)}.about-grid{align-items:center;gap:clamp(2rem,6vw,5rem);display:grid}@media (width>=860px){.about-grid{grid-template-columns:5fr 6fr}}.faq{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;font-family:var(--font-display);justify-content:space-between;gap:1rem;padding:1.35rem 0;font-size:1.3rem;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--accent-ink);font-family:var(--font-body);transition:transform .3s}.faq-item[open] summary:after{transform:rotate(45deg)}.faq-item p{color:var(--muted);max-width:65ch;padding-bottom:1.5rem}.page-hero{text-align:center;border-bottom:1px solid var(--line);padding-block:clamp(4rem,12vw,8rem) clamp(3rem,8vw,5rem);position:relative}.page-title{font-size:clamp(2.6rem,7vw,5rem)}.page-intro{max-width:620px;color:var(--muted);margin:1.5rem auto 0;font-size:1.1rem}.cta-banner{background:var(--cta-bg);color:var(--cta-ink);text-align:center;padding-block:clamp(4.5rem,10vw,7.5rem)}.cta-banner h2{font-size:clamp(2.2rem,5.5vw,4rem)}.cta-banner h2 em{color:var(--cta-accent)}.cta-banner p{opacity:.85;max-width:560px;margin:1.25rem auto 0}.cta-actions{justify-content:center}.cta-banner .btn-ghost{color:var(--cta-ink);border-color:color-mix(in srgb, var(--cta-ink) 45%, transparent)}.cta-banner .btn-ghost:hover{border-color:var(--cta-ink)}.booking-grid{gap:clamp(3rem,6vw,5rem);display:grid}@media (width>=960px){.booking-grid{grid-template-columns:1fr 1fr;align-items:start}}.booking-placeholder{border:1px dashed var(--line-strong);background:var(--surface);border-radius:var(--radius);padding:clamp(1.75rem,4vw,2.75rem)}.booking-placeholder h3{font-family:var(--font-display);font-weight:var(--display-weight,400);margin-bottom:1rem;font-size:1.7rem;line-height:1.2}.booking-placeholder>p:not(.eyebrow){color:var(--muted)}.booking-steps{gap:.4rem;margin:1.5rem 0 2rem;padding-left:1.25rem;display:grid}.booking-embed{border:0;width:100%;min-height:720px}.inquiry,.field-row{gap:1.25rem;display:grid}@media (width>=560px){.field-row{grid-template-columns:1fr 1fr}}.field{gap:.4rem;display:grid}.field label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.75rem}.field input,.field select,.field textarea{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);width:100%;min-height:48px;padding:.75rem .9rem}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--accent)}.inquiry .btn{justify-self:start}.form-status{min-height:1.5em;color:var(--accent-ink)}.contact-line{margin-top:2rem;font-size:.95rem}.site-footer{background:var(--footer-bg);color:var(--footer-ink);padding-top:clamp(3.5rem,8vw,5rem);font-size:.95rem}.footer-grid{gap:2.5rem;padding-bottom:3rem;display:grid}@media (width>=800px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}.footer-brand{font-family:var(--font-display);font-size:2rem;line-height:1}.footer-brand span{font-family:var(--font-body);letter-spacing:.4em;text-transform:uppercase;color:var(--footer-accent);margin-top:.5rem;font-size:.65rem;display:block}.footer-tagline{opacity:.8;max-width:34ch;margin-top:1rem}.footer-links{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.footer-links a,.site-footer address a{text-decoration:none}.footer-links a:hover,.site-footer address a:hover{color:var(--footer-accent)}.site-footer address{align-content:start;gap:.4rem;font-style:normal;display:grid}.site-footer .muted{color:inherit;opacity:.65}.footer-base{border-top:1px solid var(--footer-line);opacity:.8;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-block:1.5rem;font-size:.8rem;display:flex}
