/* Shared between the public site and the block editor. Geometry complements theme.json. */
:root{--cf-ink:var(--wp--preset--color--ink);--cf-line:#163f4026;--cf-gutter:var(--wp--custom--gutter,clamp(22px,4.3vw,64px));--cf-width:min(var(--wp--style--global--wide-size),calc(100% - var(--cf-gutter)*2));--cf-inset:calc((100% - var(--cf-width))/2);--cf-edge:var(--wp--custom--photo-edge,clamp(22px,3.75vw,60px))}
body{margin:0}*{box-sizing:border-box}a{text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--wp--preset--color--turquoise);outline-offset:4px}img{max-width:100%;height:auto}figure{margin:0}.wp-site-blocks>*,.cf-page-main,.cf-page-main>.wp-block-post-content{margin-block-start:0}.cf-frame{width:var(--cf-width);max-width:var(--wp--style--global--wide-size);margin-inline:auto}.cf-header{display:flex;align-items:center;justify-content:space-between;padding-block:30px;border-bottom:1px solid var(--cf-line);gap:30px}.cf-header>*{margin:0}.cf-logo{width:210px;flex-shrink:0}.cf-logo img{width:100%;display:block}.cf-navigation{margin:0}.cf-navigation .wp-block-navigation__container{gap:28px}.cf-navigation .wp-block-navigation-item:last-child{border:1px solid var(--cf-line);padding:12px 18px}.cf-navigation .wp-block-navigation-item__content{text-decoration:none}.cf-navigation a:hover{text-decoration:underline;text-decoration-color:var(--wp--preset--color--turquoise)}
.cf-hero{position:relative;isolation:isolate;min-height:710px;margin-top:24px!important;padding:0 0 145px}.cf-hero-photo{position:absolute;inset:0 var(--cf-edge) 0 calc(var(--cf-inset) + var(--cf-width)*.22);z-index:-1;margin:0!important}.cf-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:58% 48%}.cf-hero-copy{width:calc(var(--cf-width)*.49);margin-left:var(--cf-inset);background:var(--wp--preset--color--white);padding:30px 45px 45px 0;border-bottom:1px solid var(--cf-line);position:relative}.cf-hero-copy:after{content:'';position:absolute;bottom:-1px;right:-1px;width:104px;height:80px;border-right:3px solid var(--wp--preset--color--coral);border-bottom:3px solid var(--wp--preset--color--coral)}.cf-hero-copy h1{margin:0 0 30px;line-height:1.01}.cf-hero-intro{font-size:18px;font-weight:500;line-height:1.55;max-width:400px}.cf-hero-copy .wp-block-buttons{margin-top:28px}.cf-inline-link{font-size:15px;font-weight:500}.cf-inline-link a{border-bottom:1px solid var(--cf-line);padding-bottom:5px;text-decoration:none}.cf-inline-link a:hover{border-bottom-color:var(--wp--preset--color--turquoise)}.cf-label{font-size:14px;font-weight:500;margin:0 0 27px!important}.cf-small{font-size:14px;color:var(--wp--preset--color--muted)}
.cf-client-access{display:grid;grid-template-columns:49% 51%;background:var(--wp--preset--color--sage);margin-top:26px!important;border-block:1px solid var(--cf-line);font-size:14px}.cf-client-access>*{margin:0;padding:23px}.cf-client-access>*+*{border-left:1px solid var(--cf-line);padding-left:50px}.cf-split{display:grid;grid-template-columns:49% 51%;gap:0}.cf-split>*{margin-top:0}.cf-missions{padding-block:85px 95px}.cf-section-copy{padding-right:70px}.cf-section-copy h2{margin:0 0 25px}.cf-section-copy>p:not(.cf-label){max-width:410px}.cf-mission-list{padding-left:50px;border-left:1px solid var(--cf-line)}.cf-mission-list details{border-top:1px solid var(--cf-line);margin-top:0}.cf-mission-list details[open]{border-top:2px solid var(--wp--preset--color--turquoise)}.cf-mission-list details:last-of-type{border-bottom:1px solid var(--cf-line)}.cf-mission-list summary{font-size:25px;font-weight:600;list-style:none;cursor:pointer;padding:22px 40px 22px 0;position:relative}.cf-mission-list summary::-webkit-details-marker{display:none}.cf-mission-list summary:after{content:'+';position:absolute;right:0;font-weight:400}.cf-mission-list details[open] summary:after{content:'−';color:var(--wp--preset--color--turquoise)}.cf-mission-list details>p{max-width:440px;margin-top:0;padding-bottom:25px;font-size:17px}.cf-mission-list>.cf-small{font-size:13px;max-width:425px;margin-top:23px}
.cf-cabinet{position:relative;isolation:isolate;min-height:630px;padding-top:35px;margin-top:0!important}.cf-cabinet-photo{position:absolute;inset:0 calc(var(--cf-inset) + var(--cf-width)*.39) 35px var(--cf-edge);z-index:-1;margin:0!important}.cf-cabinet-photo img{width:100%;height:100%;object-fit:cover;object-position:52% 50%}.cf-cabinet-copy{position:relative;width:calc(var(--cf-width)*.51);margin-left:calc(var(--cf-inset) + var(--cf-width)*.49);background:var(--wp--preset--color--white);padding:48px 0 35px 50px;border-top:1px solid var(--cf-line);border-left:1px solid var(--cf-line);border-bottom:1px solid var(--cf-line)}.cf-cabinet-copy:after{content:'';position:absolute;top:-2px;left:-2px;width:90px;height:70px;border-top:3px solid var(--wp--preset--color--coral);border-left:3px solid var(--wp--preset--color--coral)}.cf-cabinet-copy h2{margin:0 0 28px}.cf-cabinet-copy>p:not(.cf-label){max-width:450px}.cf-address{border-top:1px solid var(--cf-line);padding-top:25px;font-size:14px}
.cf-advice{padding-block:85px}.cf-advice-heading{display:grid;grid-template-columns:22% 43% 35%;align-items:start;margin-bottom:42px}.cf-advice-heading>*{margin:0}.cf-advice-heading h2{font-size:clamp(42px,3.7vw,56px)}.cf-advice-heading>p:last-child{padding-left:40px;font-size:17px}.cf-articles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--cf-line);gap:0}.cf-article{padding:28px;display:flex;flex-direction:column;gap:20px;border-left:1px solid var(--cf-line);margin:0;min-height:310px}.cf-article:first-child{padding-left:0;border-left:0}.cf-article:last-child{padding-right:0}.cf-article>*{margin:0}.cf-article h3{font-size:clamp(28px,2.35vw,34px);line-height:1.12}.cf-article h3 a{text-decoration:none}.cf-article h3 a:hover{text-decoration:underline;text-decoration-thickness:1px}.cf-article>.cf-inline-link{margin-top:auto}.cf-article>.cf-small{font-size:13px}
.cf-contact{border:1px solid var(--cf-line);margin-bottom:60px!important}.cf-contact-copy{background:var(--wp--preset--color--coral-action);color:var(--wp--preset--color--white);padding:50px 45px}.cf-contact-copy h2{font-size:clamp(42px,4vw,60px);margin:0 0 27px}.cf-contact-copy a{color:var(--wp--preset--color--white)}.cf-contact-copy>p:not(.cf-label){max-width:370px}.cf-existing{border-top:1px solid #ffffff55;padding-top:23px;margin-top:44px}.cf-existing p{font-size:15px;margin:0 0 8px}.cf-existing .cf-inline-link a{border-color:#ffffff80}.cf-contact-form{padding:45px 35px 35px 50px}.cf-contact-form .fluentform{font-family:var(--wp--preset--font-family--body);font-size:16px}.cf-contact-form .fluentform .ff-el-form-control{border-radius:0;border:0;border-bottom:1px solid #78908e;background:var(--wp--preset--color--white);color:var(--cf-ink);padding:10px 3px;box-shadow:none}.cf-contact-form .fluentform textarea.ff-el-form-control{border:1px solid #78908e;padding:10px}.cf-contact-form .ff-el-input--label label{font-size:14px;font-weight:500}.cf-contact-form .fluentform .ff-btn-submit{border-radius:0;background:var(--wp--preset--color--coral-action);color:var(--wp--preset--color--white);padding:16px 22px;font:500 16px var(--wp--preset--font-family--body);border:0}.cf-contact-form .fluentform .ff-btn-submit:hover{background:var(--cf-ink)}
.cf-footer-main{display:grid;grid-template-columns:49% 22% 29%;padding-bottom:35px}.cf-footer-main>*{margin:0}.cf-footer-links{border-left:1px solid var(--cf-line);padding-left:50px}.cf-footer-links p{margin:0 0 12px}.cf-footer-address{padding-left:30px;font-size:14px}.cf-footer-legal{display:flex;justify-content:space-between;gap:25px;padding-block:23px;border-top:1px solid var(--cf-line)}.cf-footer-legal>*{margin:0}.cf-footer-legal .cf-small{font-size:12px}.cf-page-standard{padding-block:50px 80px}.cf-page-standard>.wp-block-post-content{max-width:var(--wp--style--global--content-size);margin-inline:auto}.cf-page-standard>.wp-block-post-title{max-width:1050px;margin-bottom:45px}.is-style-cf-sage{background:var(--wp--preset--color--sage);color:var(--cf-ink);padding:30px}.is-style-cf-lead{font-size:var(--wp--preset--font-size--lead)}.is-style-cf-secondary .wp-block-button__link{background:transparent;color:var(--cf-ink);border:1px solid currentColor}.wp-block-table{overflow:auto}.wp-block-table table{border-collapse:collapse}.wp-block-table th,.wp-block-table td{padding:15px;border:1px solid var(--cf-line)}.wp-block-table thead{border-top:2px solid var(--wp--preset--color--turquoise)}.wp-block-image figcaption{font-size:14px;color:var(--wp--preset--color--muted)}.wp-block-code{overflow:auto}.wp-block-gallery{gap:24px}.editor-styles-wrapper .cf-hero-photo,.editor-styles-wrapper .cf-cabinet-photo{pointer-events:auto}.editor-styles-wrapper .cf-page-main{padding:0}
@media(max-width:1000px){.cf-header{gap:20px}.cf-logo{width:170px}.cf-navigation .wp-block-navigation__container{gap:16px}.cf-section-copy{padding-right:35px}.cf-mission-list{padding-left:30px}.cf-hero{min-height:650px}.cf-hero-copy{padding-right:25px}.cf-cabinet-copy{padding-left:30px}.cf-contact-copy{padding:35px 28px}.cf-contact-form{padding:35px 25px}.cf-advice-heading>p:last-child{padding-left:25px}.cf-footer-links{padding-left:30px}}
@media(max-width:700px){.cf-header{padding-block:22px}.cf-logo{width:165px}.cf-hero{display:flex;flex-direction:column;padding:0;min-height:0}.cf-hero-copy{width:var(--cf-width);padding:25px 20px 35px 0;order:0}.cf-hero-copy h1{font-size:clamp(48px,12.5vw,72px)}.cf-hero-intro{font-size:17px}.cf-hero-photo{position:relative;inset:auto;order:1;height:300px;width:calc(100% - var(--cf-inset) - var(--cf-width)*.12 - var(--cf-edge));margin-left:calc(var(--cf-inset) + var(--cf-width)*.12)!important}.cf-hero-copy:after{width:65px;height:55px;border-width:2px}.cf-client-access,.cf-split{grid-template-columns:1fr}.cf-client-access>*{padding:18px 20px}.cf-client-access>*+*{border-left:0;border-top:1px solid var(--cf-line);padding-left:20px}.cf-missions{padding-block:50px}.cf-section-copy{padding:0}.cf-section-copy h2{font-size:42px}.cf-mission-list{padding:30px 0 0;border:0}.cf-mission-list summary{font-size:22px}.cf-cabinet{padding-top:0;display:flex;flex-direction:column;min-height:0}.cf-cabinet-photo{position:relative;inset:auto;height:280px;order:1;width:calc(100% - var(--cf-inset) - var(--cf-width)*.12 - var(--cf-edge));margin-left:var(--cf-edge)!important}.cf-cabinet-copy{margin-left:var(--cf-inset);width:var(--cf-width);padding:30px 0;border-left:0;order:0}.cf-cabinet-copy:after{display:none}.cf-cabinet-copy h2{font-size:42px}.cf-advice{padding-block:50px}.cf-advice-heading{display:block}.cf-advice-heading>*{margin-bottom:22px}.cf-advice-heading>p:last-child{padding-left:0}.cf-advice-heading h2{font-size:42px}.cf-articles{display:block}.cf-article,.cf-article:first-child,.cf-article:last-child{border-left:0;border-top:1px solid var(--cf-line);padding:25px 0;min-height:0}.cf-article:first-child{border-top:0}.cf-article h3{font-size:31px}.cf-contact-form{order:0;padding:30px 22px}.cf-contact-copy{order:1;padding:30px 23px}.cf-contact-copy h2{font-size:42px}.cf-footer-main{grid-template-columns:1fr 1fr;gap:30px}.cf-footer-brand{grid-column:1/-1}.cf-footer-links,.cf-footer-address{padding:0;border:0}.cf-footer-legal{display:block}.cf-footer-legal>*+*{margin-top:15px}.cf-page-standard{padding-top:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Contact fields share the composition grid; errors keep normal document flow. */
.cf-contact-form .fluentform fieldset{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px 22px;border:0;padding:0;margin:0;min-width:0}
.cf-contact-form .fluentform fieldset>.ff-el-group,.cf-contact-form .fluentform fieldset>.ff-field_container{margin:0;min-width:0}
.cf-contact-form .fluentform fieldset>.ff-el-group:has(textarea),.cf-contact-form .fluentform fieldset>.ff_submit_btn_wrapper{grid-column:1/-1}
.cf-contact-form .fluentform .ff-el-is-error .text-danger{font-size:14px;line-height:1.4}
@media(max-width:500px){.cf-contact-form .fluentform fieldset{grid-template-columns:1fr}}
.cf-contact-form .fluentform .ff-btn-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:15px 20px;border:0;border-radius:0;box-shadow:none;background:var(--wp--preset--color--coral-action);color:var(--wp--preset--color--white);font:500 16px/1.5 var(--wp--preset--font-family--body);cursor:pointer;transition:background .18s,color .18s}
.cf-contact-form .fluentform .ff-btn-submit:after{content:'→';font-size:16px;line-height:1;flex-shrink:0}
.cf-contact-form .fluentform .ff-btn-submit:hover{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--white)}
.cf-contact-form .fluentform .ff-btn-submit:focus-visible{outline:2px solid var(--wp--preset--color--turquoise);outline-offset:3px}
.cf-contact-form .fluentform .ff-name-field-wrapper .ff-el-group{margin-bottom:0}
.cf-contact-form .fluentform .ff-el-input--content{margin-top:7px}
.cf-contact-form .fluentform .ff-el-form-control{font:400 16px/1.5 var(--wp--preset--font-family--body);padding:9px 3px;border-color:#78908E}
.cf-contact-form .fluentform textarea.ff-el-form-control{min-height:90px;height:90px;padding:10px;resize:vertical}
@media(max-width:950px){.cf-contact-form .fluentform fieldset{grid-template-columns:minmax(0,1fr)}}
@media(max-width:740px){.cf-contact-form .fluentform .ff-btn-submit{font-size:14px;padding:14px 18px;gap:24px}}
/* Fluent Forms emits a form-specific rule after theme styles. Match its scope. */
.cf-contact-form .fluentform form{--fluentform-primary:var(--wp--preset--color--coral-action)}
.cf-contact-form .fluentform form .ff-btn-submit:not(.ff_btn_no_style){background-color:var(--wp--preset--color--coral-action);color:var(--wp--preset--color--white);opacity:1}
.cf-contact-form .fluentform form .ff-btn-submit:not(.ff_btn_no_style):hover{background-color:var(--wp--preset--color--ink);color:var(--wp--preset--color--white);opacity:1}
.cf-contact-form .fluentform form .ff-btn-submit:not(.ff_btn_no_style):focus-visible{outline:2px solid var(--wp--preset--color--turquoise);outline-offset:3px;opacity:1}

/* Native site identity: shared header/footer logo, explicit intrinsic sizing. */
.cf-logo.wp-block-site-logo a{display:block;width:100%}.cf-logo.wp-block-site-logo img{display:block;width:100%;height:auto;max-width:100%}
