:root{--ink: #111;--ink-soft: #2b2b2b;--page: #ececec;--panel: #dcdcdc;--pill: #f2f2f2;--pill-border: #c9c9c9;--cta: #cfcfcf;--cta-border: #7a7a7a;--price: #8b0000;--plum: #65003e;--error: #b00020;--focus: #65003e;--font: Georgia, Gelasio, "Palatino Linotype", Palatino, "Book Antiqua", serif;--max: 980px}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--page);color:var(--ink);font:16px/1.45 var(--font);-webkit-text-size-adjust:100%}img{max-width:100%;height:auto;display:block}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.skip-link{position:absolute;left:-9999px;top:0;background:#fff;padding:.5rem 1rem;z-index:10}.skip-link:focus{left:1rem;top:1rem}.proto-banner{background:#fff3cd;color:#5c4400;text-align:center;font:14px/1.4 system-ui,sans-serif;padding:.4rem 1rem;border-bottom:1px solid #e6d28a}.page-bg{background:var(--page-bg) top center / var(--page-bg-size, 100% auto) no-repeat}@media(max-width:700px){.page-bg{background-size:170% auto}}.site-header{padding:1.4rem 1rem 0;text-align:center}.nav-toggle{display:none;margin:0 auto;font:italic 700 1rem var(--font);background:var(--pill);border:1px solid var(--pill-border);border-radius:999px;padding:.45rem 1.2rem;cursor:pointer;color:var(--ink)}.site-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem}.site-nav a{display:block;text-decoration:none;font-style:italic;font-weight:700;font-size:1.05rem;padding:.35rem .7rem;background:#f2f2f2eb;border:1px solid transparent;border-radius:999px;box-shadow:0 1px 3px #0000001f}.site-nav a:hover{border-color:#888}.site-nav a[aria-current=page]{border-color:var(--ink)}@media(max-width:700px){.js .nav-toggle{display:inline-block}.js .site-nav{display:none;margin-top:.6rem}.js .site-nav.open{display:block}.site-nav ul{flex-direction:column;align-items:center}.site-nav a{min-width:13rem;padding:.55rem 1rem}}.logo{width:min(640px,82%);margin:.9rem auto .4rem}.tagline,.section-title,.hero-title{font-style:italic;font-weight:700;text-shadow:0 0 2px #fff,0 0 5px #fff,0 0 10px #fff,0 0 16px #fff;margin:0}.tagline{font-size:1.15rem;line-height:1.2}.hero-title{font-size:1.15rem;line-height:1.25}.section-title{font-size:1.9rem;line-height:1.2;margin:1.6rem 0 .8rem}.subsection-title{font-style:italic;font-weight:700;font-size:1.15rem;margin:1.6rem 0 .6rem;text-shadow:0 0 2px #fff,0 0 5px #fff,0 0 10px #fff,0 0 16px #fff}.wrap{max-width:var(--max);margin:0 auto;padding:0 1rem}.narrow{max-width:640px;margin-left:auto;margin-right:auto}.centre{text-align:center}.italic-copy{font-style:italic}.italic-copy p,.intro p{margin:0 0 1rem}.recommended{margin-top:1rem}.on-photo{text-shadow:0 0 2px #fff,0 0 5px #fff,0 0 10px #fff,0 0 16px #fff,0 0 24px rgba(255,255,255,.9)}.cta{display:inline-block;margin:1rem 0 1.4rem;font-style:italic;font-weight:700;font-size:1rem;text-decoration:none;color:var(--ink);background:linear-gradient(#dedede,#c4c4c4);border:1px solid var(--cta-border);border-radius:999px;padding:.45rem 1rem;box-shadow:0 1px 2px #0003}.cta:hover{background:linear-gradient(#e9e9e9,#cfcfcf)}.hero{text-align:center;padding-bottom:1rem}.hero .stack>*+*{margin-top:1rem}.ratings{width:min(330px,80%);margin:1.2rem auto 1.6rem}.reviews{background:#9a9a9a var(--fur-bg) center / cover;margin:0 auto;max-width:1300px;position:relative}.reviews:before{content:"";position:absolute;inset:0;background:#ebebebd1}.reviews-inner{position:relative;max-width:820px;margin:0 auto;padding:2rem 3.5rem 1.4rem;text-align:center}.slides{display:grid}.slide{grid-area:1 / 1;visibility:hidden;opacity:0;transition:opacity .35s}.slide.is-active{visibility:visible;opacity:1}.no-js .slide{visibility:visible;opacity:1;grid-area:auto;margin-bottom:2rem}.slide h3{font-style:italic;font-size:1.25rem;margin:0 0 .6rem}.slide blockquote{margin:0 auto 1rem;font-style:italic;font-size:1.1rem;max-width:36rem}.google-btn{display:inline-flex;align-items:center;gap:.4rem;font-style:italic;font-weight:700;text-decoration:none;font-size:.95rem;background:#ffffffd9;border:1px solid #999;border-radius:999px;padding:.3rem .8rem}.google-btn svg{width:1.1rem;height:1.1rem}.slide-arrow{position:absolute;top:50%;transform:translateY(-50%);width:2.6rem;height:2.6rem;border-radius:50%;border:0;cursor:pointer;background:#ffffffb3;font-size:1.4rem;line-height:1;color:#333}.slide-arrow.prev{left:.5rem}.slide-arrow.next{right:.5rem}.dots{display:flex;justify-content:center;gap:.45rem;margin-top:1.2rem;padding:0;list-style:none}.dots button{width:.7rem;height:.7rem;padding:0;border:1px solid #333;background:#fff;cursor:pointer}.dots button[aria-current=true]{background:#111}.no-js .slide-arrow,.no-js .dots{display:none}.who .who-text>p:first-child{font-size:1.2rem;line-height:1.35;margin:0 0 1rem}.insurance{width:140px;margin:1rem auto 2rem}.team{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;list-style:none;padding:0;margin:0 0 2rem;text-align:center}.team img{width:150px;height:150px;object-fit:cover;border-radius:50%;margin:0 auto .8rem;box-shadow:0 2px 6px #0003}.team h3{font-style:italic;font-size:1.15rem;margin:0;line-height:1.2}.team p{font-style:italic;margin:.15rem 0 0;font-size:.95rem}@media(max-width:640px){.team{grid-template-columns:1fr}}.badges{display:flex;justify-content:center;margin:1.5rem 0}.badges img{width:150px}.press{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem 3rem;list-style:none;padding:0;margin:1rem 0 2rem}.press img{height:40px;width:auto}.site-footer{background:#cfcfcf var(--footer-bg) left center / cover;text-align:center;padding:1.4rem 1rem 1.6rem;margin-top:1rem}.site-footer .inner{background:#ecececbf;display:inline-block;padding:.6rem 1.2rem;border-radius:10px}.social{display:flex;justify-content:center;gap:.5rem;list-style:none;margin:0 0 .6rem;padding:0}.social a{display:grid;place-items:center;width:2.4rem;height:2.4rem;background:#111;color:#fff;border-radius:50%}.social svg{width:1.2rem;height:1.2rem;fill:currentColor}.copyright{font-style:italic;font-weight:700;margin:0}.site-footer a.terms{font-style:italic;font-weight:700}.site-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}.site-footer .inner{grid-column:2}.site-footer .psp{grid-column:3;justify-self:center}.site-footer .psp img{display:block;width:150px;height:auto}@media(max-width:700px){.site-footer{grid-template-columns:1fr;justify-items:center}.site-footer .inner,.site-footer .psp{grid-column:1}.site-footer .psp img{width:120px}}.form-card{background:#f0f0f0f0;border-radius:18px;padding:1.6rem clamp(1rem,4vw,2.4rem);margin:1.5rem auto 2.5rem;max-width:760px;box-shadow:0 2px 10px #0000001f}.req-intro{font-style:italic;text-align:center}.req-intro .big{font-size:1.35rem;line-height:1.3}.field{margin:0 0 1.4rem;border:0;padding:0;min-width:0}.field>label,.field>legend{display:block;font-weight:700;margin:0 0 .45rem;padding:0;line-height:1.35}.req{font-weight:400;font-style:italic;color:#444}.hint{display:block;font-size:.9rem;font-style:italic;color:#444;margin:-.2rem 0 .45rem}.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=date],.field select{width:100%;font:1rem var(--font);color:var(--ink);padding:.65rem .75rem;min-height:2.9rem;background:#fff;border:1px solid #8a8a8a;border-radius:8px}.field select{appearance:auto}.choices{display:grid;gap:.5rem}.choice{display:flex;gap:.6rem;align-items:flex-start;line-height:1.35;cursor:pointer}.choice input{margin:.2rem 0 0;width:1.15rem;height:1.15rem;flex:none;accent-color:var(--plum)}.field.has-error input,.field.has-error select{border-color:var(--error)}.error-msg{color:var(--error);font-size:.95rem;margin:.4rem 0 0;display:none}.field.has-error .error-msg{display:block}.submit{display:block;width:100%;max-width:20rem;margin:1.6rem auto 0;font:italic 700 1.1rem var(--font);color:#fff;background:#3d3d3d;border:0;border-radius:999px;padding:.8rem 1rem;cursor:pointer}.submit:hover{background:#222}.submit[disabled]{opacity:.6;cursor:progress}.form-summary{color:var(--error);font-weight:700;text-align:center;display:none}.form-summary.show{display:block}.thanks{text-align:center;font-weight:700;font-style:italic;font-size:1.2rem;padding:2rem 0}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.req{margin-left:.3em}.req-intro{background:#f5f5f5d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:18px;padding:1.1rem clamp(1rem,4vw,2rem) .3rem;margin-top:1rem;box-shadow:0 2px 10px #00000014}.no-js .tab-list{display:none}.tab-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem;margin:1.2rem 0 1rem}.tab-list [role=tab]{font:italic 700 1rem var(--font);color:var(--ink);cursor:pointer;background:#f2f2f2f2;border:1px solid var(--pill-border);border-radius:999px;padding:.4rem .9rem;box-shadow:0 1px 3px #0000001f}.tab-list [role=tab][aria-selected=true]{background:#555;color:#fff;border-color:#555}.tab-panel{background:#dcdcdcf0;border-radius:18px;padding:1.4rem clamp(1rem,4vw,2.4rem);margin:0 auto 1rem;max-width:920px;box-shadow:0 2px 10px #0000001a}.panel-title{font-style:italic;font-size:1.5rem;text-align:center;margin:0 0 .8rem}.tab-panel p{margin:0 0 .9rem}.our-service .tab-panel{text-align:center}.panel-title{text-shadow:0 0 2px #fff,0 0 5px #fff,0 0 10px #fff,0 0 16px #fff}.page-intro{background:#f5f5f5d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:18px;padding:1rem clamp(1rem,4vw,2rem);max-width:760px;margin:1rem auto;font-style:italic;text-align:center;font-size:1.1rem}.rates{list-style:none;padding:0;margin:1rem 0 1.4rem;text-align:center}.rates li{font-weight:700;font-style:italic;font-size:1.15rem;margin:0 0 .7rem}.rates .price{color:var(--price)}.centre-note{text-align:center;font-style:italic}.terms-doc{background:#f0f0f0f2;border-radius:18px;padding:1.6rem clamp(1rem,4vw,2.4rem);max-width:900px;margin:1.5rem auto 2.5rem}.terms-doc h2{font-size:1.15rem;letter-spacing:.03em;margin:1.8rem 0 .5rem}.terms-doc p{margin:0 0 .8rem}.form-failure{color:var(--error);font-weight:700;text-align:center}.rates-callout{text-align:center;font-style:italic;font-size:1.1rem}.rates li{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem 1.6rem}body.shop{--shop: #8c3f6c;--shop-dark: #65003e}body.shop .page-bg{background-color:#f4f4f4}.shop-banner{text-align:center;padding:0 1rem 2.2rem}.shop-banner .section-title{margin-top:.4rem}.shop-intro{max-width:30rem;margin:0 auto;font-style:italic;font-size:1.05rem;text-shadow:0 0 6px #fff,0 0 3px #fff}.shop-wrap{background:#f4f4f4;padding:1.5rem 1rem 3rem}.shop-inner{max-width:1000px;margin:0 auto}.breadcrumb{font-style:italic;font-weight:700;margin:0 0 1.2rem;font-size:.95rem}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:0}.breadcrumb li+li:before{content:"›";margin-right:.4rem}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.6rem;list-style:none;padding:0;margin:0}.product-card{text-align:center;display:flex;flex-direction:column;gap:.5rem}.product-card img{width:100%;aspect-ratio:1;object-fit:cover;background:#fff}.product-card h2{font-size:1.05rem;font-style:italic;margin:.3rem 0 0}.product-card h2 a{text-decoration:none}.product-card .price{font-style:italic;margin:0}.ribbon{display:inline-block;align-self:center;background:#444;color:#fff;font-style:italic;font-weight:700;font-size:.8rem;border-radius:999px;padding:.1rem .7rem}.shop-btn{font:italic 700 1rem var(--font);color:#fff;background:var(--shop);border:0;border-radius:999px;padding:.55rem 1.3rem;cursor:pointer;text-decoration:none;display:inline-block}.shop-btn:hover{background:var(--shop-dark)}.shop-btn.secondary{background:#fff;color:var(--shop-dark);border:2px solid var(--shop)}.shop-btn[disabled]{opacity:.5;cursor:not-allowed}.qty{display:inline-flex;align-items:center;border:1px solid #555}.qty button{width:2.6rem;height:2.6rem;border:0;background:#fff;font-size:1.2rem;cursor:pointer}.qty input{width:3rem;height:2.6rem;text-align:center;border:0;font:1rem var(--font);-moz-appearance:textfield}.qty input::-webkit-inner-spin-button{-webkit-appearance:none}.stock-msg{color:var(--error);font-style:italic;font-weight:700;min-height:1.4em;margin:0}.product{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;align-items:start}@media(max-width:760px){.product{grid-template-columns:1fr}}.gallery-main img{width:100%;background:#fff}.thumbs{display:flex;gap:.5rem;margin-top:.6rem;flex-wrap:wrap;list-style:none;padding:0}.thumbs button{padding:0;border:2px solid transparent;background:none;cursor:pointer}.thumbs button[aria-current=true]{border-color:var(--shop)}.thumbs img{width:64px;height:64px;object-fit:cover}.product-info h1{font-style:italic;font-size:1.8rem;margin:0 0 .4rem}.product-info .price{font-style:italic;font-size:1.2rem;margin:0 0 1rem}.product-info label{display:block;font-weight:700;margin:1rem 0 .4rem}.product-info select{font:1rem var(--font);padding:.55rem;min-width:16rem;max-width:100%;border:1px solid #555;background:#fff}.buy-buttons{display:grid;gap:.7rem;margin:1.2rem 0;max-width:22rem}.description{margin-top:1.5rem}.cart-button{position:fixed;right:1rem;bottom:1rem;z-index:5;font:italic 700 1rem var(--font);color:#fff;background:var(--shop, #8c3f6c);border:0;border-radius:999px;padding:.7rem 1.2rem;box-shadow:0 2px 8px #0000004d;cursor:pointer}.cart{margin:0 0 0 auto;height:100%;max-height:100%;width:min(420px,100%);border:0;padding:1.2rem;background:#fff;font-family:var(--font)}.cart::backdrop{background:#0006}.cart-head{display:flex;justify-content:space-between;align-items:center}.cart-head h2{font-style:italic;margin:0}.cart-close{border:0;background:none;font-size:1.4rem;cursor:pointer;padding:.3rem .6rem}.cart-lines{list-style:none;padding:0;margin:1rem 0}.cart-lines li{display:grid;grid-template-columns:1fr auto;gap:.3rem .8rem;padding:.8rem 0;border-bottom:1px solid #ddd}.cart-lines .remove{background:none;border:0;color:var(--shop-dark, #65003e);text-decoration:underline;cursor:pointer;font:.9rem var(--font);justify-self:start;padding:0}.cart-subtotal{display:flex;justify-content:space-between;font-size:1.1rem}.cart-note{font-size:.9rem;font-style:italic;color:#444}.cart-status{color:var(--error);font-weight:700}.cart-checkout{width:100%}
