:root { --p-ink:#17312d; --p-green:#2e7167; --p-sage:#dce9e1; --p-pale:#f3f7f3; --p-warm:#f4efe7; --p-line:#cbd9d0; }
.praxis-site { background:#fbfdfb; color:var(--p-ink); font-family:"Segoe UI",Arial,sans-serif; line-height:1.6; }
.praxis-site h1,.praxis-site h2,.praxis-site h3,.praxis-site p { margin-top:0; }
.praxis-header { position:sticky; top:44px; z-index:1000; min-height:84px; display:flex; align-items:center; gap:36px; padding:14px clamp(20px,5vw,82px); background:rgb(251 253 251 / .94); border-bottom:1px solid var(--p-line); backdrop-filter:blur(14px); }
.praxis-logo { display:inline-flex; align-items:center; gap:12px; color:var(--p-ink); text-decoration:none; margin-right:auto; }
.praxis-logo-sign { position:relative; width:40px; height:40px; border-radius:50%; background:var(--p-sage); }
.praxis-logo-sign i { position:absolute; inset:50% auto auto 50%; width:19px; height:3px; transform:translate(-50%,-50%); background:var(--p-green); border-radius:3px; }
.praxis-logo-sign i:last-child { transform:translate(-50%,-50%) rotate(90deg); }
.praxis-logo strong,.praxis-logo small { display:block; line-height:1.1; }
.praxis-logo strong { font:700 17px/1.1 Georgia,serif; }
.praxis-logo small { margin-top:4px; color:#5a736e; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.praxis-nav { display:flex; align-items:center; gap:clamp(18px,2.3vw,34px); font-size:14px; font-weight:650; }
.praxis-nav a { text-decoration:none; }
.praxis-nav a:not(.praxis-nav-cta):hover { color:var(--p-green); }
.praxis-nav-cta { padding:11px 18px; border-radius:999px; background:var(--p-green); color:#fff; }
.praxis-menu { width:48px; height:42px; border:1px solid var(--p-line); background:#fff; color:var(--p-ink); border-radius:99px; font-size:0; }
.praxis-menu::before,.praxis-menu::after { content:""; width:19px; height:2px; background:currentColor; box-shadow:0 6px currentColor; }
.praxis-hero { min-height:calc(100vh - 128px); display:grid; grid-template-columns:minmax(0,47%) minmax(0,53%); background:var(--p-pale); }
.praxis-hero-copy { align-self:center; padding:clamp(70px,8vw,130px) clamp(28px,6vw,110px); }
.praxis-kicker { display:flex; align-items:center; gap:10px; color:var(--p-green); font-size:12px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.praxis-kicker > span { width:24px; height:1px; background:currentColor; }
.praxis-hero h1 { max-width:670px; margin:25px 0 28px; font:400 clamp(48px,6.4vw,98px)/.93 Georgia,"Times New Roman",serif; letter-spacing:-.055em; }
.praxis-hero h1 em { color:var(--p-green); font-weight:400; }
.praxis-hero-copy > p:not(.praxis-kicker) { max-width:620px; color:#526965; font-size:clamp(17px,1.35vw,21px); }
.praxis-actions { display:flex; flex-wrap:wrap; gap:12px; margin:32px 0; }
.praxis-button { display:inline-flex; align-items:center; justify-content:center; gap:20px; padding:14px 20px; border-radius:999px; text-decoration:none; font-size:14px; font-weight:750; }
.praxis-button.primary { background:var(--p-green); color:#fff; }
.praxis-button.secondary { border:1px solid var(--p-green); color:var(--p-green); background:transparent; }
.praxis-button:hover { transform:translateY(-2px); }
.praxis-availability { display:flex; align-items:center; gap:13px; margin-top:38px; padding-top:22px; border-top:1px solid var(--p-line); }
.praxis-availability > span { color:#38a378; font-size:12px; }
.praxis-availability strong,.praxis-availability small { display:block; }
.praxis-availability small { color:#60746f; }
.praxis-hero-image { position:relative; min-height:620px; overflow:hidden; border-radius:0 0 0 80px; }
.praxis-hero-image img { width:100%; height:100%; object-fit:cover; }
.praxis-image-note { position:absolute; right:34px; bottom:34px; padding:19px 24px; background:rgb(255 255 255 / .9); border-radius:18px 18px 4px 18px; backdrop-filter:blur(8px); }
.praxis-image-note strong,.praxis-image-note span { display:block; }
.praxis-image-note strong { font:700 18px Georgia,serif; }
.praxis-image-note span { color:#637a75; font-size:13px; }
.praxis-trust { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--p-line); }
.praxis-trust span { padding:22px clamp(18px,3vw,48px); border-right:1px solid var(--p-line); font-size:14px; font-weight:700; }
.praxis-trust i { margin-right:13px; color:#83a39b; font-style:normal; font-size:11px; }
.praxis-section { padding:clamp(85px,10vw,150px) clamp(24px,6vw,110px); }
.praxis-section-head { display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:70px; max-width:1400px; margin:0 auto 60px; }
.praxis-section h2,.praxis-story h2,.praxis-contact h2 { font:400 clamp(38px,4.8vw,70px)/1.02 Georgia,serif; letter-spacing:-.04em; }
.praxis-section-head > p { max-width:520px; color:#5b706b; }
.praxis-service-grid { max-width:1400px; margin:auto; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--p-line); border-radius:28px; overflow:hidden; }
.praxis-service-grid article { position:relative; min-height:360px; padding:34px; background:#fff; border-right:1px solid var(--p-line); }
.praxis-service-grid article:last-child { border-right:0; }
.praxis-service-grid article > span { color:#8ca49f; font-size:11px; }
.praxis-service-icon { display:grid; place-items:center; width:54px; height:54px; margin:42px 0 26px; border-radius:50%; background:var(--p-sage); color:var(--p-green); font:400 27px Georgia,serif; }
.praxis-service-grid h3 { font:400 25px/1.15 Georgia,serif; }
.praxis-service-grid p { color:#61726e; font-size:15px; }
.praxis-service-grid a { position:absolute; left:34px; bottom:30px; color:var(--p-green); text-decoration:none; font-size:13px; font-weight:750; }
.praxis-story { display:grid; grid-template-columns:1fr 1fr; min-height:780px; background:var(--p-warm); }
.praxis-story-image { position:relative; overflow:hidden; margin:clamp(25px,4vw,64px) 0 clamp(25px,4vw,64px) clamp(25px,4vw,64px); border-radius:8px 90px 8px 8px; }
.praxis-story-image img { width:100%; height:100%; object-fit:cover; }
.praxis-story-image > span { position:absolute; left:24px; bottom:24px; padding:10px 16px; border-radius:99px; background:#fff; color:var(--p-green); font-size:12px; font-weight:750; }
.praxis-story-copy { align-self:center; max-width:670px; padding:80px clamp(40px,8vw,130px); }
.praxis-story-lead { color:var(--p-ink)!important; font:400 22px/1.45 Georgia,serif; }
.praxis-story-copy > p { color:#5e706c; }
.praxis-story dl { display:grid; grid-template-columns:repeat(3,1fr); margin:45px 0 0; padding-top:30px; border-top:1px solid #d4cfc5; }
.praxis-story dl div { border-right:1px solid #d4cfc5; padding-right:16px; }
.praxis-story dl div:not(:first-child) { padding-left:16px; }
.praxis-story dl div:last-child { border-right:0; }
.praxis-story dt { font:400 28px Georgia,serif; }
.praxis-story dd { margin:5px 0 0; color:#74827f; font-size:12px; }
.praxis-team { display:grid; grid-template-columns:.75fr 1.25fr; align-items:center; gap:clamp(50px,8vw,130px); max-width:1600px; margin:auto; }
.praxis-team-copy { max-width:520px; }
.praxis-team-copy > p:not(.praxis-kicker) { color:#63736f; margin-bottom:30px; }
.praxis-team figure { margin:0; display:grid; grid-template-columns:minmax(0,1fr) 230px; align-items:end; }
.praxis-team figure img { width:100%; max-height:760px; object-fit:cover; border-radius:80px 8px 8px 8px; }
.praxis-team figcaption { margin:0 0 30px -40px; padding:24px; background:var(--p-green); color:#fff; border-radius:18px; }
.praxis-team figcaption strong,.praxis-team figcaption span { display:block; }
.praxis-team figcaption strong { font:400 17px/1.35 Georgia,serif; }
.praxis-team figcaption span { margin-top:7px; color:#c9e4dc; font-size:11px; }
.praxis-contact { display:grid; grid-template-columns:1fr 1fr; background:var(--p-ink); color:#fff; }
.praxis-hours,.praxis-form { padding:clamp(60px,7vw,110px); }
.praxis-hours { background:#1c3934; }
.praxis-contact .praxis-kicker { color:#8ac1b6; }
.praxis-hours-list { margin:35px 0; border-top:1px solid rgb(255 255 255 / .17); }
.praxis-hours-list p { display:flex; justify-content:space-between; gap:20px; margin:0; padding:13px 0; border-bottom:1px solid rgb(255 255 255 / .17); }
.praxis-hours-list span { color:#b7cac5; }
.praxis-hours > small { color:#a7bab5; }
.praxis-form { display:grid; gap:17px; background:#f6faf7; color:var(--p-ink); }
.praxis-form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.praxis-form label { display:grid; gap:7px; font-size:12px; font-weight:750; }
.praxis-form input,.praxis-form select { width:100%; padding:14px 12px; border:1px solid var(--p-line); border-radius:8px; background:#fff; color:var(--p-ink); }
.praxis-form .praxis-check { display:flex; grid-template-columns:auto 1fr; align-items:flex-start; font-weight:500; }
.praxis-check input { width:auto; margin-top:4px; }
.praxis-form button { padding:16px 20px; border:0; border-radius:99px; background:var(--p-green); color:#fff; font-weight:800; cursor:pointer; }
.praxis-footer { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:30px; padding:45px clamp(24px,6vw,100px); background:#102824; color:#dce9e5; font-size:13px; }
.praxis-footer p { margin:0; }
.praxis-footer a { color:inherit; }
.praxis-footer > small { grid-column:1/-1; color:#7f9892; }
@media(max-width:1050px){.praxis-nav{display:none;position:absolute;top:100%;left:16px;right:16px;padding:20px;background:#fff;border:1px solid var(--p-line);border-radius:18px;box-shadow:0 20px 50px rgb(23 49 45 / .14);flex-direction:column;align-items:stretch}.praxis-nav[data-open]{display:flex}.praxis-hero{grid-template-columns:1fr}.praxis-hero-image{min-height:55vw;border-radius:0}.praxis-hero-copy{order:2}.praxis-section-head,.praxis-story,.praxis-contact{grid-template-columns:1fr}.praxis-story-image{min-height:620px;margin:24px}.praxis-team{grid-template-columns:1fr}.praxis-trust{grid-template-columns:1fr 1fr}.praxis-service-grid{grid-template-columns:1fr}.praxis-service-grid article{border-right:0;border-bottom:1px solid var(--p-line)}.praxis-service-grid article:last-child{border-bottom:0}}
@media(max-width:700px){.praxis-header{top:42px;min-height:72px;padding:10px 16px}.praxis-logo small{display:none}.praxis-hero{min-height:0}.praxis-hero-copy{padding:55px 22px}.praxis-hero h1{font-size:48px}.praxis-hero-image{min-height:410px}.praxis-image-note{right:16px;bottom:16px}.praxis-trust{grid-template-columns:1fr}.praxis-trust span{border-bottom:1px solid var(--p-line)}.praxis-section{padding:75px 20px}.praxis-section-head{gap:15px}.praxis-section h2,.praxis-story h2,.praxis-contact h2{font-size:40px}.praxis-story-image{min-height:440px}.praxis-story-copy{padding:65px 22px}.praxis-story dl{grid-template-columns:1fr;gap:15px}.praxis-story dl div{border-right:0;border-bottom:1px solid #d4cfc5;padding:0 0 15px!important}.praxis-team figure{grid-template-columns:1fr}.praxis-team figcaption{margin:-15px 18px 0}.praxis-form-row{grid-template-columns:1fr}.praxis-hours,.praxis-form{padding:60px 22px}.praxis-footer{grid-template-columns:1fr;gap:15px}.praxis-footer>small{grid-column:auto}}
