:root{--red:#8b1e2d;--red2:#5f1220;--blush:#fdf1ec;--ink:#2b1116;--paper:#fffdfc;--line:#e8c9c2}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Georgia,'Times New Roman',serif;color:var(--ink);background:var(--paper);padding-bottom:calc(76px + env(safe-area-inset-bottom,0px));line-height:1.6}
a{color:var(--red)}:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.skip{position:fixed;top:0;left:16px;transform:translateY(-400%);z-index:1000;background:var(--red2);color:#fff;padding:12px 18px}
.skip:focus{transform:translateY(8px);color:#fff}
.banner{background:var(--red2);color:#fff;text-align:center;padding:8px 12px;font-size:.85rem;position:relative;z-index:10}
.watermark{position:fixed;inset:0;z-index:500;pointer-events:none;overflow:hidden;display:flex;flex-wrap:wrap;gap:90px;padding:40px;transform:rotate(-24deg) scale(1.4);opacity:.16}
.watermark span{font-weight:700;letter-spacing:.3em;color:var(--red);font-size:1.3rem}
.site-head{position:sticky;top:0;z-index:400;background:#fff;display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:2px solid var(--red)}
.brand{font-size:1.25rem;font-weight:700;text-decoration:none;color:var(--red2);display:flex;align-items:center;gap:10px;margin-right:auto}
.brand em{font-size:.9rem;color:var(--red)}
.disc{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c94a5e,var(--red) 60%,var(--red2));display:inline-block;flex:none}
.disc:after{content:"";display:block;width:6px;height:14px;background:var(--red);margin:22px auto 0;border-radius:0 0 6px 6px}
.call-btn{background:var(--red);color:#fff!important;padding:10px 16px;border-radius:999px;text-decoration:none}
.menu-btn{background:#fff;border:2px solid var(--red);color:var(--red);padding:9px 16px;border-radius:999px;cursor:pointer;font:inherit}
.nav-panel{position:absolute;top:100%;right:12px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 40px rgba(95,18,32,.22);padding:14px;display:flex;flex-direction:column;min-width:230px;z-index:450}
.site-head{position:sticky}.nav-panel a{padding:8px 10px;text-decoration:none}
.hero{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;padding:56px 6vw 70px;background:linear-gradient(115deg,#fff 55%,var(--blush));overflow:hidden}
.hero h1{font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.08;color:var(--red2);margin:.2em 0}
.kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--red);font-size:.85rem}
.lede{font-size:1.25rem}.big-disc{position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d25a6d,var(--red) 62%,var(--red2));right:-90px;bottom:-150px;opacity:.18}
.big-disc.static{position:relative;right:auto;bottom:auto;opacity:.9;width:220px;height:220px;margin:auto}
.hero-img img,.wide-img img{width:100%;height:auto;border-radius:48% 52% 50% 50%/38% 40% 60% 62%;display:block}
figcaption{font-size:.85rem;color:#6b3a42;margin-top:8px}
.btn{display:inline-block;background:var(--red);color:#fff!important;text-decoration:none;padding:13px 22px;border-radius:999px;border:2px solid var(--red);cursor:pointer;font:inherit}
.btn.ghost{background:transparent;color:var(--red)!important}
.summary{padding:28px 6vw;background:var(--red);color:#fff}.summary a{color:#ffd9d2;font-weight:700}
.split{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:48px 6vw;align-items:start}
.band{padding:48px 6vw}.band:nth-of-type(even){background:var(--blush)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px}
.card{background:#fff;padding:24px;text-decoration:none;border-top:6px solid var(--red);border-radius:0 0 60px 6px;box-shadow:0 10px 24px rgba(95,18,32,.10)}
.card:nth-child(even){transform:translateY(18px);border-radius:6px 60px 0 0}
.steps{display:flex;gap:22px;flex-wrap:wrap;padding:0;list-style:none}.step{flex:1;min-width:180px;background:#fff;padding:20px;border-left:5px solid var(--red)}
.step strong{display:block;color:var(--red2);font-size:1.1rem}.steps-band{padding:48px 6vw;background:#fff}
.page-head{padding:52px 6vw 30px;background:linear-gradient(100deg,var(--blush),#fff)}
.page-head h1{font-size:clamp(1.9rem,4vw,3rem);color:var(--red2);margin:.1em 0}
.faq{border-bottom:1px solid var(--line);padding:10px 0}.faq-q{background:none;border:0;font:inherit;font-weight:700;color:var(--red2);cursor:pointer;text-align:left;width:100%;padding:10px 0}
.form-card{background:#fff;border:1px solid var(--line);padding:26px;border-radius:24px 24px 90px 24px;box-shadow:0 14px 30px rgba(95,18,32,.12)}
.lead-form{display:grid;gap:7px}.lead-form input,.lead-form select,.lead-form textarea{padding:11px;border:1px solid #b98a92;border-radius:8px;font:inherit;width:100%}
.hint{display:block;font-size:.85rem;color:#6b3a42}.fine{font-size:.85rem;color:#6b3a42}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}.g-item{margin:0}.g-item img{width:100%;height:auto;border-radius:18px}
.g-item:nth-child(even){transform:translateY(16px)}
.note{background:#fff;border-left:6px solid var(--red);padding:16px}
footer{background:var(--red2);color:#fff;padding:36px 6vw 90px}footer a{color:#ffd9d2}
.sticky-bar{position:fixed;left:0;right:0;bottom:0;z-index:480;display:grid;grid-template-columns:1fr 1fr;background:var(--red2);padding-bottom:env(safe-area-inset-bottom,0px)}
.sticky-bar a{color:#fff;text-align:center;padding:calc(12px) 8px;text-decoration:none;font-weight:700}
.sticky-bar a+a{background:var(--red)}
@media(max-width:760px){.hero,.split{grid-template-columns:1fr}.card:nth-child(even){transform:none}.brand{font-size:1.05rem}.call-btn{padding:8px 10px;font-size:.9rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

[hidden]{display:none !important}

/* Luxury elevation layer (2026-10-23). Appearance only: restraint, generous spacing, serif display type, a restrained gold accent inside the deep red polish family, layered depth and texture, premium photo framing. No copy, price, FAQ, schema, link or form change. */
:root{--gold:#b08d57;--gold-soft:#d9c29a;--shadow:95,18,32}
::selection{background:#f3d9cf}
body{line-height:1.75;background:radial-gradient(1100px 520px at 88% -4%,#fbe9e2 0%,rgba(251,233,226,0) 60%),var(--paper)}
h1,h2,h3,.brand,.step strong{font-family:'Playfair Display',Didot,'Bodoni MT',Georgia,serif;font-weight:600;letter-spacing:.015em}
.brand{font-size:1.45rem}
.disc{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--gold),0 8px 18px rgba(var(--shadow),.30)}
.site-head{padding:16px 22px;border-bottom:1px solid var(--gold-soft);box-shadow:0 10px 30px rgba(var(--shadow),.07);background:linear-gradient(180deg,#fff,#fffaf7)}
.call-btn,.btn{background:linear-gradient(135deg,#a32436,var(--red) 48%,var(--red2));box-shadow:0 12px 26px rgba(var(--shadow),.28);letter-spacing:.05em}
.btn{padding:15px 30px}
.btn.ghost{background:transparent;box-shadow:none;border-color:var(--gold);color:var(--red)!important}
.kicker{letter-spacing:.38em;font-size:.78rem}
.kicker::after{content:"";display:block;width:58px;height:2px;margin-top:14px;background:linear-gradient(90deg,var(--gold),rgba(176,141,87,0))}
.hero{padding:96px 6vw 110px;background:linear-gradient(112deg,#fffdfc 50%,#fbe9e2 92%)}
.hero h1{font-size:clamp(2.4rem,5vw,3.9rem);line-height:1.05}
.lede{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:1.42rem;color:var(--red2)}
.hero-img img,.wide-img img{box-shadow:0 34px 70px rgba(var(--shadow),.30);outline:1px solid var(--gold);outline-offset:12px;filter:saturate(1.06) contrast(1.03)}
.big-disc{box-shadow:inset 0 0 0 3px rgba(217,194,154,.55),inset 0 0 90px rgba(74,13,24,.35)}
.summary{padding:64px 6vw;background:linear-gradient(120deg,var(--red2),var(--red) 72%);border-top:3px solid var(--gold);border-bottom:3px solid var(--gold)}
.summary h2{font-size:clamp(1.8rem,3.2vw,2.5rem)}
.split{padding:88px 6vw;gap:56px}
.band{padding:88px 6vw}
.band:nth-of-type(even){background-color:var(--blush);background-image:radial-gradient(rgba(139,30,45,.055) 1px,rgba(139,30,45,0) 1.6px);background-size:22px 22px}
.band h2,.steps-band h2,.split h2{font-size:clamp(1.75rem,3.1vw,2.45rem);color:var(--red2)}
.band h2::after,.steps-band h2::after,.split h2::after{content:"";display:block;width:64px;height:2px;margin-top:14px;background:linear-gradient(90deg,var(--gold),rgba(176,141,87,0))}
.cards{gap:30px}
.card{border-top:3px solid var(--gold);border-radius:26px;padding:36px 30px;background:linear-gradient(180deg,#fff,#fff8f5);box-shadow:0 24px 48px rgba(var(--shadow),.13)}
.card:nth-child(even){border-radius:26px}
.card h3{font-size:1.38rem;color:var(--red2)}
.steps-band{padding:88px 6vw;background:linear-gradient(180deg,#fff,#fdf1ec)}
.step{background:transparent;border-left:none;border-top:2px solid var(--gold);padding:26px 8px 0;min-width:190px}
.step strong{font-size:1.32rem}
.form-card{border:1px solid var(--gold-soft);border-radius:30px;padding:38px;box-shadow:0 30px 60px rgba(var(--shadow),.16)}
.lead-form input,.lead-form select,.lead-form textarea{padding:13px;border-radius:12px}
.page-head{padding:88px 6vw 48px;background:linear-gradient(105deg,#fbe9e2,#fffdfc 76%)}
.page-head h1{font-size:clamp(2.2rem,4.6vw,3.4rem);line-height:1.06}
.faq{border-bottom:1px solid var(--gold-soft);padding:16px 0}
.gallery{gap:30px}
.g-item img{border-radius:22px;box-shadow:0 18px 36px rgba(var(--shadow),.18);outline:1px solid var(--gold-soft);outline-offset:6px;filter:saturate(1.05) contrast(1.02)}
.note{border-left:3px solid var(--gold);background:#fff8f5;padding:22px 26px}
footer{background:linear-gradient(140deg,#4a0d18,var(--red2) 62%);border-top:3px solid var(--gold);padding:64px 6vw 110px}
.sticky-bar{border-top:2px solid var(--gold)}
@media(max-width:760px){.hero{padding:60px 6vw 72px}.band,.split,.steps-band{padding:56px 6vw}.page-head{padding:60px 6vw 36px}.hero-img img{outline-offset:7px}.form-card{padding:28px 22px}.summary{padding:48px 6vw}}

/* Interim designed wordmark (2026-10-23). Placeholder mark until Grace's actual logo is obtained; her card is type plus a polish disc graphic and no logo file is on record. Script wordmark in deep red, by Grace small and subordinate beneath it, polish disc kept small. */
.site-head{padding-top:10px;padding-bottom:10px}
.brand{gap:10px}
.brand .disc{width:26px;height:26px}
.brand .disc:after{width:5px;height:10px;margin:17px auto 0}
.wordmark{display:flex;flex-direction:column;line-height:1}
.wm-script{font-family:'Great Vibes','Snell Roundhand','Brush Script MT',cursive;font-weight:400;font-size:1.78rem;line-height:1.3;padding:0 .12em .1em .02em;white-space:nowrap;color:var(--red2)}
.wm-by{font-family:Georgia,serif;font-size:.56rem;letter-spacing:.42em;text-transform:uppercase;color:var(--red);padding-left:.16em;margin-top:-.1em}
.foot-brand{display:flex;flex-direction:column;line-height:1;margin:0 0 12px}
.foot-brand .wm-script{color:#fff;font-size:2.15rem}
.foot-brand .wm-by{color:var(--gold-soft);margin-top:.35em}
@media(max-width:760px){.brand{gap:8px}.brand .disc{width:22px;height:22px}.brand .disc:after{height:8px;margin:14px auto 0}.brand .wm-script{font-size:1.44rem}.brand .wm-by{font-size:.5rem;letter-spacing:.36em}}

/* Wordmark fit fix (2026-10-23, from the 390px crop read): the header Call button wrapped to two lines beside the wordmark; keep it on one line and give the lockup room at phone width. */
.call-btn{white-space:nowrap}
@media(max-width:760px){.site-head{padding-left:14px;padding-right:14px;gap:10px}.brand .wm-script{font-size:1.34rem}}

/* Self-hosted script for the interim wordmark: the sandbox and some preview frames fail Google Fonts for this family, so the wordmark font ships with the site (Great Vibes, SIL Open Font License). */
@font-face{font-family:'Great Vibes Local';src:url('fonts/great-vibes-latin.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
.wm-script{font-family:'Great Vibes Local','Great Vibes','Snell Roundhand','Brush Script MT',cursive}
