:root{--bg: #fdf9f3;--surface: #f7ede3;--card: #fffdf9;--ink: #2b1c14;--text: #4a362a;--muted: #8a7160;--gold: #c98a2d;--gold-deep: #a86f1c;--terra: #b4552f;--line: #e9dccb;--shadow: 0 10px 30px rgba(43, 28, 20, .08);--radius: 18px;--font-display: "Fraunces", Georgia, serif;--font-body: "Nunito Sans", system-ui, sans-serif}[data-theme=dark]{--bg: #1a120c;--surface: #251a11;--card: #211710;--ink: #f6ecd9;--text: #f0e8dd;--muted: #b39c86;--gold: #e0a94e;--gold-deep: #e0a94e;--terra: #d07a54;--line: #3a2c1e;--shadow: 0 10px 30px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:17px;line-height:1.65;transition:background .3s ease,color .3s ease}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);line-height:1.15;margin:0 0 .5em;font-weight:600}h1{font-size:clamp(2.2rem,5vw,3.6rem)}h2{font-size:clamp(1.7rem,3.4vw,2.5rem)}h3{font-size:1.25rem}a{color:var(--gold-deep);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}.wrap{max-width:1140px;margin:0 auto;padding:0 22px}.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:var(--gold-deep);margin-bottom:.6rem}.section{padding:72px 0}.section.alt{background:var(--surface)}.center{text-align:center}.lead{font-size:1.15rem;color:var(--muted);max-width:56ch}.center .lead{margin-left:auto;margin-right:auto}.btn{display:inline-block;padding:14px 30px;border-radius:999px;font-weight:800;font-size:1rem;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .2s}.btn:hover{text-decoration:none;transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#fff;box-shadow:0 8px 20px #c98a2d59}.btn-gold:hover{background:var(--gold-deep)}.btn-outline{border-color:var(--gold);color:var(--gold-deep);background:transparent}.btn-outline:hover{background:var(--gold);color:#fff}.announce{background:linear-gradient(90deg,var(--terra),var(--gold));color:#fff;text-align:center;font-size:.82rem;font-weight:800;letter-spacing:.14em;padding:9px 12px;text-transform:uppercase}.site-header{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--line)}.header-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}.logo{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:10px}.logo:hover{text-decoration:none}.logo svg{flex:none}.logo span{white-space:nowrap}@media(max-width:480px){.logo{font-size:.98rem;gap:7px}.logo svg{width:24px;height:24px}}.main-nav{display:flex;align-items:center;gap:26px}.main-nav a.navlink{color:var(--text);font-weight:700;font-size:.98rem}.main-nav a.navlink:hover{color:var(--gold-deep);text-decoration:none}.nav-book{padding:10px 22px;font-size:.95rem}.icon-btn{background:var(--card);border:1px solid var(--line);border-radius:10px;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);flex:none;position:relative;z-index:60}.icon-btn:hover{border-color:var(--gold)}.burger,.sun-i{display:none}[data-theme=dark] .sun-i{display:block}[data-theme=dark] .moon-i{display:none}@media(max-width:860px){.burger{display:inline-flex}.main-nav{position:fixed;inset:0 0 0 auto;width:min(320px,84vw);background:var(--card);flex-direction:column;align-items:flex-start;padding:90px 30px 30px;gap:22px;transform:translate(100%);transition:transform .28s ease;box-shadow:var(--shadow);border-left:1px solid var(--line)}.main-nav.open{transform:translate(0)}.nav-book{width:100%;text-align:center}}.hero{padding:64px 0 72px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}.hero-img{border-radius:26px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4 / 5;position:relative}.hero-img img{width:100%;height:100%;object-fit:cover}.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0 18px}.rating-pill{display:inline-flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-weight:800;font-size:.92rem;color:var(--ink);box-shadow:var(--shadow)}.stars{color:var(--gold);letter-spacing:2px}.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:center}.trust>div{padding:22px 10px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.trust b{display:block;font-family:var(--font-display);font-size:1.6rem;color:var(--gold-deep)}.trust span{font-size:.9rem;color:var(--muted);font-weight:700}@media(max-width:700px){.trust{grid-template-columns:1fr}}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-top:36px}.cat-tile{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4 / 5;box-shadow:var(--shadow);display:block}.cat-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.cat-tile:hover img{transform:scale(1.05)}.cat-tile .cat-label{position:absolute;inset:auto 0 0;padding:40px 18px 16px;background:linear-gradient(transparent,#140a05d1);color:#fff;font-weight:800;font-size:1.02rem}.cat-tile .cat-label small{display:block;font-weight:600;opacity:.85;font-size:.8rem}.cat-tile:hover{text-decoration:none}.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}.svc-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow)}.svc-card .svc-img{aspect-ratio:1 / 1;overflow:hidden}.svc-card .svc-img img{width:100%;height:100%;object-fit:cover}.svc-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}.svc-body h3{margin:0;font-size:1.12rem}.svc-meta{display:flex;gap:14px;font-size:.88rem;color:var(--muted);font-weight:700}.svc-price{font-family:var(--font-display);font-size:1.35rem;color:var(--gold-deep);font-weight:700}.svc-desc{font-size:.92rem;color:var(--muted);flex:1}.svc-book{margin-top:6px;text-align:center;padding:11px;font-size:.95rem}.chip-row{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 40px}.chip{padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--text);font-weight:700;font-size:.88rem}.chip:hover{border-color:var(--gold);color:var(--gold-deep);text-decoration:none}.cat-block{margin-bottom:60px;scroll-margin-top:110px}.cat-block>h2{border-bottom:2px solid var(--gold);display:inline-block;padding-bottom:6px;margin-bottom:24px}.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-top:36px}.review-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow);position:relative}.review-card .q{font-family:var(--font-display);font-size:3.4rem;line-height:0;color:var(--gold);position:absolute;top:26px;left:24px;opacity:.5}.review-card blockquote{margin:26px 0 18px;font-size:1.08rem;font-style:italic;color:var(--ink);font-family:var(--font-display)}.review-card .who{font-weight:800;color:var(--gold-deep)}.review-card .via{font-size:.82rem;color:var(--muted)}.google-band{margin-top:34px;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.google-band .stars{font-size:1.3rem}.google-band b{font-family:var(--font-display);font-size:1.4rem;color:var(--ink)}.hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}@media(max-width:800px){.hours-grid{grid-template-columns:1fr}}.hours-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.hours-table td{padding:15px 20px;border-bottom:1px solid var(--line)}.hours-table tr:last-child td{border-bottom:0}.hours-table td:last-child{text-align:right;font-weight:800;color:var(--ink)}.info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.info-list li{display:flex;gap:12px;align-items:flex-start}.info-list svg{flex:none;margin-top:4px;color:var(--gold-deep)}.faq-list{max-width:780px;margin:34px auto 0;display:flex;flex-direction:column;gap:12px}.faq-list details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 22px}.faq-list summary{cursor:pointer;font-weight:800;color:var(--ink);font-size:1.02rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}.faq-list summary:after{content:"+";font-size:1.4rem;color:var(--gold-deep);flex:none}.faq-list details[open] summary:after{content:"–"}.faq-list details p{margin:12px 0 0;color:var(--text)}.cta-band{background:linear-gradient(120deg,var(--terra),var(--gold));border-radius:26px;padding:56px 40px;text-align:center;color:#fff;box-shadow:var(--shadow)}.cta-band h2{color:#fff}.cta-band p{max-width:52ch;margin:0 auto 26px;opacity:.95}.cta-band .btn{background:#fff;color:var(--terra)}.cta-band .btn:hover{background:#fdf0df}.cta-band .fine{font-size:.85rem;opacity:.85;margin-top:16px}.site-footer{background:var(--surface);border-top:1px solid var(--line);padding:56px 0 30px;margin-top:40px}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}@media(max-width:800px){.foot-grid{grid-template-columns:1fr}}.site-footer h4{font-size:1rem;margin-bottom:14px;color:var(--ink)}.site-footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;font-size:.95rem}.foot-thesis{font-family:var(--font-display);font-style:italic;font-size:1.25rem;color:var(--gold-deep);margin:40px 0 20px;text-align:center}.foot-base{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:.85rem;color:var(--muted)}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}@media(max-width:860px){.about-grid{grid-template-columns:1fr}}.about-img{border-radius:26px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/5}.about-img img{width:100%;height:100%;object-fit:cover}.values{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:36px}.value-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.value-card h3{color:var(--gold-deep)}
