:root {
    --on-accent-color: #000000;
    --on-accent-dark: #000000;
    --on-primary-color: #000000;
    --on-primary-dark: #ffffff;

    --primary-color: #c05a6e;     /* crimson-rose — brand, links, eyebrows, chips */
    --primary-dark:  #a94a5d;
    --secondary-color: #241016;   /* deep velvet band — footer + CTA band bg (never text) */
    --accent-color: #e2b455;      /* rich gold — Book-a-lesson CTA only */
    --accent-dark:  #cf9f43;
    --neutral-color: #a99098;     /* muted rose-grey text on dark */
    --surface: #20161a;           /* elevated panel (== base-200) */
    --border-color: #37242b;      /* hairline borders (== base-300) */
    --base-100: #150f12;          /* near-black velvet-graphite canvas */
    --base-200: #20161a;
    --base-300: #37242b;
    --text-color: #f6ece2;        /* warm ivory */

    --font-heading: 'Playfair Display', Georgia, 'Times New Roman', serif;
    --font-body: 'Mulish', system-ui, -apple-system, sans-serif;

    --radius: 6px;
    --radius-sm: 4px;
    --radius-pill: 999px;
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.34), 0 2px 10px rgba(0, 0, 0, 0.30);
    --shadow-md: 0 10px 34px rgba(0, 0, 0, 0.50);
    --shadow-lg: 0 26px 64px rgba(0, 0, 0, 0.58);
    --container: 1160px;
    --gap: 28px;
    --section-y: 96px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: var(--font-body);
    color: var(--text-color);
    background: var(--base-100);
    line-height: 1.7;
    font-size: 17px;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5 {
    font-family: var(--font-heading);
    color: var(--text-color);
    line-height: 1.1;
    margin: 0 0 0.5em;
    font-weight: 700;
    letter-spacing: -0.01em;
}
h1 { font-size: clamp(2.8rem, 6vw, 4.6rem); font-weight: 800; }
h2 { font-size: clamp(2.1rem, 4vw, 3.2rem); }
h3 { font-size: 1.6rem; }
h4 { font-size: 1.15rem; font-family: var(--font-body); font-weight: 700; letter-spacing: 0; }
p { margin: 0 0 1.1em; }
a { color: var(--primary-color); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--accent-color); }
img { max-width: 100%; height: auto; display: block; }
ul { margin: 0 0 1.1em; padding-left: 1.2em; }

.container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }

.ub9622-f756 {
    display: inline-block;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--primary-color);
    margin-bottom: 16px;
}
.ub9622-f756 a { color: var(--primary-color); }
.ub9622-f756 a:hover { color: var(--accent-color); }
.e8a855-58ed { font-size: 1.2rem; color: var(--neutral-color); font-weight: 400; }
.e81646-346d { color: var(--neutral-color); }
.e8ca77-3976 { text-align: center; }

/* ---- buttons ---- */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 30px;
    border-radius: var(--radius-pill);
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 0.95rem;
    letter-spacing: 0.01em;
    border: 1.5px solid transparent;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
    line-height: 1;
}
.w033f0-718c { background: var(--primary-color); color: var(--on-primary-color); }
.w033f0-718c:hover { background: var(--primary-dark); color: var(--on-primary-dark); transform: translateY(-2px); box-shadow: var(--shadow-md); }
.d7986e-e969 { background: var(--accent-color); color: var(--on-accent-color); box-shadow: 0 8px 22px rgba(226, 180, 85, 0.28); }
.d7986e-e969:hover { background: var(--accent-dark); color: var(--on-accent-dark); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(226, 180, 85, 0.40); }
.e85563-3ce6 { background: transparent; color: var(--text-color); border-color: var(--border-color); }
.e85563-3ce6:hover { border-color: var(--primary-color); color: var(--primary-color); transform: translateY(-2px); }
.e8f6c0-53c3 { padding: 17px 38px; font-size: 1.02rem; }

