:root{--purple:#5a3985;--plum:#35204f;--cream:#fffdf8;--lavender:#eee7f3;--ink:#28242b;--muted:#655f69;--line:rgba(90,57,133,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.58 "Lora",serif}a{color:inherit;text-decoration:none}.wrap{width:min(1100px,calc(100% - 48px));margin:auto}
.nav{border-bottom:1px solid var(--line);background:rgba(255,250,240,.97)}.navin{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.header-logo-mark{display:block;width:205px;height:64px;overflow:hidden}.header-logo-mark img{display:block;width:290px;height:64px;max-width:none;object-fit:fill}.links{display:flex;align-items:center;gap:22px;font-size:13px;color:var(--plum)}.links a{white-space:nowrap}.links .cta{border:1px solid var(--purple);padding:9px 14px}.links .active{color:var(--purple);border-bottom:1px solid var(--purple)}
.kicker{color:var(--purple);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.hero{padding:34px 0 38px}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:46px;align-items:center}.hero h1,.page-hero h1{font:400 clamp(32px,3.7vw,44px)/1.1 "Lora",serif;letter-spacing:-.025em;color:var(--plum);margin:7px 0 13px}.hero h1 em{font-style:normal;color:var(--purple)}.hero p,.lead{color:var(--muted);max-width:650px;margin:0 0 16px}.portrait,.feature-photo{width:100%;height:300px;display:block;object-fit:cover;object-position:center;box-shadow:-9px 9px 0 var(--purple)}
.button{display:inline-block;background:var(--purple);color:#fff;padding:10px 16px;font-size:13px}.button.light{background:var(--cream);color:var(--plum)}.band{background:var(--purple);color:#fff;padding:28px 0}.band-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center}.band .kicker{color:#ded4e7}.band h2,.section h2,.cta-band h2{font:400 clamp(24px,2.6vw,31px)/1.16 "Lora",serif;letter-spacing:-.018em;margin:4px 0 9px}.band p{color:rgba(255,255,255,.86);margin:0 0 12px}.section{padding:36px 0}.section-head{max-width:720px;margin-bottom:19px}.section h2{color:var(--plum)}.section p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{border-top:2px solid var(--purple);padding:18px 3px 8px;background:transparent}.card h3,.row h3{font:400 20px/1.22 "Lora",serif;color:var(--purple);margin:0 0 8px}.card p{font-size:15px;margin:0 0 13px}.textlink{color:var(--purple);font-size:13px;border-bottom:1px solid var(--purple)}
.page-hero{padding:27px 0 25px}.page-hero h1{max-width:780px;font-size:clamp(28px,3.1vw,37px)}.split{display:grid;grid-template-columns:.85fr 1.15fr;gap:46px;align-items:center}.photo{width:100%;max-height:440px;object-fit:cover;object-position:center top;box-shadow:-9px 9px 0 var(--purple)}.rows{border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:.75fr 1.25fr;gap:34px;padding:17px 0;border-bottom:1px solid var(--line)}.row p{margin:0}.soft{background:var(--lavender)}.cta-band{padding:30px 0;text-align:center;background:var(--lavender)}.cta-band h2{color:var(--plum);max-width:680px;margin:0 auto 13px}
.about-photo{height:440px;object-fit:contain;object-position:center;background:var(--lavender)}
.image-split{display:grid;grid-template-columns:1fr .75fr;gap:44px;align-items:center}.section-photo{width:100%;height:280px;object-fit:cover;object-position:center}.services-photo{object-position:center 30%}.contact-photo{height:210px;margin-top:24px;box-shadow:8px 8px 0 rgba(255,255,255,.18)}
.story-panel{display:grid;grid-template-columns:.78fr 1.22fr;gap:50px;align-items:center}.story-panel .services-photo{width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;box-shadow:-9px 9px 0 var(--purple)}.story-copy{max-width:620px}.story-copy p{font-size:16px}.plain-note{margin:20px 0 18px;padding-left:17px;border-left:3px solid var(--purple);color:var(--plum)!important;font-size:18px!important}
.why-page .page-hero{padding:18px 0 20px}.why-page .page-hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}.why-page .page-hero h1{font-size:clamp(27px,2.8vw,34px);line-height:1.12}.why-hero-photo{width:100%;height:215px;object-fit:cover;object-position:center;box-shadow:8px 8px 0 var(--lavender)}.why-page .band{padding:20px 0}.why-page .band-grid{grid-template-columns:.9fr 1.1fr;gap:38px}.why-page .band h2,.why-page .cta-band h2{font-size:clamp(22px,2.3vw,28px)}.why-page .cta-band{padding:22px 0}.why-page .row h3{font-size:16px}.why-page .row p{font-size:14px;line-height:1.5}
.contactbox{display:grid;grid-template-columns:.72fr 1.28fr;background:var(--lavender)}.details{background:var(--purple);color:#fff;padding:30px}.details h2{font:400 25px/1.16 "Lora",serif;color:rgba(255,255,255,.84);margin:0 0 16px}.details p,.details a{color:rgba(255,255,255,.84)}.label{display:block;color:#ded4e7;text-transform:uppercase;letter-spacing:.12em;font-size:10px;margin:19px 0 3px}.form{padding:30px}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:15px}label{display:block;color:var(--plum);font-size:13px;margin-bottom:6px}input,select,textarea{width:100%;border:1px solid var(--line);background:var(--cream);padding:11px 12px;font:14px "Lora",serif;color:var(--ink);border-radius:0}textarea{min-height:115px;resize:vertical}button{border:0;background:var(--purple);color:#fff;padding:12px 18px;font:14px "Lora",serif;cursor:pointer}.consent-note{font-size:12px!important;margin:10px 0 2px!important}.note{font-size:12px!important;margin-top:3px!important}
.contact-page .page-hero{padding:18px 0 20px}.contact-page .page-hero .wrap{display:grid;grid-template-columns:.82fr 1.18fr;gap:52px;align-items:center}.contact-page .page-hero h1{margin-bottom:0}.contact-page .page-hero .lead{margin:0;max-width:none}
.contact-page .page-hero h1{font-size:clamp(24px,2.5vw,31px);line-height:1.14}.contact-page .page-hero .lead{font-size:14px;line-height:1.5}
.home-page .section{padding:24px 0}.home-page .section-head{margin-bottom:14px}.home-page .section h2{font-size:clamp(21px,2.2vw,27px);margin-bottom:7px}.home-page .section p{margin:0 0 14px}.home-page .cta-band{padding:20px 0}.home-page .cta-band h2{font-size:clamp(22px,2.3vw,28px);margin-bottom:11px}
.home-page .hero h1{font-size:clamp(28px,3vw,38px);line-height:1.12}
.home-help-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:34px;align-items:center}.home-help .section-head{margin:0}.home-help-photo{display:block;width:100%;height:170px;object-fit:cover;object-position:center;box-shadow:7px 7px 0 var(--lavender)}
.service-intro{padding:28px 0}.service-intro-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:54px;align-items:start}.service-intro h2{font-size:clamp(22px,2.3vw,28px);margin:5px 0 0}.service-intro-copy{border-left:1px solid var(--line);padding-left:32px}.service-intro-copy p{margin:0 0 12px}.service-intro-copy .button{margin-top:2px}
.service-menu{padding:30px 0}.service-menu-heading{display:grid;grid-template-columns:.45fr 1fr 1.25fr;gap:30px;align-items:start;margin-bottom:18px}.service-menu-heading h2,.service-menu-heading p{margin:0}.service-menu-heading h2{font-size:clamp(20px,2vw,25px)}.service-menu-heading p{font-size:14px}.service-lines{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;column-gap:44px}.service-lines article{display:grid;grid-template-columns:.72fr 1.28fr;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.service-lines h3{font:400 16px/1.3 "Lora",serif;color:var(--purple);margin:0}.service-lines p{font-size:14px;line-height:1.5;margin:0}
.services-hero{padding:18px 0}.services-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:40px;align-items:center}.services-hero-photo{display:block;width:100%;height:210px;object-fit:contain;object-position:center;background:var(--lavender);box-shadow:7px 7px 0 var(--purple)}.services-working{padding:20px 0}.services-story{display:grid;grid-template-columns:250px minmax(0,1fr);gap:30px;align-items:center}.services-working-photo{display:block;width:100%;height:180px;object-fit:cover;object-position:center;border-bottom:4px solid var(--purple)}.services-story .story-copy{max-width:none;margin:0}.services-story .story-copy h2{font-size:clamp(20px,2vw,25px);margin:4px 0 8px}.services-story .story-copy p{font-size:14px;line-height:1.48;margin:0 0 8px}.services-story .plain-note{font-size:16px!important;margin:12px 0!important}.services-story .button{margin-top:1px}
.why-reasons{padding:18px 0}.why-reasons .row{padding:10px 0;gap:28px}
footer{background:var(--plum);color:#fff;padding:26px 0 18px}.foot{display:flex;justify-content:space-between;gap:28px;align-items:center}.footer-logo-mark{display:block;width:76px;height:76px}.footer-logo-mark img{display:block;width:76px;height:76px;object-fit:contain}.foot p,.foot a{color:rgba(255,255,255,.74);font-size:13px}.copyright{border-top:1px solid rgba(255,255,255,.14);margin-top:15px;padding-top:13px;color:rgba(255,255,255,.48);font-size:11px}
@media(max-width:820px){.wrap{width:min(100% - 32px,1100px)}.navin{min-height:72px}.header-logo-mark{width:180px;height:56px}.header-logo-mark img{width:254px;height:56px}.links{gap:12px}.links a:not(.cta){display:none}.hero,.page-hero,.section{padding:29px 0}.hero-grid,.band-grid,.split,.row,.contactbox,.formrow,.image-split,.story-panel,.contact-page .page-hero .wrap,.why-page .page-hero .wrap,.why-page .band-grid,.home-help-grid,.service-intro-grid,.services-hero-grid,.services-story,.service-menu-heading,.service-lines{grid-template-columns:1fr;gap:21px}.service-lines{gap:0}.service-lines article{grid-template-columns:1fr;gap:5px}.portrait,.feature-photo{height:320px}.home-help-photo{height:150px}.services-hero-photo{height:190px}.services-working{padding:18px 0}.services-working-photo{height:145px}.service-intro-copy{border-left:0;border-top:1px solid var(--line);padding:17px 0 0}.contact-page .page-hero{padding:18px 0}.why-page .page-hero{padding:18px 0}.why-hero-photo{height:220px}.band{padding:26px 0}.why-page .band{padding:20px 0}.why-reasons{padding:14px 0}.cards{grid-template-columns:1fr;gap:15px}.row{gap:6px}.form,.details{padding:25px 21px}.foot{align-items:flex-start;flex-direction:column}.footer-logo-mark,.footer-logo-mark img{width:68px;height:68px}}
.button,button{background:linear-gradient(110deg,#5a3985,#825bb0,#35204f);background-size:220% 100%;transition:transform .25s ease,box-shadow .25s ease,background-position .45s ease}.button:hover,.button:focus-visible,button:hover,button:focus-visible{background-position:100% 0;transform:translateY(-3px);box-shadow:0 8px 20px rgba(53,32,79,.22)}.button.light:hover,.button.light:focus-visible{background:var(--lavender);color:var(--plum)}
.card{cursor:pointer;transition:transform .25s ease,border-color .25s ease}.card:hover,.card:focus-within{transform:translateY(-5px);border-color:#825bb0}.brand img,.feature-photo,.section-photo,.why-hero-photo,.photo{transition:transform .45s ease,filter .45s ease}.brand:hover img{transform:translateY(-2px)}.feature-photo:hover,.section-photo:hover,.why-hero-photo:hover,.photo:hover{transform:scale(1.018);filter:saturate(1.04)}.motion-ready main>section{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.motion-ready main>section.is-visible{opacity:1;transform:none}.textlink{transition:color .2s ease}.textlink:hover,.textlink:focus-visible{color:var(--plum)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,button,.card,.brand img,.feature-photo,.section-photo,.why-hero-photo,.photo,.motion-ready main>section{transition:none!important;animation:none!important;transform:none!important}.motion-ready main>section{opacity:1}}
.form-success{align-self:start;padding:2rem;border:1px solid rgba(75,28,122,.24);background:#fff;border-radius:18px}
.form-success h2{margin:0 0 .55rem;color:var(--purple)}
.form-success p{margin:0}
#inquiry-form[hidden],.form-success[hidden]{display:none!important}

/* Readable site-wide typography */
body{font-size:17px;line-height:1.62}
.nav{background:rgba(255,253,248,.97)}
.links{font-size:15px}
.button,button{font-size:15px}
.kicker{color:var(--plum);font-size:13px;font-weight:700}
.band .kicker{color:#fff}
.card p,.story-copy p{font-size:17px}
.textlink{font-size:15px}
.why-page .row p,.service-menu-heading p,.service-lines p,.services-story .story-copy p{font-size:16px}
.why-page .row h3{color:var(--plum);font-weight:700}
.service-lines h3{font-size:18px}
.contact-page .page-hero .lead{font-size:17px}
label{font-size:14px}
input,select,textarea{font-size:16px}
.label{font-size:12px}
.consent-note,.note{font-size:13px!important}
.char-count{margin-top:5px;color:var(--muted);font-size:13px;text-align:right}
.foot p,.foot a{font-size:15px}
.footer-links{display:flex;align-items:center;gap:18px}
.footer-links a{white-space:nowrap}
.footer-logo-mark,.footer-logo-mark img{width:52px;height:52px}
.copyright{font-size:12px}

/* Mobile navigation */
.navin{position:relative}
.menu-toggle{display:none;background:transparent!important;color:var(--purple);border:1px solid var(--purple);padding:9px 13px;box-shadow:none!important;transform:none!important}
@media(max-width:820px){
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center}
  .links{display:none;position:absolute;z-index:20;top:calc(100% - 2px);right:0;min-width:210px;flex-direction:column;align-items:stretch;gap:0;padding:8px;background:var(--cream);border:1px solid var(--line);box-shadow:0 12px 28px rgba(53,32,79,.18);font-size:16px}
  .links.open{display:flex}
  .links a,.links a:not(.cta){display:block;padding:11px 12px;border-bottom:0}
  .links .active{background:var(--lavender)}
  .links .cta{margin-top:0;border:0;text-align:left}
  footer{padding:20px 0 16px}
  .foot{align-items:flex-start;flex-direction:row;justify-content:flex-start;gap:18px}
  .footer-logo-mark,.footer-logo-mark img{width:44px;height:44px}
  .footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:16px}
  .footer-links a{font-size:16px}
}
