/* Only the imported five pages use this namespace. */
.elementor .otfp-page{--g:#163D2E;--cream:#F3E9D9;--pink:#FFB3C1;--blue:#BFD3FF;--yellow:#F2C94C;--orange:#FF5A3C;--gap:0px;--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;display:flex;flex-direction:column;gap:0;padding:0;width:100%;max-width:none;background:var(--cream);color:var(--g);font-family:Inter,sans-serif;font-size:18px;line-height:1.6}
.elementor .otfp-page,.elementor .otfp-page *{box-sizing:border-box}
.elementor .otfp-page .e-con{--gap:0px;--widgets-spacing:0px;--container-widget-width:100%;min-width:0;max-width:100%;padding:0;gap:0;margin-block:0}
.elementor .otfp-page .elementor-widget{min-width:0;max-width:100%;margin:0}
.elementor .otfp-page .elementor-widget-container{margin:0}
.elementor .otfp-page .elementor-heading-title{font:400 clamp(36px,4.3vw,62px)/1.06 Fraunces,Georgia,serif;letter-spacing:-.035em;margin:0;color:inherit}
.elementor .otfp-page em{font-family:Fraunces,Georgia,serif;font-style:italic;font-weight:400}
.elementor .otfp-page .elementor-widget-text-editor{font:400 18px/1.55 Inter,sans-serif;color:inherit}
.elementor .otfp-page p{margin:0}
.elementor .otfp-page a{color:inherit}
.elementor .otfp-page .otfp-eyebrow .elementor-heading-title{font:600 12px/1.5 Inter,sans-serif;letter-spacing:.02em}
.elementor .otfp-page .otfp-small-title .elementor-heading-title{font:600 23px/1.3 'Space Grotesk',sans-serif;letter-spacing:-.02em}
.elementor .otfp-page .otfp-wrap{width:calc(100% - 128px);max-width:1240px;margin-inline:auto}
.elementor .otfp-page .otfp-stack{display:flex;flex-direction:column;align-items:flex-start;gap:32px}
.elementor .otfp-page .otfp-section{padding-block:110px}
.elementor .otfp-page .otfp-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:80px;align-items:start}
.elementor .otfp-page img{border-radius:0;display:block;box-shadow:none}
.elementor .otfp-page .elementor-button,.otfp-form button{display:inline-flex;align-items:center;justify-content:center;padding:17px 24px;min-height:48px;background:var(--g,#163D2E);color:var(--cream,#F3E9D9);border:0;border-radius:2px;box-shadow:none;font:600 16px/1.35 'Space Grotesk',sans-serif;text-decoration:none;cursor:pointer;transition:background .18s,color .18s}
.elementor .otfp-page .elementor-button:hover,.otfp-form button:hover{background:#FF5A3C;color:#163D2E}
.elementor .otfp-page a:focus-visible,.otfp-form :is(input,textarea,button):focus-visible{outline:3px solid #FF5A3C;outline-offset:5px}
.elementor .otfp-page .otfp-text-link .elementor-button{background:transparent;color:inherit;padding:8px 0;text-decoration:underline;text-underline-offset:5px;text-align:left;justify-content:flex-start}
/* Hero and editorial notes. */
.elementor .otfp-page .otfp-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:90px;align-items:start;padding-top:48px}
.elementor .otfp-page .otfp-hero-copy{gap:36px;container-type:inline-size}
.elementor .otfp-page .otfp-hero-title .elementor-heading-title{font-size:clamp(44px,5.3vw,76px);line-height:1.03;letter-spacing:-.04em}
.elementor .otfp-page .otfp-hero-copy .otfp-hero-title .elementor-heading-title{font-size:clamp(34px,11cqw,76px)}
.elementor .otfp-page .otfp-hero-intro{max-width:580px}
.elementor .otfp-page .otfp-hero-button{margin-top:24px}
.elementor .otfp-page .otfp-hero-media{position:relative;display:block;aspect-ratio:.8}
.elementor .otfp-page .otfp-data-photo,.elementor .otfp-page .otfp-data-photo .elementor-widget-container{width:100%;height:100%;position:relative;overflow:hidden}
.elementor .otfp-page .otfp-data-photo img{position:absolute;left:0;top:0;width:300%;max-width:none;height:100%;object-fit:cover}
.elementor .otfp-page .otfp-portrait img{width:100%;aspect-ratio:.8;object-fit:cover}
.elementor .otfp-page .otfp-note .elementor-heading-title{font:italic 400 28px/1.25 Fraunces,Georgia,serif;letter-spacing:-.015em;color:#FF5A3C}
.elementor .otfp-page .otfp-hero-media>.otfp-note{position:absolute;left:-140px;bottom:23%;width:auto;z-index:2;transform:rotate(-3deg)}
.elementor .otfp-page .otfp-hero-media>.otfp-note .elementor-heading-title{white-space:nowrap}
.elementor .otfp-page .otfp-quote-panel{display:flex;justify-content:center;align-items:center;padding:48px;min-height:350px;background:#f8f2e8;border-top:1px solid #163d2e55}
.elementor .otfp-page .otfp-quote-panel .elementor-widget-text-editor{font-size:23px;line-height:1.5}
/* Data questions, expertise and CTAs. */
.elementor .otfp-page .otfp-questions{display:grid;grid-template-columns:1fr 1fr;gap:52px 32px;padding-top:38px}
.elementor .otfp-page .otfp-question{border-top:1px solid #163d2e44;padding-top:20px}
.elementor .otfp-page .otfp-expertise-section{padding-bottom:100px}
.elementor .otfp-page .otfp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.elementor .otfp-page .otfp-card{padding:36px 30px;min-height:365px;display:flex;flex-direction:column;gap:30px}
.elementor .otfp-page .otfp-pink{background:var(--pink)}.elementor .otfp-page .otfp-blue{background:var(--blue)}.elementor .otfp-page .otfp-yellow{background:var(--yellow)}
.elementor .otfp-page .otfp-green{background:var(--g);color:var(--cream)}
.elementor .otfp-page .otfp-list ul{list-style:none;padding:0;margin:0}
.elementor .otfp-page .otfp-list li{position:relative;padding-left:24px;margin-bottom:14px}
.elementor .otfp-page .otfp-list li:before{content:'→';position:absolute;left:0}
.elementor .otfp-page .otfp-band{padding-block:80px 96px}
.elementor .otfp-page .otfp-cta-inner{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:80px;align-items:center}
.elementor .otfp-page .otfp-green .otfp-eyebrow .elementor-heading-title{color:var(--yellow)}
.elementor .otfp-page .otfp-green .elementor-button{background:var(--cream);color:var(--g)}
.elementor .otfp-page .otfp-green .elementor-button:hover{background:var(--orange)}
/* Work: large left project, smaller raised right project; staggered second row. */
.elementor .otfp-page .otfp-work-hero{position:relative;display:grid;grid-template-columns:2fr 1fr;gap:80px;padding-block:48px 110px;align-items:center}
.elementor .otfp-page .otfp-work-hero>.otfp-note{justify-self:end}
.elementor .otfp-page .otfp-project-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:90px 44px;padding-bottom:110px}
.elementor .otfp-page .otfp-project{display:flex;flex-direction:column;gap:18px}
.elementor .otfp-page .otfp-project-main{grid-column:1/9}
.elementor .otfp-page .otfp-project-side{grid-column:9/13;padding-top:80px}
.elementor .otfp-page .otfp-project-portrait{grid-column:1/6}
.elementor .otfp-page .otfp-project-offset{grid-column:7/13;padding-top:110px}
.elementor .otfp-page .otfp-project-image img{width:100%;aspect-ratio:1.55;object-fit:cover}
.elementor .otfp-page .otfp-project-side img{aspect-ratio:1.15}
.elementor .otfp-page .otfp-project-portrait img{aspect-ratio:1}
.elementor .otfp-page .otfp-project-tags{font-size:15px}
.elementor .otfp-page .otfp-project .elementor-heading-title a{text-decoration:none}
.elementor .otfp-page .otfp-project .elementor-heading-title a:hover{text-decoration:underline;text-underline-offset:4px}
/* Case template: editorial story and four steps. */
.elementor .otfp-page .otfp-case-hero{padding-top:48px;gap:26px}
.elementor .otfp-page .otfp-case-subtitle .elementor-heading-title{font:600 clamp(26px,3vw,42px)/1.15 'Space Grotesk',sans-serif;letter-spacing:-.025em}
.elementor .otfp-page .otfp-case-cover{width:100%;margin-top:16px}
.elementor .otfp-page .otfp-case-cover img{width:100%;aspect-ratio:2.3;object-fit:cover}
.elementor .otfp-page .otfp-case-question{padding-bottom:40px}
.elementor .otfp-page .otfp-case-question .elementor-widget-text-editor{max-width:750px}
.elementor .otfp-page .otfp-case-look{padding-block:70px}
.elementor .otfp-page .otfp-case-look>.otfp-stack:last-child{padding-top:42px;gap:50px}
.elementor .otfp-page .otfp-case-look .otfp-note{align-self:flex-end}
.elementor .otfp-page .otfp-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px;width:100%}
.elementor .otfp-page .otfp-step{gap:22px}
.elementor .otfp-page .otfp-step-number{width:100%;border-bottom:1px solid #163d2e55;padding-bottom:16px}
.elementor .otfp-page .otfp-step-number .elementor-heading-title{font:400 28px/1.3 Inter,sans-serif;letter-spacing:0}
.elementor .otfp-page .otfp-step .otfp-small-title .elementor-heading-title{font-size:18px}
.elementor .otfp-page .otfp-placeholder-copy{font-size:14px}
.elementor .otfp-page .otfp-next{display:flex;flex-direction:row;justify-content:space-between;gap:32px;padding-block:26px}
/* About: alternating editorial and sans serif expertise. */
.elementor .otfp-page .otfp-pullquote{padding-top:28px}
.elementor .otfp-page .otfp-pullquote .elementor-heading-title{font-size:clamp(34px,3.5vw,50px)}
.elementor .otfp-page .otfp-skills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 48px;width:100%;padding-top:18px}
.elementor .otfp-page .otfp-skill-sans .elementor-heading-title{font:600 clamp(26px,3.5vw,48px)/1.15 'Space Grotesk',sans-serif;letter-spacing:-.025em}
.elementor .otfp-page .otfp-skill-serif .elementor-heading-title{font:italic 400 clamp(26px,3.5vw,48px)/1.15 Fraunces,serif;letter-spacing:-.025em}
.elementor .otfp-page .otfp-values-section{padding-bottom:110px;gap:42px}
.elementor .otfp-page .otfp-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px}
.elementor .otfp-page .otfp-values .otfp-small-title .elementor-heading-title{font-size:18px}
.elementor .otfp-page .otfp-values .elementor-widget-text-editor{font-size:15px}
/* Contact: labelled fields, ruled textarea, accessible status and retained input. */
.elementor .otfp-page.otfp-contact .otfp-hero{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.elementor .otfp-page.otfp-contact .otfp-hero-media{aspect-ratio:auto}
.elementor .otfp-page.otfp-contact .otfp-hero-media>.otfp-note{bottom:40%;left:-230px}
.elementor .otfp-page .otfp-contact-section{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:100px;padding-block:140px 120px}
.otfp-form{margin:0;font:400 18px/1.55 Inter,sans-serif;color:#163D2E}
.otfp-form .otfp-field{margin:0 0 42px}
.otfp-form label{display:block;font-weight:600;margin-bottom:12px}
.otfp-form .otfp-optional{font-size:13px;font-weight:400}
.otfp-form :is(input[type=text],input[type=email],textarea){width:100%;max-width:100%;background:transparent;color:#163D2E;border:0;border-bottom:1px solid #163d2e99;border-radius:0;padding:12px 0;box-shadow:none;font:400 18px/1.55 Inter,sans-serif}
.otfp-form textarea{min-height:192px;resize:vertical;line-height:48px;padding-top:0;background:repeating-linear-gradient(transparent,transparent 47px,#163d2e55 47px,#163d2e55 48px);border-bottom:0}
.otfp-form .otfp-message-label{font:400 clamp(32px,3.4vw,48px)/1.1 Fraunces,serif;letter-spacing:-.025em;margin-top:60px;margin-bottom:24px}
.otfp-form .otfp-form-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:36px}
.otfp-form .otfp-personal-note{font:italic 400 24px/1.3 Fraunces,serif;color:#FF5A3C;max-width:350px}
.otfp-form .otfp-privacy{font-size:13px;margin-top:24px}
.otfp-form .otfp-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.otfp-form .otfp-status{padding:20px;border:1px solid #163D2E;margin-bottom:32px;background:#fff6}
.otfp-form .otfp-status-error{border-color:#a23320}
.otfp-details{padding-top:16px;display:flex;flex-direction:column;gap:54px;font:400 18px/1.6 Inter,sans-serif;color:#163D2E}
.otfp-details h2{font:600 23px/1.3 'Space Grotesk',sans-serif;color:inherit;margin:0 0 14px}
.otfp-details a{color:inherit;text-underline-offset:5px;overflow-wrap:anywhere}
@media(max-width:1199px){
 .elementor .otfp-page .otfp-wrap{width:calc(100% - 96px)}
 .elementor .otfp-page .otfp-hero{gap:60px}
 .elementor .otfp-page .otfp-split{gap:56px}
 .elementor .otfp-page .otfp-card{padding:30px 24px}
 .elementor .otfp-page .otfp-cards{gap:24px}
 .elementor .otfp-page .otfp-note .elementor-heading-title{font-size:24px}
 .elementor .otfp-page .otfp-quote-panel{padding:32px}
 .elementor .otfp-page .otfp-contact-section{gap:60px}
 .elementor .otfp-page .otfp-skills{gap:42px 30px}
 .elementor .otfp-page .otfp-steps{gap:28px}
}
@media(max-width:900px){
 .elementor .otfp-page .otfp-hero{gap:40px;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);padding-top:30px}
 .elementor .otfp-page .otfp-hero-media>.otfp-note,.elementor .otfp-page.otfp-contact .otfp-hero-media>.otfp-note{left:auto;right:12px;bottom:18px;background:var(--cream);padding:6px}
 .elementor .otfp-page .otfp-hero-intro{font-size:16px}
 .elementor .otfp-page .otfp-section{padding-block:80px}
 .elementor .otfp-page .otfp-split{gap:40px}
 .elementor .otfp-page .otfp-questions{gap:32px 20px;padding-top:0}
 .elementor .otfp-page .otfp-cards{grid-template-columns:1fr}
 .elementor .otfp-page .otfp-card{min-height:0;display:grid;grid-template-columns:1fr 1.3fr;gap:32px;padding:32px}
 .elementor .otfp-page .otfp-expertise-section{padding-bottom:80px}
 .elementor .otfp-page .otfp-cta-inner{grid-template-columns:1fr;gap:40px}
 .elementor .otfp-page .otfp-project-grid{gap:70px 30px}
 .elementor .otfp-page .otfp-project-main{grid-column:1/8}.elementor .otfp-page .otfp-project-side{grid-column:8/13}
 .elementor .otfp-page .otfp-steps{grid-template-columns:1fr 1fr;gap:40px}
 .elementor .otfp-page .otfp-skills{grid-template-columns:1fr 1fr}
 .elementor .otfp-page .otfp-values{grid-template-columns:1fr;gap:36px}
 .elementor .otfp-page .otfp-quote-panel{padding:28px;min-height:280px}
 .elementor .otfp-page .otfp-quote-panel .elementor-widget-text-editor{font-size:19px}
 .elementor .otfp-page .otfp-contact-section{gap:44px;padding-block:90px}
}
@media(max-width:600px){
 .elementor .otfp-page .otfp-wrap{width:calc(100% - 40px)}
 .elementor .otfp-page .elementor-heading-title{font-size:36px}
 .elementor .otfp-page .elementor-widget-text-editor{font-size:16px}
 .elementor .otfp-page .otfp-stack{gap:28px}
 .elementor .otfp-page .otfp-hero,.elementor .otfp-page.otfp-contact .otfp-hero{grid-template-columns:1fr;gap:44px;padding-top:26px}
 .elementor .otfp-page .otfp-hero-title .elementor-heading-title{font-size:clamp(36px,10vw,56px)}
 .elementor .otfp-page .otfp-hero-copy .otfp-hero-title .elementor-heading-title{font-size:clamp(31px,10.8cqw,55px)}
 .elementor .otfp-page .otfp-hero-button{margin-top:6px}
 .elementor .otfp-page .otfp-hero-media{aspect-ratio:.95}
 .elementor .otfp-page .otfp-portrait img{aspect-ratio:.95}
 .elementor .otfp-page .otfp-split{grid-template-columns:1fr;gap:40px}
 .elementor .otfp-page .otfp-questions{grid-template-columns:1fr;gap:28px}
 .elementor .otfp-page .otfp-card{display:flex;gap:24px;padding:30px;min-height:300px}
 .elementor .otfp-page .otfp-band{padding-block:64px 72px}
 .elementor .otfp-page .otfp-work-hero{grid-template-columns:1fr;gap:30px;padding-block:30px 70px}
 .elementor .otfp-page .otfp-work-hero>.otfp-note{justify-self:start}
 .elementor .otfp-page .otfp-project-grid{grid-template-columns:1fr;gap:52px;padding-bottom:80px}
 .elementor .otfp-page .otfp-project{grid-column:auto;padding-top:0}
 .elementor .otfp-page .otfp-project-image img{aspect-ratio:1.3}
 .elementor .otfp-page .otfp-project-portrait img{aspect-ratio:1}
 .elementor .otfp-page .otfp-case-hero{padding-top:28px}
 .elementor .otfp-page .otfp-case-subtitle .elementor-heading-title{font-size:27px}
 .elementor .otfp-page .otfp-case-cover img{aspect-ratio:1.5}
 .elementor .otfp-page .otfp-case-look{padding-block:0 40px}
 .elementor .otfp-page .otfp-case-look>.otfp-stack:last-child{padding-top:0}
 .elementor .otfp-page .otfp-steps{grid-template-columns:1fr}
 .elementor .otfp-page .otfp-next{flex-direction:column;gap:8px}
 .elementor .otfp-page .otfp-skills{grid-template-columns:1fr;gap:32px}
 .elementor .otfp-page .otfp-skill .elementor-heading-title{font-size:36px}
 .elementor .otfp-page .otfp-pullquote{padding:0}
 .elementor .otfp-page .otfp-values-section{padding-bottom:80px}
 .elementor .otfp-page .otfp-contact-section{grid-template-columns:1fr;gap:64px;padding-block:80px}
 .otfp-form,.otfp-form :is(input[type=text],input[type=email],textarea){font-size:16px}
 .otfp-form .otfp-personal-note{font-size:23px}
 .otfp-details{gap:36px;padding:0}
}
@media(prefers-reduced-motion:reduce){.elementor .otfp-page .elementor-button,.otfp-form button{transition:none}}