/* ---- header ---- */
.b57b8d-93d2 {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(21, 15, 18, 0.88);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--border-color);
}
.b57b8d-93d2 .container { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 80px; }
.z3c05f-bac3 { display: inline-flex; align-items: center; gap: 12px; font-family: var(--font-heading); font-weight: 700; font-size: 1.55rem; color: var(--text-color); letter-spacing: 0.01em; }
.z3c05f-bac3:hover { color: var(--text-color); }
.vc995e-b498 {
    width: 40px; height: 40px; border-radius: 6px;
    background: linear-gradient(140deg, var(--primary-color), var(--accent-color));
    display: inline-flex; align-items: center; justify-content: center;
    color: #241019; font-weight: 700; font-size: 1.25rem;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}
.wd58e3-d15f { display: flex; align-items: center; gap: 30px; }
.wd58e3-d15f a { color: var(--text-color); font-family: var(--font-body); font-weight: 600; font-size: 0.95rem; }
.wd58e3-d15f a:hover { color: var(--primary-color); }
.xe7374-e017 { display: flex; align-items: center; gap: 20px; }
.tad1d8-5015 { color: var(--text-color); font-weight: 700; font-size: 0.93rem; white-space: nowrap; }
.tad1d8-5015 span { color: var(--neutral-color); font-weight: 500; }

/* ---- hero ---- */
.xedabe-adf6 {
    position: relative;
    padding: clamp(60px, 8vw, 110px) 0;
    overflow: hidden;
    background:
        radial-gradient(1100px 520px at 78% -8%, rgba(226, 180, 85, 0.18), transparent 60%),
        radial-gradient(900px 480px at 8% 108%, rgba(192, 90, 110, 0.20), transparent 62%),
        var(--base-200);
    border-bottom: 1px solid var(--border-color);
}
.ta2f86-1a4a { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 58px; align-items: center; }
.f96eb4-c5b6 {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255, 255, 255, 0.04); border: 1px solid var(--border-color);
    border-radius: var(--radius-pill); padding: 8px 18px;
    font-family: var(--font-body); font-size: 0.83rem; font-weight: 700; letter-spacing: 0.02em;
    color: var(--accent-color); margin-bottom: 24px;
}
.f96eb4-c5b6::before { content: ""; flex: 0 0 14px; width: 14px; height: 14px; color: var(--primary-color); background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www%2Ew3%2Eorg/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.1 6.9L21 12l-6.9 2.1L12 21l-2.1-6.9L3 12l6.9-2.1z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www%2Ew3%2Eorg/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.1 6.9L21 12l-6.9 2.1L12 21l-2.1-6.9L3 12l6.9-2.1z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat; }
.xedabe-adf6 h1 { margin-bottom: 20px; }
.xedabe-adf6 .e8a855-58ed { margin-bottom: 30px; max-width: 40ch; }
.wd579f-07f3 { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 34px; }
.y209ff-251a { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 14px 30px; }
.y209ff-251a li { display: flex; align-items: center; gap: 10px; font-weight: 600; font-size: 0.95rem; color: var(--text-color); }
.y209ff-251a li { position: relative; }
.y209ff-251a li::after { content: ""; position: absolute; left: 5px; top: 50%; width: 14px; height: 14px; margin-top: -7px; color: var(--primary-color); background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www%2Ew3%2Eorg/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 5l1.8 5.2L17 12l-5.2 1.8L10 19l-1.8-5.2L3 12l5.2-1.8z' fill='black'/%3E%3Ccircle cx='19' cy='5' r='2'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www%2Ew3%2Eorg/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 5l1.8 5.2L17 12l-5.2 1.8L10 19l-1.8-5.2L3 12l5.2-1.8z' fill='black'/%3E%3Ccircle cx='19' cy='5' r='2'/%3E%3C/svg%3E") center/contain no-repeat; }
.y209ff-251a li::before {
    content: ""; flex: 0 0 24px; width: 24px; height: 24px; border-radius: 50%;
    background: rgba(192, 90, 110, 0.18); color: var(--primary-color);
    display: inline-flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700;
}
.b50221-b4f9 { position: relative; }
.b50221-b4f9 img { border-radius: var(--radius); box-shadow: var(--shadow-lg); width: 100%; object-fit: cover; aspect-ratio: 4 / 3.4; border: 1px solid var(--border-color); }
.e832d7-11d9 {
    position: absolute; left: -18px; bottom: 26px;
    background: var(--surface); border: 1px solid var(--border-color); border-radius: var(--radius);
    box-shadow: var(--shadow-md); padding: 14px 20px; display: flex; align-items: center; gap: 12px;
}
.e832d7-11d9 .x142d5-691b { width: 40px; height: 40px; border-radius: 6px; background: rgba(226, 180, 85, 0.18); color: var(--accent-color); display: inline-flex; align-items: center; justify-content: center; font-size: 1.4rem; }
.e832d7-11d9 strong { font-family: var(--font-heading); font-size: 1.5rem; color: var(--text-color); display: block; line-height: 1; }
.e832d7-11d9 span { font-size: 0.82rem; color: var(--neutral-color); }

/* ---- sections ---- */
.a4d63d-c2c3 { padding: var(--section-y) 0; }
.c6bf31-cf9e { background: var(--surface); }
.f949af-eb1f { max-width: 720px; margin: 0 auto 58px; text-align: center; }
.f949af-eb1f p { margin-bottom: 0; }

/* ---- grids ---- */
.x1381a-4036 { display: grid; gap: var(--gap); }
.yfc817-d32e { grid-template-columns: repeat(2, 1fr); }
.tac3ea-1f68 { grid-template-columns: repeat(3, 1fr); }
.uba94e-5e72 { grid-template-columns: repeat(4, 1fr); }

/* ---- cards ---- */
.d73944-ec8f {
    background: var(--surface); border: 1px solid var(--border-color);
    border-radius: var(--radius); box-shadow: var(--shadow-sm);
    overflow: hidden; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    display: flex; flex-direction: column;
}
.d73944-ec8f:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: var(--primary-color); }
.ub238a-96f9 { aspect-ratio: 3 / 2; overflow: hidden; }
.ub238a-96f9 img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.d73944-ec8f:hover .ub238a-96f9 img { transform: scale(1.05); }
.f93d89-622a { padding: 28px; flex: 1; }
.f93d89-622a h3 { margin-bottom: 10px; }
.f93d89-622a p { color: var(--neutral-color); margin-bottom: 0; }
.c6e8b7-c6aa { display: inline-flex; align-items: center; gap: 6px; margin-top: 18px; font-family: var(--font-body); font-weight: 700; font-size: 0.9rem; color: var(--accent-color); }
.c6e8b7-c6aa::after { content: "→"; transition: transform .2s ease; }
.d73944-ec8f:hover .c6e8b7-c6aa::after { transform: translateX(4px); }
.xed84d-8358 .ub238a-96f9 { aspect-ratio: 16 / 10; }

