
:root{--navy:#061b2d;--blue:#183a52;--ink:#172b3e;--muted:#526071;--paper:#fcfaf6;--gold:#c49b57;--champagne:#efcf91}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--navy);font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-size:17px;line-height:1.65}a{color:inherit}header{max-width:1280px;margin:auto;padding:28px 44px;display:flex;align-items:center;justify-content:space-between;gap:28px;color:#fff}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;font-family:Georgia,serif;font-size:28px;line-height:1.25}.brand small{display:block;font-family:Arial,sans-serif;font-size:14px;letter-spacing:.12em;margin-top:7px;color:var(--champagne)}.monogram{display:grid;place-items:center;width:50px;height:50px;flex-shrink:0;border:1px solid var(--gold);border-radius:50%;color:var(--champagne);font-size:22px}nav{display:flex;align-items:center;gap:28px;font-size:15px}nav a{text-decoration:none}nav a:hover{color:var(--champagne)}.nav-contact{padding:11px 20px;border:1px solid var(--gold);border-radius:4px;color:var(--champagne)}.hero{position:relative;isolation:isolate;max-width:1280px;margin:auto;display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;padding:38px 44px 68px;color:white}.hero:before{content:"";position:absolute;z-index:-1;left:44px;right:44px;bottom:24px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.eyebrow{font-size:14px;font-weight:600;letter-spacing:.14em;margin:0 0 24px;color:var(--gold)}.hero .eyebrow{color:var(--champagne)}.hero-copy:before{content:"";display:block;width:65px;height:2px;background:var(--gold);margin-bottom:30px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;line-height:1.08;margin:0}h1{font-size:clamp(42px,5.3vw,72px);color:#fff}h1 em{color:var(--champagne);font-weight:400}h2{font-size:clamp(34px,3.7vw,48px);color:var(--navy)}h2 em{color:#9b7136;font-weight:400}h3{font-family:Georgia,serif;font-size:25px;line-height:1.25;font-weight:400;margin:18px 0 14px}.service-line{font-size:18px;line-height:1.8;margin:27px 0 16px;color:#f3e7d2}.service-line span{color:var(--gold);padding:0 5px}.intro{font-size:17px;color:#cbd7e2;max-width:470px;margin:0 0 24px}.experience-badge{display:inline-flex;gap:15px;align-items:center;border:1px solid #8e744b;border-radius:5px;padding:9px 20px 9px 10px;margin:0 0 30px;font-size:16px;color:#fff}.experience-badge>span{display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;width:39px;height:39px;font-family:Georgia,serif;color:var(--champagne);font-size:16px}.actions{display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-block;text-decoration:none;padding:14px 25px;border:1px solid var(--gold);border-radius:4px;font-size:16px;font-weight:600}.primary{background:linear-gradient(135deg,#f3dfaf,#c8a160);color:#13273b;box-shadow:0 5px 18px #0002}.secondary{color:#f4e4c5;background:transparent}.button:hover{filter:brightness(1.12)}.hero-detail{color:#b8c7d5;font-size:14px;margin:23px 0 0}.hero-detail span{padding:0 7px}.portrait{margin:0;padding:5px;border:1px solid var(--champagne);background:#193147;box-shadow:0 20px 45px #0004;justify-self:end;width:100%;max-width:450px}.portrait img{display:block;width:100%;height:auto}.portrait figcaption{padding:15px 16px 10px;line-height:1.4;color:#fff}.portrait figcaption span{font-family:Georgia,serif;font-size:24px}.portrait figcaption small{display:block;font-size:14px;color:var(--champagne);margin-top:5px}.section{padding:76px max(44px,calc((100vw - 1192px)/2));background:var(--paper)}.section-heading{text-align:center;margin-bottom:42px}.section-heading .eyebrow{display:flex;align-items:center;justify-content:center;gap:20px;color:#795726}.section-heading .eyebrow:before,.section-heading .eyebrow:after{content:"";height:1px;width:65px;background:#d6ba84}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.service-grid article{padding:30px 24px;border:1px solid #dfd3bf;border-radius:7px;background:#fffdf9;box-shadow:0 8px 24px #172b3e05;transition:transform .2s}.service-grid article:hover{transform:translateY(-4px)}.number{display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--gold);border-radius:50%;font-family:Georgia,serif;font-size:24px;color:#997139}.service-grid p{font-size:16px;color:var(--muted);margin:0}.appointments{background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:80px;border-top:1px solid #e9e1d3}.appointments>div>p:last-child{color:var(--muted);max-width:460px;margin-top:26px}.appointment-options article{padding:25px 0;border-bottom:1px solid #e2d8c6}.appointment-options article:first-child{padding-top:0}.appointment-options h3{margin-top:0}.appointment-options p{margin:0;color:var(--muted)}.process{border-top:1px solid #e9e1d3}.process ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;padding:0;margin:0}.process li>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--gold);border-radius:50%;color:#94703c;font-family:Georgia,serif;font-size:22px}.process h3{font-size:23px}.process p{color:var(--muted);font-size:16px;margin:0}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--navy);color:#fff;border-top:1px solid #9e7c43}.contact h2{color:#fff}.contact .eyebrow{color:var(--champagne)}.contact p{color:#ced9e3}.contact-details>a,.contact-details>p{display:block;text-decoration:none;margin:0 0 25px;font-size:23px;overflow-wrap:anywhere}.contact-details>a:hover{color:var(--champagne)}.contact-details small{display:block;font-size:14px;letter-spacing:.1em;color:var(--champagne);margin-bottom:6px}.contact-details .privacy-note{font-size:14px;color:#b9c8d5;margin:0;line-height:1.6}footer{padding:28px max(44px,calc((100vw - 1192px)/2));background:var(--navy);border-top:1px solid #ffffff1c;display:flex;justify-content:space-between;gap:24px;color:#b9c8d5;font-size:14px}.footer-divider{padding:0 7px}a:focus-visible{outline:3px solid var(--champagne);outline-offset:5px}@media(max-width:1050px){.hero{gap:36px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand{font-size:24px}nav{gap:18px}}@media(max-width:800px){header{padding:22px 24px;gap:15px}.brand{font-size:22px}.brand small{font-size:14px;letter-spacing:.06em}.monogram{display:none}nav a:not(.nav-contact){display:none}.nav-contact{font-size:14px;padding:9px 12px}.hero{grid-template-columns:1fr;padding:25px 24px 56px;gap:38px}.hero-copy:before{margin-bottom:24px}.hero:before{left:24px;right:24px;bottom:18px}h1{font-size:clamp(40px,8vw,60px)}.hero .eyebrow{font-size:14px;letter-spacing:.08em}.portrait{justify-self:center;max-width:440px}.service-line{font-size:17px}.section{padding:56px 24px}.appointments,.contact{grid-template-columns:1fr;gap:34px}.process ol{grid-template-columns:1fr;gap:30px}.process li{border-top:1px solid #dfd3bf;padding-top:24px}footer{padding:25px 24px;flex-direction:column;gap:10px}.service-grid article{padding:25px 20px}}@media(max-width:520px){.service-grid{grid-template-columns:1fr}.brand{font-size:19px}.brand small{font-size:14px}.nav-contact{max-width:110px;text-align:center;line-height:1.3}.experience-badge{padding-right:12px;font-size:15px;gap:10px}.button{padding:13px 20px}.service-line span{padding:0 1px}.section-heading .eyebrow:before,.section-heading .eyebrow:after{width:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-grid article{transition:none}.service-grid article:hover{transform:none}}

/* Lead with Cynthia's uncropped portrait on phones and tablets. */
@media(max-width:800px){header{padding-top:16px;padding-bottom:16px}.hero{padding-top:8px;gap:24px}.portrait{order:-1;width:min(52vw,210px);justify-self:center;padding:4px}.portrait img{width:100%;height:auto}.portrait figcaption{display:none}.hero-copy:before{display:none}.hero .eyebrow{margin-bottom:16px}h1{font-size:clamp(36px,8vw,54px)}.service-line{margin-top:20px}.hero-detail{margin-top:18px}}

/* Service pages and accessible navigation. */
.text-link{display:block;margin-top:20px;color:#795726;font-size:15px;font-weight:600;text-underline-offset:4px}
footer{flex-wrap:wrap}.footer-links{display:flex;gap:22px;flex-wrap:wrap;flex-basis:100%}.footer-links a{text-underline-offset:4px}
.skip-link{position:absolute;left:16px;top:-100px;background:#fff;color:#061b2d;padding:12px;z-index:10}.skip-link:focus{top:16px}
.service-hero{max-width:1280px;margin:auto;padding:45px 44px 55px;color:white}.service-hero h1{font-size:clamp(36px,5vw,62px);max-width:850px}.service-tagline{font-family:Georgia,serif;font-size:26px;color:var(--champagne);margin:24px 0 16px}.service-hero .intro{max-width:720px}.service-nav{display:flex;flex-wrap:wrap;gap:16px 28px;margin-top:32px}.service-nav a{text-decoration:underline;text-underline-offset:5px;color:var(--champagne)}
.service-content{padding-top:52px;padding-bottom:52px}.service-content h2{font-size:32px;max-width:850px;margin:38px auto 18px}.service-content h2:first-child{margin-top:0}.service-content p,.service-content ul,.service-content ol,.service-content details{max-width:850px;margin-left:auto;margin-right:auto}.service-content p,.service-content li{color:var(--muted)}.service-content a{color:#795726;text-underline-offset:4px}.service-content details{padding:17px 0;border-bottom:1px solid #dfd3bf}.service-content summary{cursor:pointer;font-weight:600}.service-content details p{margin-bottom:0}.service-content :focus-visible{outline:3px solid #795726;outline-offset:4px}
@media(max-width:800px){.service-hero{padding:30px 24px 40px}.service-nav a:not(.nav-contact){display:block}.service-nav{font-size:15px;gap:15px}.footer-links{gap:14px 22px}.service-content h2{font-size:29px}}

/* Business name and three-service tagline. */
.brand-tagline{display:block;font-family:Arial,Helvetica,sans-serif;font-size:11px;line-height:1.5;letter-spacing:0;color:#cbd7e2;margin-top:5px}.brand small{letter-spacing:.04em}@media(max-width:520px){header{gap:12px}.brand{gap:9px}.brand small{font-size:12px}.brand-tagline{font-size:10px;max-width:190px}.nav-contact{font-size:13px;padding:9px 10px}.monogram{width:40px;height:40px}}
