:root{--ink:#102d3c;--deep:#092331;--blue:#164a63;--ice:#eaf3f4;--mist:#f6f8f7;--gold:#d89e55;--white:#fff;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;background:var(--mist)}a{color:inherit}img{max-width:100%;display:block}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:20;background:white;padding:.7rem}
.header{height:86px;padding:0 clamp(1.25rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;background:rgba(246,248,247,.96);position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(16,45,60,.1)}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;line-height:1.1}.brand-mark{width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-size:1.05rem}.brand strong{display:block;font-family:var(--serif);font-size:1.15rem}.brand small{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:.58rem;margin-top:.25rem;color:#56707d}.header nav{display:flex;align-items:center;gap:clamp(1rem,2.3vw,2.3rem)}.header nav a{text-decoration:none;font-size:.88rem;font-weight:500}.nav-cta{background:var(--ink);color:white!important;padding:.7rem 1.1rem;border-radius:2rem}.menu-button{display:none;border:1px solid #aac0c7;background:none;padding:.55rem .8rem;border-radius:2rem}
.hero{min-height:calc(100vh - 86px);position:relative;display:flex;align-items:center;overflow:hidden;color:white}.hero>img,.hero-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{background:linear-gradient(90deg,rgba(3,27,40,.92) 0%,rgba(7,40,54,.66) 43%,rgba(8,37,50,.05) 76%)}.hero-content{position:relative;z-index:1;width:min(760px,88%);margin-left:clamp(1.25rem,8vw,8.5rem);padding:5rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:600;color:#f2c98e;margin:0 0 1.3rem}.eyebrow.dark{color:#9a652c}.hero h1{font:500 clamp(3rem,6.3vw,6.6rem)/.98 var(--serif);letter-spacing:-.035em;margin:0}.hero h1 em{color:#efc98f;font-weight:500}.lead{font-size:clamp(1rem,1.45vw,1.22rem);max-width:590px;color:#e5edf0;margin:2rem 0}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}.button{display:inline-block;text-decoration:none;padding:.95rem 1.3rem;border-radius:2rem;font-weight:600;font-size:.9rem}.primary{background:var(--gold);color:#102d3c}.ghost{border:1px solid rgba(255,255,255,.55)}.hero-note{position:absolute;z-index:2;right:3vw;bottom:2rem;font-size:.75rem;letter-spacing:.06em;writing-mode:vertical-rl;color:#e7eef0}
.intro,.supports,.session,.about,.practitioners,.faq,.contact{padding:clamp(4rem,9vw,9rem) clamp(1.25rem,8vw,8.5rem)}.intro{display:grid;grid-template-columns:.25fr 1.3fr 1fr;gap:4rem;align-items:start;background:white}.section-number{font-family:var(--serif);color:var(--gold);font-size:1.4rem;margin:0}.intro h2,.section-head h2,.session h2,.about h2,.practitioners h2,.faq h2,.contact h2{font:500 clamp(2.2rem,4vw,4.4rem)/1.08 var(--serif);letter-spacing:-.03em;margin:0}.intro-copy{margin:3rem 0 0;color:#536b76}
.supports{background:var(--mist)}.section-head{max-width:760px}.section-head>p:last-child{color:#5b717b;max-width:650px}.cards{display:grid;grid-template-columns:repeat(3,1fr);margin-top:4rem;border-top:1px solid #bed0d4;border-left:1px solid #bed0d4}.cards article{padding:2rem;min-height:235px;border-right:1px solid #bed0d4;border-bottom:1px solid #bed0d4;transition:.25s}.cards article:hover{background:white;transform:translateY(-3px)}.cards article.featured{background:var(--deep);color:white}.cards article.featured p{color:#c8d6da}.cards span{font-family:var(--serif);color:var(--gold)}.cards h3{font:500 1.45rem var(--serif);margin:2.6rem 0 .7rem}.cards h3 a{text-decoration-thickness:1px;text-underline-offset:.2em}.cards p{font-size:.92rem;color:#5d727c;margin:0}.local-area{padding-top:1rem;border-top:1px solid #d5e0e2}
.session{background:var(--deep);color:white;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(3rem,9vw,9rem)}.session-copy>p:not(.eyebrow){color:#c8d6da;max-width:650px}.steps{list-style:none;padding:0;margin:0}.steps li{display:flex;gap:1.3rem;padding:1.7rem 0;border-bottom:1px solid rgba(255,255,255,.18)}.steps li>span{flex:none;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;color:#f1c787}.steps strong{font:500 1.35rem var(--serif)}.steps p{color:#b9c9ce;margin:.25rem 0 0;font-size:.9rem}
.about{background:white;display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(3rem,8vw,8rem);align-items:center}.about-monogram{aspect-ratio:1;max-width:420px;border-radius:50%;background:linear-gradient(145deg,#0e3d53,#092331);color:#e8b978;display:grid;place-items:center;font:500 clamp(4rem,10vw,8rem) var(--serif);box-shadow:25px 25px 0 #dce9ea}.about .large{font:500 1.3rem/1.6 var(--serif);margin-top:2rem}.about p:last-child{color:#5b717b}
.practitioners{background:white}.practitioner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:3rem}.practitioner-grid article{position:relative;padding:2.2rem;border:1px solid #c3d4d8;background:var(--mist)}.practitioner-initials{float:right;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--deep);color:#f2c98e;font:500 1.2rem var(--serif)}.practitioner-grid h3{font:500 2rem var(--serif);margin:.2rem 0 1rem}.practitioner-grid address{font-style:normal;color:#526b76;margin:1.2rem 0}.practitioner-grid article>a{font-weight:600;color:var(--blue);text-underline-offset:.2em}
.reviews{padding:clamp(4rem,9vw,9rem) clamp(1.25rem,8vw,8.5rem);background:#eaf3f4}.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem}.reviews-heading h2{font:500 clamp(2.2rem,4vw,4.4rem)/1.08 var(--serif);letter-spacing:-.03em;margin:0;max-width:720px}.google-rating{flex:none;display:flex;align-items:center;gap:1rem;background:white;padding:1rem 1.25rem;border-radius:.8rem;box-shadow:0 12px 32px rgba(9,35,49,.08)}.google-g{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font:bold 1.45rem Arial;color:#4285f4;border:1px solid #dce5e8}.google-rating div{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:.7rem;line-height:1.15}.google-rating strong{font:600 1.65rem var(--sans)}.stars{color:#b86f0d;letter-spacing:.08em}.google-rating small{grid-column:1/-1;color:#5b717b;margin-top:.25rem}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:3rem}.review-grid blockquote{margin:0;padding:2rem;background:white;border-top:3px solid var(--blue);box-shadow:0 10px 26px rgba(9,35,49,.06)}.review-grid blockquote p{font:500 1.12rem/1.65 var(--serif);margin:1rem 0;color:#193b4a}.review-grid cite{font-style:normal;color:#607883;font-size:.82rem}.review-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.google-primary{background:var(--ink);color:white}.google-secondary{border:1px solid var(--ink);color:var(--ink)}.reviews-note{font-size:.78rem;color:#607883;margin:1.25rem 0 0;max-width:760px}
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem)}.accordions details{border-top:1px solid #b9ccd1;padding:1.4rem 0}.accordions details:last-child{border-bottom:1px solid #b9ccd1}.accordions summary{cursor:pointer;list-style:none;font:500 1.16rem var(--serif);display:flex;justify-content:space-between;gap:2rem}.accordions summary::-webkit-details-marker{display:none}.accordions summary span{font-family:var(--sans);font-weight:400;color:var(--gold)}.accordions details[open] summary span{transform:rotate(45deg)}.accordions details p{color:#5b717b;max-width:650px}
.contact{background:#0b3447;color:#fff;text-align:center}.contact .eyebrow{color:#f2c98e}.contact h2{max-width:800px;margin:auto}.contact>p:not(.eyebrow){max-width:680px;margin:1.5rem auto;color:#dce8eb}.cabinet-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;max-width:1120px;margin:2.2rem auto 0}.contact-details{padding:2rem;border:1px solid rgba(255,255,255,.42);display:grid;align-content:start;gap:.55rem;background:rgba(255,255,255,.08);box-shadow:0 18px 45px rgba(0,0,0,.14)}.contact-details h3{font:500 1.65rem var(--serif);margin:0 0 .8rem}.cabinet-practitioner{color:#f2c98e;font-weight:600;margin:0}.contact-details a{color:#fff;font-weight:600;text-decoration:underline;text-decoration-color:#e6b673;text-underline-offset:.22em}.contact-details .contact-phone{color:#f4cf99;font:500 clamp(1.8rem,3.5vw,3rem) var(--serif);line-height:1.15;text-decoration:none}.contact-details address{font-style:normal;margin:.8rem 0;color:#f4f8f9}.contact-details strong{color:#f2c98e;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem}
.contact-numbers{display:grid;gap:.7rem;margin-bottom:.4rem}.contact-numbers a{display:flex;flex-direction:column;align-items:center;text-decoration:none}.contact-numbers a span{font:600 .68rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#dce8eb;margin-bottom:.2rem}.contact-details .contact-fixed{color:#fff;font:500 clamp(1.4rem,3vw,2.15rem) var(--serif);line-height:1.2;text-decoration:none}
footer{padding:3rem clamp(1.25rem,5vw,5rem);background:#071c27;color:#b8c7cc;display:grid;grid-template-columns:1fr 1.3fr 1fr auto;gap:2rem;align-items:center;font-size:.78rem}.footer-brand{color:white}.footer-brand .brand-mark{color:#efc98f}footer p{margin:0}footer div:nth-child(3){display:flex;gap:1rem}footer a{text-decoration:none}
@media(max-width:850px){.header{height:72px}.menu-button{display:block}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--mist);padding:1.2rem;flex-direction:column;align-items:stretch;border-bottom:1px solid #ccd9dc}.header nav.open{display:flex}.header nav a{padding:.5rem}.hero{min-height:780px}.hero-overlay{background:linear-gradient(90deg,rgba(3,27,40,.92),rgba(7,40,54,.45))}.hero-note{display:none}.intro,.session,.about,.faq{grid-template-columns:1fr;gap:2rem}.intro{padding-top:4rem}.intro-copy{margin-top:0}.cards{grid-template-columns:1fr 1fr}.about-monogram{max-width:280px}.faq .section-head{margin-bottom:1rem}footer{grid-template-columns:1fr 1fr}}@media(max-width:560px){.brand strong{font-size:1rem}.brand-mark{width:39px;height:39px}.hero{min-height:700px}.hero-content{padding:4rem 0;margin-left:1.25rem}.hero h1{font-size:3.1rem}.cards{grid-template-columns:1fr}.cards article{min-height:190px}.cards h3{margin-top:1.6rem}.about-monogram{max-width:210px;box-shadow:14px 14px 0 #dce9ea}footer{grid-template-columns:1fr}}
@media(max-width:850px){.header{height:72px}.menu-button{display:block}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--mist);padding:1.2rem;flex-direction:column;align-items:stretch;border-bottom:1px solid #ccd9dc}.header nav.open{display:flex}.header nav a{padding:.5rem}.hero{min-height:780px}.hero-overlay{background:linear-gradient(90deg,rgba(3,27,40,.92),rgba(7,40,54,.45))}.hero-note{display:none}.intro,.session,.about,.faq{grid-template-columns:1fr;gap:2rem}.intro{padding-top:4rem}.intro-copy{margin-top:0}.cards{grid-template-columns:1fr 1fr}.about-monogram{max-width:280px}.practitioner-grid,.cabinet-grid{grid-template-columns:1fr}.faq .section-head{margin-bottom:1rem}footer{grid-template-columns:1fr 1fr}}@media(max-width:560px){.brand strong{font-size:1rem}.brand-mark{width:39px;height:39px}.hero{min-height:700px}.hero-content{padding:4rem 0;margin-left:1.25rem}.hero h1{font-size:3.1rem}.cards{grid-template-columns:1fr}.cards article{min-height:190px}.cards h3{margin-top:1.6rem}.about-monogram{max-width:210px;box-shadow:14px 14px 0 #dce9ea}footer{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cards article{transition:none}}
@media(max-width:850px){.reviews-heading{align-items:flex-start;flex-direction:column}.review-grid{grid-template-columns:1fr}}
@media(max-width:560px){.google-rating{width:100%}.review-actions .button{width:100%;text-align:center}}
.muriel-reviews-highlight{margin-top:4rem;padding-top:3rem;border-top:1px solid #c5d8dc}.muriel-reviews-highlight h3{font:500 clamp(1.8rem,3vw,3rem)/1.15 var(--serif);margin:0}.review-grid.compact blockquote p{font-size:1rem}
.pricing{padding:clamp(4rem,8vw,8rem) clamp(1.25rem,8vw,8.5rem);background:white}.pricing .section-head h2{font:500 clamp(2.3rem,4.5vw,4.8rem)/1.05 var(--serif);margin:0}.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-top:3rem}.pricing-grid article{padding:clamp(1.6rem,3vw,2.5rem);background:var(--ice);border-top:4px solid var(--blue)}.pricing-grid article.pricing-featured{background:var(--deep);color:white;border-top-color:var(--gold)}.pricing-label{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:600;color:#6a4a25}.pricing-featured .pricing-label{color:#efc98f}.pricing-price{font:500 clamp(3rem,5vw,5rem)/1 var(--serif);margin:.8rem 0}.pricing-grid h3{font:500 1.45rem var(--serif);margin:.8rem 0}.pricing-grid article>p:last-child{margin-bottom:0}.pricing-featured>p:last-child{color:#d9e6e9}.pricing-note{font-size:.82rem;color:#607883;margin:1.2rem 0 0;max-width:760px}@media(max-width:700px){.pricing-grid{grid-template-columns:1fr}}
.service-area{padding:clamp(4rem,8vw,8rem) clamp(1.25rem,8vw,8.5rem);background:#f6f8f7}.service-area .section-head{max-width:860px}.service-area .section-head h2{font:500 clamp(2.2rem,4.2vw,4.5rem)/1.08 var(--serif);margin:0}.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin-top:3rem}.area-grid article{padding:2rem;background:white;border-top:3px solid var(--blue);box-shadow:0 10px 26px rgba(9,35,49,.06)}.area-grid article span{font:500 2.6rem/1 var(--serif);color:#9a652c}.area-grid h3{font:500 1.55rem var(--serif);margin:.8rem 0}.area-grid p{color:#49636f;margin:0}.area-link{display:inline-block;margin-top:2rem;font-weight:600;color:var(--blue)}@media(max-width:850px){.area-grid{grid-template-columns:1fr}}
@media(max-width:1100px){.header{height:72px}.menu-button{display:block}.header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--mist);padding:1.2rem;flex-direction:column;align-items:stretch;border-bottom:1px solid #ccd9dc}.header nav.open{display:flex}.header nav a{padding:.5rem}}