/* program icon chip */
.b5cb11-a7c8 {
    width: 56px; height: 56px; border-radius: 14px;
    background: rgba(192, 90, 110, 0.16); color: var(--primary-color);
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 1.7rem; margin-bottom: 20px;
}

/* why-us */
.vc05c7-a5f9 { background: var(--surface); border: 1px solid var(--border-color); border-radius: var(--radius); padding: 32px; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.vc05c7-a5f9:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: var(--primary-color); }
.vc05c7-a5f9 h3 { margin-bottom: 10px; }
.vc05c7-a5f9 p { color: var(--neutral-color); margin: 0; }

/* teacher cards */
.yfb67d-1656 { text-align: center; }
.yfb67d-1656 .ub238a-96f9 { aspect-ratio: 1 / 1; }
.yfb67d-1656 .f93d89-622a { padding: 26px; }
.ubbb93-da56 { color: var(--primary-color); font-weight: 700; font-size: 0.88rem; font-family: var(--font-body); letter-spacing: 0.04em; text-transform: uppercase; display: block; margin-bottom: 12px; }
.yfb67d-1656 .z3ecdb-5884 { font-size: 0.96rem; }

/* recitals */
.d7cb4a-5caa { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--border-color); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); transition: transform .25s ease, box-shadow .25s ease; }
.d7cb4a-5caa:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.d757ef-ad44 { aspect-ratio: 16 / 10; overflow: hidden; }
.d757ef-ad44 img { width: 100%; height: 100%; object-fit: cover; }
.wd003c-4f36 { padding: 26px; }
.yf9690-b73f { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-body); font-weight: 700; font-size: 0.8rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--accent-color); margin-bottom: 12px; }
.wd003c-4f36 h3 { margin-bottom: 8px; font-size: 1.5rem; }
.wd003c-4f36 p { color: var(--neutral-color); margin: 0; }
.z3cd1f-a40e { display: block; margin-top: 12px; font-size: 0.9rem; color: var(--text-color); font-weight: 600; }

/* reviews */
.wd2dc4-bbec { background: var(--surface); border: 1px solid var(--border-color); border-radius: var(--radius); padding: 34px; box-shadow: var(--shadow-sm); }
.ta4382-6b3b { color: var(--accent-color); letter-spacing: 3px; margin-bottom: 18px; font-size: 1.05rem; }
.a4c41c-6ab8 { font-family: var(--font-heading); font-size: 1.5rem; line-height: 1.38; color: var(--text-color); margin-bottom: 24px; }
.z33c6c-400b { font-family: var(--font-body); font-weight: 700; color: var(--text-color); }
.d7d714-5ea5 { display: block; color: var(--neutral-color); font-weight: 400; font-size: 0.9rem; }

/* stats */
.y2f767-54de { text-align: center; padding: 24px; }
.ta0f47-743b { font-family: var(--font-heading); font-weight: 700; font-size: 3.2rem; color: var(--accent-color); line-height: 1; margin-bottom: 8px; }
.ub4abd-1347 { color: var(--neutral-color); font-weight: 500; font-size: 0.97rem; }

/* cta band */
.z37e24-497b { background: var(--secondary-color); border-radius: var(--radius); padding: clamp(44px, 6vw, 76px); text-align: center; color: var(--text-color); position: relative; overflow: hidden; border: 1px solid var(--border-color); }
.z37e24-497b::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 82% -12%, rgba(226, 180, 85, 0.36), transparent 56%), radial-gradient(circle at 6% 120%, rgba(192, 90, 110, 0.32), transparent 58%); }
.z37e24-497b > * { position: relative; }
.z37e24-497b h2 { color: var(--text-color); }
.z37e24-497b p { color: rgba(246, 236, 226, 0.78); max-width: 58ch; margin: 0 auto 30px; }

/* feature / levels list */
.y2e9c8-b9d9 { list-style: none; padding: 0; margin: 0; display: grid; gap: 18px; }
.y2e9c8-b9d9 li { display: flex; gap: 15px; }
.y2e9c8-b9d9 .z3c7eb-b4e1 { flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%; background: rgba(192, 90, 110, 0.18); color: var(--primary-color); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.y2e9c8-b9d9 h4 { margin: 0 0 4px; }
.y2e9c8-b9d9 p { margin: 0; color: var(--neutral-color); font-size: 0.96rem; }

/* tuition / info panel */
.a4869e-363e { background: var(--surface); border: 1px solid var(--border-color); border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow-sm); }
.a4869e-363e h3 { margin-top: 0; }
.f9b2b5-33c1 { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 13px 0; border-bottom: 1px dashed var(--border-color); }
.f9b2b5-33c1:last-of-type { border-bottom: none; }
.f9b2b5-33c1 .w0c748-00e8 { color: var(--neutral-color); font-size: 0.95rem; }
.f9b2b5-33c1 .ubeccd-e81b { text-align: right; font-family: var(--font-heading); font-size: 1.5rem; color: var(--accent-color); font-weight: 700; }

/* interior page hero */
.xe9272-dfd2 { position: relative; background: var(--base-200); padding: 72px 0; text-align: center; border-bottom: 1px solid var(--border-color); overflow: hidden; }
.xe9272-dfd2::before { content: ""; position: absolute; inset: 0; background: radial-gradient(760px 340px at 50% -30%, rgba(192, 90, 110, 0.22), transparent 60%); }
.xe9272-dfd2 .container { position: relative; }
.xe9272-dfd2 h1 { margin-bottom: 14px; }
.xe9272-dfd2 p { color: var(--neutral-color); max-width: 62ch; margin: 0 auto; }

/* split (about / detail) */
.vca97e-ec4a { display: grid; grid-template-columns: 1fr 1fr; gap: 58px; align-items: center; }
.vca97e-ec4a img { border-radius: var(--radius); box-shadow: var(--shadow-md); width: 100%; object-fit: cover; aspect-ratio: 4 / 3; border: 1px solid var(--border-color); }

/* forms */
.x13c3f-7d4e { background: var(--surface); border: 1px solid var(--border-color); border-radius: var(--radius); box-shadow: var(--shadow-sm); padding: 36px; }
.b58029-a44d { display: grid; gap: 18px; }
.wd74b8-f5ec { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ub7f41-3b5f { display: flex; flex-direction: column; gap: 7px; }
.ub7f41-3b5f label { font-family: var(--font-body); font-weight: 700; font-size: 0.88rem; color: var(--text-color); }
.ub7f41-3b5f input, .ub7f41-3b5f select, .ub7f41-3b5f textarea {
    font-family: var(--font-body); font-size: 1rem; color: var(--text-color);
    padding: 13px 15px; border: 1.5px solid var(--border-color); border-radius: var(--radius-sm);
    background: var(--base-100); transition: border-color .2s ease, box-shadow .2s ease;
    width: 100%;
}
.ub7f41-3b5f input::placeholder, .ub7f41-3b5f textarea::placeholder { color: rgba(169, 144, 152, 0.7); }
.ub7f41-3b5f input:focus, .ub7f41-3b5f select:focus, .ub7f41-3b5f textarea:focus { outline: none; border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(192, 90, 110, 0.2); }
.ub7f41-3b5f select { appearance: none; }
.ub7f41-3b5f textarea { resize: vertical; min-height: 120px; }

/* contact info / hours / map */
.wd8d57-e7f1 { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: start; }
.z36d47-17bd { display: grid; gap: 24px; }
.tab3fc-6509 { display: flex; gap: 15px; align-items: flex-start; }
.tab3fc-6509 .ta0505-4208 { flex: 0 0 46px; width: 46px; height: 46px; border-radius: 8px; background: rgba(192, 90, 110, 0.16); color: var(--primary-color); display: inline-flex; align-items: center; justify-content: center; font-size: 1.2rem; }
.tab3fc-6509 h4 { margin: 0 0 3px; }
.tab3fc-6509 p { margin: 0; color: var(--neutral-color); }
.tab3fc-6509 a { color: var(--neutral-color); }
.tab3fc-6509 a:hover { color: var(--primary-color); }
.c68ee7-c8cf { list-style: none; padding: 0; margin: 0; }
.c68ee7-c8cf li { display: flex; justify-content: space-between; padding: 11px 0; border-bottom: 1px dashed var(--border-color); font-size: 0.97rem; }
.c68ee7-c8cf li:last-child { border-bottom: none; }
.c68ee7-c8cf .e81eef-b479 { font-weight: 700; color: var(--text-color); }
.c68ee7-c8cf .e8e556-adc7 { color: var(--neutral-color); }
.yf5412-050c {
    position: relative; border-radius: var(--radius); overflow: hidden; min-height: 260px;
    border: 1px solid var(--border-color);
    background:
        linear-gradient(rgba(192, 90, 110, 0.06), rgba(192, 90, 110, 0.06)),
        repeating-linear-gradient(0deg, rgba(255,255,255,0.03) 0 1px, transparent 1px 38px),
        repeating-linear-gradient(90deg, rgba(255,255,255,0.03) 0 1px, transparent 1px 38px),
        var(--base-100);
    display: flex; align-items: center; justify-content: center;
}
.ub9dc3-1fdf { background: var(--surface); border: 1px solid var(--border-color); box-shadow: var(--shadow-md); border-radius: var(--radius-pill); padding: 12px 22px; font-family: var(--font-body); font-weight: 700; color: var(--text-color); display: inline-flex; align-items: center; gap: 9px; }
.ub9dc3-1fdf::before { content: ""; flex: 0 0 18px; width: 18px; height: 18px; color: var(--primary-color); background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www%2Ew3%2Eorg/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www%2Ew3%2Eorg/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E") center/contain no-repeat; }

/* prose (legal) */
.wdc55f-515f { max-width: 780px; margin: 0 auto; }
.wdc55f-515f h2 { margin-top: 1.6em; font-size: 1.9rem; }
.wdc55f-515f h3 { margin-top: 1.3em; }
.wdc55f-515f p, .wdc55f-515f li { color: var(--neutral-color); }
.wdc55f-515f a { color: var(--primary-color); }

/* footer */
.x1828c-ffc2 { background: var(--secondary-color); color: rgba(246, 236, 226, 0.72); padding: 76px 0 30px; border-top: 1px solid var(--border-color); }
.b5a6c1-d27e { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 42px; margin-bottom: 50px; }
.x1828c-ffc2 .z3c05f-bac3, .x1828c-ffc2 h4 { color: var(--text-color); }
.x1828c-ffc2 h4 { font-family: var(--font-body); font-weight: 700; font-size: 0.98rem; letter-spacing: 0.03em; margin-bottom: 18px; }
.vc61cb-0fae { color: rgba(246, 236, 226, 0.6); font-size: 0.95rem; margin-top: 16px; max-width: 34ch; }
.ubb14f-d0ee { list-style: none; padding: 0; margin: 0; display: grid; gap: 11px; }
.ubb14f-d0ee a { color: rgba(246, 236, 226, 0.66); font-size: 0.95rem; }
.ubb14f-d0ee a:hover { color: var(--accent-color); }
.ubfbb8-7ebe { display: grid; gap: 12px; font-size: 0.95rem; color: rgba(246, 236, 226, 0.66); }
.ubfbb8-7ebe a { color: rgba(246, 236, 226, 0.66); }
.ubfbb8-7ebe a:hover { color: var(--accent-color); }
.vc74ad-b67d { border-top: 1px solid var(--border-color); padding-top: 26px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; font-size: 0.87rem; color: rgba(246, 236, 226, 0.5); }
.vc74ad-b67d nav { display: flex; gap: 20px; flex-wrap: wrap; }
.vc74ad-b67d a { color: rgba(246, 236, 226, 0.5); }
.vc74ad-b67d a:hover { color: var(--accent-color); }

/* sticky floating CTA */
.c69bf6-1c30 {
    position: fixed; right: 22px; bottom: 22px; z-index: 200;
    box-shadow: 0 12px 30px rgba(226, 180, 85, 0.4);
}

/* utilities */
.c6df85-c008 { margin-top: 0; }
.f9ffc4-e23c { margin-bottom: 0; }
.ta0316-7f41 { padding: 64px 0; }

/* ---- responsive ---- */
@media (max-width: 960px) {
    .ta2f86-1a4a, .vca97e-ec4a, .wd8d57-e7f1 { grid-template-columns: 1fr; gap: 42px; }
    .b50221-b4f9 { order: -1; }
    .uba94e-5e72 { grid-template-columns: repeat(2, 1fr); }
    .b5a6c1-d27e { grid-template-columns: 1fr 1fr; gap: 34px; }
}
@media (max-width: 768px) {
    :root { --section-y: 66px; }
    .b57b8d-93d2 .container { flex-wrap: wrap; min-height: 66px; gap: 14px; }
    .wd58e3-d15f { order: 3; width: 100%; flex-wrap: wrap; gap: 16px 22px; justify-content: center; padding-bottom: 12px; }
    .tad1d8-5015 { display: none; }
    .tac3ea-1f68, .yfc817-d32e { grid-template-columns: 1fr; }
    .wd74b8-f5ec { grid-template-columns: 1fr; }
    .container { padding: 0 18px; }
    .c69bf6-1c30 { left: 16px; right: 16px; bottom: 16px; }
    .e832d7-11d9 { left: 12px; bottom: 12px; }
}
@media (max-width: 480px) {
    .uba94e-5e72 { grid-template-columns: 1fr; }
    .btn { padding: 13px 24px; }
    .e832d7-11d9 { display: none; }
    .b57b8d-93d2 .container { gap: 10px; }
    .b57b8d-93d2 .z3c05f-bac3 { font-size: 1.35rem; }
}

        :where(a, button, input, select, textarea):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
        @media (max-width: 768px) {
            .btn, .wd58e3-d15f a, .f9d130-2aa4 a, input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea { min-height: 44px; }
            .wd58e3-d15f a, .f9d130-2aa4 a { display: inline-flex; align-items: center; }
            input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea { font-size: 16px; }
        }

        @media (max-width: 768px) {
            .b57b8d-93d2 .z3c05f-bac3 { min-width: 0; overflow-wrap: anywhere; flex: 0 1 auto; }
            .b57b8d-93d2 .vc995e-b498 { flex-shrink: 0; }
            .b57b8d-93d2 .xe7374-e017 { min-width: min-content; flex: 1 1 0; justify-content: flex-end; }
            .b57b8d-93d2 .xe7374-e017 .btn { white-space: normal; text-align: center; padding-inline: 10px; }
            .b57b8d-93d2 .tad1d8-5015 { display: none; }
            [data-wc-burger] { flex-shrink: 0; }
        }
:root {
    --primary-color: #c25c5f;
    --secondary-color: #281115;
    --accent-color: #e2b455;
    --on-primary-color: #000000;
    --on-secondary-color: #ffffff;
    --on-accent-color: #000000;
    --on-text-color: #000000;
    --on-surface: #ffffff;
    --on-base-100: #ffffff;
    --on-base-200: #ffffff;
    --on-base-300: #ffffff;
    --neutral-color: #ad938f;
    --neutral: #ad938f;
    --base-100: #170d0e;
    --base-200: #221417;
    --base-300: #3a2427;
    --surface: #221417;
    --border-color: #3a2427;
    --text-color: #f6ede3;
    --font-heading: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    --font-primary: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
    --font-body: 'Inter', 'Helvetica Neue', Arial, sans-serif;
    --font-secondary: 'Inter', 'Helvetica Neue', Arial, sans-serif;
    --border-radius: 8px;
    --spacing: 28px;
    --shadow: 0 26px 64px rgba(0, 0, 0, 0.58);
    --heading-tracking: -0.01em;
    --border-width: 1px;
}
body[class] { font-family: var(--font-body, var(--font-primary, inherit)); }
:root{--on-accent-color: #000000;--on-accent-dark: #000000;--on-primary-color: #000000;--on-primary-dark: #ffffff;--on-secondary-color: #ffffff;--on-text-color: #000000;--on-surface: #ffffff;--on-base-100: #ffffff;--on-base-200: #ffffff;--on-base-300: #ffffff;}