:root{color-scheme:dark;--ink:#121d19;--paper:#f1f2f0;--white:#fafaf8;--muted:#a8aaaa;--accent:#91c488;--brand:#2e7d57;--line:#35433c;--light-line:#cccfc9;--wrap:1320px;font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:112px}
body{margin:0;background:var(--ink);color:var(--white);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:3px solid currentColor;outline-offset:6px}
::selection{background:var(--accent);color:var(--ink)}
p,h1,h2,h3,figure{margin:0}
.wrap{width:min(calc(100% - 112px),var(--wrap));margin-inline:auto}
.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:var(--accent);color:var(--ink);padding:12px 20px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:20;background:var(--ink);border-bottom:1px solid var(--line)}
.header-inner{height:100px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.wordmark{font-size:1.75rem;font-weight:700;line-height:.87;letter-spacing:-.065em;display:inline-flex;flex-direction:column;padding-bottom:5px}
.wordmark>span{margin-top:3px}
.brand-period{color:var(--accent)}
.desktop-nav{display:flex;gap:38px;margin-left:auto;margin-right:64px;font-size:.9375rem}
.desktop-nav a{padding-block:10px;border-bottom:1px solid transparent}
.desktop-nav a:hover{border-color:var(--accent);color:var(--accent)}
.header-contact{display:flex;gap:24px;align-items:center;font-size:.9375rem;border:1px solid #676968;border-radius:100px;padding:12px 20px;transition:background .2s,color .2s,border-color .2s}
.header-contact span{font-size:1.4rem;line-height:1}
.header-contact:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.menu-toggle{display:none}
.mobile-nav[hidden]{display:none}
.mobile-nav{display:none}
.hero{display:grid;grid-template-columns:1.16fr 1fr;column-gap:32px;padding-top:60px}
.hero-content{z-index:1;padding-top:22px;padding-bottom:76px;align-self:center}
.eyebrow{font-size:.875rem;line-height:1.5;font-weight:500;letter-spacing:.035em}
.hero .eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:33px}
.short-rule{height:1px;width:28px;background:var(--accent);flex-shrink:0}
h1{font-size:clamp(3.8rem,6.5vw,6.15rem);line-height:1.02;font-weight:500;letter-spacing:-.067em;white-space:normal}
h1>span{color:var(--accent)}
.hero-description{font-size:1.125rem;line-height:1.65;color:#bcbebd;max-width:455px;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:56px;padding:15px 23px;border-radius:100px;font-size:1rem;transition:background .2s,transform .2s}
.button span{font-size:1.5rem;line-height:1}
.button-accent{background:var(--accent);color:var(--ink);font-weight:500;margin-top:32px}
.button-accent:hover{background:#358b62;transform:translateY(-2px)}
.hero-art{position:relative;align-self:stretch;overflow:hidden;min-height:520px;background:#101010}
.hero-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.hero-art figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.8));padding:46px 23px 22px;display:flex;justify-content:space-between;gap:12px;font-size:.75rem;letter-spacing:.025em;color:#c5c6c3}
.hero-art figcaption span:last-child{text-transform:uppercase;font-size:.75rem}
.hero-bottom{grid-column:1/-1;border-top:1px solid var(--line);margin-top:40px;margin-bottom:35px;padding-top:26px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:.875rem;color:var(--muted)}
.hero-bottom a{display:flex;align-items:center;gap:26px;color:var(--white)}
.hero-bottom a:hover{color:var(--accent)}
.hero-bottom a span{font-size:1.35rem}
.section-light{background:var(--paper);color:var(--ink);color-scheme:light}
.services{padding-block:104px 64px}
.section-heading{display:grid;grid-template-columns:1fr 2.16fr;gap:36px}
.section-label{padding-top:11px}
h2{font-size:clamp(2.8rem,4.25vw,4rem);font-weight:500;line-height:1.09;letter-spacing:-.058em}
.section-intro{font-size:1.125rem;line-height:1.65;max-width:575px;margin-top:26px;color:#575b57}
.services .section-heading{margin-bottom:62px}
.service-row{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--light-line);padding-block:36px 40px}
.service-title{display:flex;align-items:flex-start;gap:27px}
.service-number{font-size:.875rem;color:#6a6d67;padding-top:7px}
.service-row h3{font-size:clamp(1.65rem,2.35vw,2.25rem);line-height:1.17;font-weight:500;letter-spacing:-.045em}
.service-description>p{max-width:560px;line-height:1.65;color:#484d48;font-size:1rem}
.service-tags{display:flex;flex-wrap:wrap;list-style:none;gap:8px;padding:0;margin:23px 0 0}
.service-tags li{padding:5px 12px;border:1px solid #c8ccc5;border-radius:100px;font-size:.875rem;color:#363a35}
.services-note{border-top:1px solid var(--light-line);padding-top:32px;display:flex;justify-content:space-between;align-items:center;gap:32px}
.services-note p{color:#5a5e59;line-height:1.65}
.services-note strong{font-weight:500;color:var(--ink)}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid currentColor;padding-block:8px;font-size:1rem}
.text-link span{font-size:1.35rem;line-height:1}
.text-link:hover{color:#246345}
.process{padding-block:106px 108px}
.process .section-intro{color:var(--muted);max-width:515px}
.process-grid{list-style:none;padding:0;margin:64px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:42px}
.process-grid li{border-top:1px solid #616362;padding-top:25px}
.step-number{color:var(--accent);font-size:.875rem}
.process-grid h3{font-size:2rem;font-weight:500;line-height:1.2;letter-spacing:-.035em;margin-top:44px;margin-bottom:18px}
.process-grid p{color:var(--muted);line-height:1.7;max-width:350px}
.about{padding-block:102px 106px}
.about-body{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:58px}




.about-copy p{font-size:1rem;line-height:1.7;color:#555b54;margin-bottom:20px;max-width:565px}
.about-copy .about-lead{font-size:1.4rem;line-height:1.5;letter-spacing:-.02em;color:var(--ink);margin-bottom:24px}
.about-copy .text-link{margin-top:12px}
.contact{background:var(--accent);color:var(--ink)}
.contact-inner{padding-block:64px 68px}
.contact h2{margin-top:46px;font-size:clamp(3.4rem,6.1vw,6rem);line-height:1.05;letter-spacing:-.065em}
.contact h2>span{color:#e0f0e3}
.contact-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-top:58px;border-top:1px solid #83b497;padding-top:30px}
.contact-bottom p{line-height:1.6;font-size:1rem}
.contact-email{font-size:clamp(1.2rem,2vw,1.8rem);font-weight:500;letter-spacing:-.035em;white-space:nowrap;border-bottom:1px solid currentColor;padding-block:6px;display:flex;gap:24px;align-items:center}
.contact-email span{font-size:1.7rem}
.contact-email:hover{color:#e0f0e3}
.site-footer{padding-top:48px;padding-bottom:25px}
.footer-wordmark{font-size:clamp(3rem,9vw,8.5rem);line-height:1.2;letter-spacing:-.067em;font-weight:500;display:inline-block}
.footer-wordmark>span{color:var(--accent)}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:25px;margin-top:38px;font-size:.875rem;color:var(--muted)}
.footer-bottom a{color:var(--white)}
.footer-bottom a span{margin-left:20px}
.footer-bottom a:hover{color:var(--accent)}
@media(min-width:1600px){.hero-art{min-height:580px}.hero-content{padding-block:54px 90px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.desktop-nav{gap:25px;margin-right:16px}.hero{column-gap:24px;padding-top:40px}.hero-content{padding-top:22px;padding-bottom:48px}h1{font-size:6.55vw}.hero-art{min-height:490px}.hero-description{font-size:1rem;max-width:380px}.hero .eyebrow{font-size:.8125rem}.hero-art figcaption{padding-inline:16px}.hero-art figcaption span:last-child{display:none}.service-row,.about-body{gap:38px}.section-heading{grid-template-columns:1fr 2.5fr}.contact-bottom{align-items:start;flex-direction:column;gap:24px}}
@media(max-width:760px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.header-inner{height:80px;gap:18px}.wordmark{font-size:1.6rem}.desktop-nav{display:none}.header-contact{margin-left:auto;padding:9px 15px;font-size:.875rem;gap:14px}.menu-toggle{width:42px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:none;border:0;color:var(--white);padding:8px;cursor:pointer}.menu-toggle span{height:1px;width:24px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;position:fixed;top:80px;left:0;right:0;background:var(--ink);padding:22px 20px 32px;border-bottom:1px solid var(--line);box-shadow:0 20px 20px #0005;max-height:calc(100dvh - 80px);overflow-y:auto}.mobile-nav a{padding:15px 0;border-bottom:1px solid var(--line);font-size:1.4rem;display:flex;justify-content:space-between}.mobile-nav a:last-child{color:var(--accent)}.hero{grid-template-columns:1fr;padding-top:34px;gap:0}.hero-content{padding:0 0 36px}.hero .eyebrow{margin-bottom:27px;font-size:.8125rem;gap:10px}h1{font-size:clamp(2.9rem,10.7vw,4.8rem);line-height:1.04;letter-spacing:-.065em}.hero-description{margin-top:24px;font-size:1rem;max-width:520px}.button-accent{margin-top:26px}.hero-art{min-height:0;aspect-ratio:1.28;max-height:480px}.hero-art img{object-position:50% 53%}.hero-art figcaption{padding:34px 18px 17px}.hero-art figcaption span:last-child{display:inline}.hero-bottom{margin-top:27px;margin-bottom:30px;padding-top:21px;align-items:start;gap:17px;flex-direction:column;font-size:.875rem}.hero-bottom a{gap:20px}.services,.about{padding-block:65px 55px}.section-heading{grid-template-columns:1fr;gap:24px}.section-label{padding-top:0}.eyebrow{font-size:.8125rem}h2{font-size:clamp(2.2rem,7.8vw,3.5rem);line-height:1.13;letter-spacing:-.055em}.section-intro{font-size:1rem;margin-top:23px}.services .section-heading{margin-bottom:38px}.service-row{grid-template-columns:1fr;gap:22px;padding-block:28px 30px}.service-title{gap:18px}.service-number{padding-top:4px}.service-row h3{font-size:1.8rem;letter-spacing:-.045em;line-height:1.19}.service-tags{margin-top:20px;gap:7px}.service-tags li{font-size:.8125rem;padding:5px 10px}.services-note{flex-direction:column;align-items:start;gap:20px;padding-top:26px}.services-note p,.text-link{font-size:.9375rem}.text-link{gap:22px}.process{padding-block:62px}.process-grid{grid-template-columns:1fr;margin-top:38px;gap:30px}.process-grid li{padding-top:23px;display:grid;grid-template-columns:30px 1fr;column-gap:16px}.step-number{padding-top:6px}.process-grid h3{font-size:1.7rem;margin:0 0 14px}.process-grid p{grid-column:2;font-size:1rem;max-width:none}.about-body{grid-template-columns:1fr;margin-top:36px;gap:34px}.about-copy .about-lead{font-size:1.25rem}.about-copy p{margin-bottom:18px}.contact-inner{padding-block:48px}.contact h2{margin-top:32px;font-size:clamp(2.5rem,8.7vw,4rem);line-height:1.13;letter-spacing:-.06em}.contact-bottom{margin-top:35px;padding-top:25px;gap:25px}.contact-bottom p{font-size:.9375rem}.contact-bottom p br{display:none}.contact-email{font-size:clamp(1.1rem,5.3vw,1.6rem);gap:16px}.site-footer{padding-top:36px;padding-bottom:25px}.footer-wordmark{font-size:clamp(2.8rem,11vw,5rem)}.footer-bottom{margin-top:27px;padding-top:22px;flex-wrap:wrap;gap:20px;font-size:.8125rem}.footer-bottom p:first-child{width:100%}.footer-bottom a{margin-left:auto}.footer-bottom a span{margin-left:8px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.header-contact{padding:8px 12px;gap:8px}.header-inner{gap:10px}.menu-toggle{width:32px;padding:4px}.wordmark{font-size:1.4rem}h1{font-size:10.5vw}.hero .eyebrow{letter-spacing:0;font-size:.75rem}.hero .short-rule{width:18px}.hero-art figcaption span:last-child{display:none}.service-tags li{font-size:.8125rem}.contact h2{font-size:8.7vw}.footer-bottom{flex-direction:column;gap:13px}.footer-bottom a{margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Keep the layout usable when visitors enlarge their text. */
.hero-content,.hero-art,.section-heading>*,.service-row>*,.about-body>*,.process-grid>*,.service-title h3{min-width:0}
.service-title h3,.section-heading h2{overflow-wrap:anywhere;hyphens:auto}
.hero-art figcaption{flex-wrap:wrap}
.contact-email{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.contact-email span{flex-shrink:0}
@media(max-width:480px){.header-contact{display:none}.menu-toggle{margin-left:auto}.hero .eyebrow{flex-wrap:wrap}.hero-bottom a{flex-wrap:wrap}.text-link{max-width:100%}}
body{overflow-wrap:anywhere}
@media(max-width:1250px){.desktop-nav{display:none}.header-contact{margin-left:auto}.menu-toggle{width:42px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:none;border:0;color:var(--white);padding:8px;cursor:pointer}.menu-toggle span{height:1px;width:24px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;position:fixed;top:100px;left:0;right:0;background:var(--ink);padding:22px 32px 32px;border-bottom:1px solid var(--line);box-shadow:0 20px 20px #0005;max-height:calc(100dvh - 100px);overflow-y:auto}.mobile-nav a{padding:15px 0;border-bottom:1px solid var(--line);font-size:1.4rem;display:flex;justify-content:space-between}.mobile-nav a:last-child{color:var(--accent)}}
@media(max-width:760px){.mobile-nav:not([hidden]){top:80px;padding-inline:20px;max-height:calc(100dvh - 80px)}}

/* Sempo identity from the supplied brand board. The symbol retains its source ratio. */
.wordmark.brand-lockup,.footer-wordmark.brand-lockup{display:inline-flex;flex-direction:row;align-items:center;gap:14px;padding:0;flex-shrink:0}
.brand-symbol{display:block;position:relative;width:38px;aspect-ratio:715 / 1094;overflow:hidden;flex-shrink:0}
.brand-symbol img{display:block;position:absolute;width:175.385%;height:114.626%;max-width:none;left:-40.559%;top:-9.689%;object-fit:fill}
.wordmark>span{margin-top:0}
.brand-lettering{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.wordmark .brand-name{font-size:2.25rem;line-height:1;letter-spacing:-.04em;font-weight:600}
.brand-tagline{display:block;font-size:.75rem;font-weight:400;line-height:1.35;letter-spacing:.07em;color:#d4ddd6}
.hero-brand{display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(ellipse at 65% 10%,#254b36 0%,#142d21 45%,#0c1c14 100%);padding:40px 24px;min-height:550px;gap:0}
.hero-brand .brand-symbol{width:215px;max-width:55%}
.hero-brand .hero-brand-name{font-size:4.9rem;line-height:1.05;font-weight:600;letter-spacing:-.045em;margin-top:23px;color:var(--white)}
.hero-brand figcaption{position:static;background:none;padding:0;margin-top:14px;display:block;color:#d4ddd6;font-size:.875rem;letter-spacing:.14em;line-height:1.5;text-align:center}
.button-accent{background:var(--brand);color:var(--white)}
.header-contact:hover{background:var(--brand);border-color:var(--brand);color:var(--white)}
.contact{background:var(--brand);color:var(--white)}
.footer-wordmark.brand-lockup{gap:24px}
.footer-wordmark .brand-symbol{width:70px}
.footer-wordmark .brand-name{font-size:clamp(3rem,7.5vw,6.7rem);line-height:1.05;font-weight:600;letter-spacing:-.04em}
.footer-wordmark .brand-tagline{font-size:.875rem;letter-spacing:.14em}
@media(max-width:1100px){.wordmark.brand-lockup{gap:12px}.wordmark .brand-name{font-size:2rem}.hero-brand .brand-symbol{width:190px}.hero-brand .hero-brand-name{font-size:4rem}.hero-brand figcaption{font-size:.8125rem;letter-spacing:.06em}}
@media(max-width:760px){.wordmark .brand-symbol{width:30px}.wordmark .brand-name{font-size:1.8rem}.wordmark .brand-tagline{font-size:.75rem;letter-spacing:.01em}.brand-lettering{gap:5px}.hero-brand{aspect-ratio:auto;min-height:440px;max-height:none;padding:34px 20px}.hero-brand .brand-symbol{width:160px;max-width:55%}.hero-brand .hero-brand-name{font-size:3.5rem;margin-top:18px}.hero-brand figcaption{margin-top:12px;font-size:.875rem;letter-spacing:.065em}.footer-wordmark.brand-lockup{gap:18px}.footer-wordmark .brand-symbol{width:48px}.footer-wordmark .brand-name{font-size:3.2rem}.footer-wordmark .brand-tagline{font-size:.75rem;letter-spacing:.04em}}
@media(max-width:480px){.wordmark .brand-tagline{display:none}.wordmark .brand-name{font-size:1.8rem}.footer-wordmark .brand-lettering{min-width:0}.footer-wordmark.brand-lockup{max-width:100%}.footer-wordmark .brand-name{font-size:clamp(2.4rem,13vw,3.2rem)}}
.footer-wordmark .brand-name{color:var(--white)}

/* Expanded customer journey */
h1{font-size:clamp(3.2rem,5.7vw,5.4rem)}
.hero-content{padding-bottom:50px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px;margin-top:32px}
.hero-actions .button-accent{margin-top:0}
.hero-secondary{font-size:.9375rem;color:#d3dcd5;display:inline-flex;gap:20px;align-items:center;padding-block:12px}
.hero-secondary:hover{color:var(--accent)}
.hero-service-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px}
.hero-service-links a{font-size:.875rem;padding:7px 15px;border:1px solid #598465;border-radius:100px;color:#dce9de;background:#0c1c143b;transition:background .2s,transform .2s}
.hero-service-links a:hover{background:#2e7d57;transform:translateY(-3px)}
.hero-brand .brand-symbol{transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.hero-brand:hover .brand-symbol{transform:translateY(-7px) rotate(-3deg)}
.goals{padding-block:88px 0}
.goals>.wrap{padding-bottom:80px;border-bottom:1px solid var(--light-line)}
.goal-tabs[hidden],.goal-panel[hidden]{display:none}
.goal-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:46px}
.goal-tabs button{position:relative;min-width:0;text-align:left;cursor:pointer;background:transparent;color:var(--ink);border:1px solid #bfc7be;border-radius:0;padding:23px 45px 23px 23px;font-size:1.12rem;line-height:1.3;transition:background .2s,border-color .2s}
.tab-kicker{display:block;font-size:.75rem;letter-spacing:.035em;margin-bottom:14px;color:#5a655b}
.tab-arrow{position:absolute;right:19px;bottom:23px;font-size:1.4rem;line-height:1}
.goal-tabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--white)}
.goal-tabs button[aria-selected=true] .tab-kicker{color:var(--accent)}
.goal-tabs button:hover:not([aria-selected=true]){background:#e3e9df;border-color:#799778}
.goal-panel{background:var(--ink);color:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:50px;margin-top:14px;min-height:420px}
.goal-summary .eyebrow{color:var(--accent);margin-bottom:19px}
.goal-summary h3{font-size:clamp(2rem,2.9vw,2.75rem);line-height:1.12;font-weight:500;letter-spacing:-.045em}
.goal-summary>p:not(.eyebrow){color:#bbc8bd;font-size:1rem;line-height:1.7;max-width:430px;margin-top:24px}
.goal-summary .text-link{margin-top:25px;color:var(--white);font-size:.9375rem}
.goal-summary .text-link:hover{color:var(--accent)}
.goal-plan{list-style:none;padding:0;margin:0;align-self:center;display:grid;gap:28px}
.goal-plan li{display:grid;grid-template-columns:26px 1fr;gap:16px;padding-bottom:25px;border-bottom:1px solid #3b5143}
.goal-plan li:last-child{border-bottom:0;padding-bottom:0}
.goal-plan li>span{font-size:.8125rem;color:var(--accent);padding-top:5px}
.goal-plan h4{font-size:1.2rem;font-weight:500;margin:0 0 8px;letter-spacing:-.02em;line-height:1.3}
.goal-plan p{font-size:1rem;line-height:1.6;color:#b8c6bb;margin:0}
.services{padding-top:78px}
.service-benefit{font-size:1.2rem;font-weight:500;letter-spacing:-.02em;line-height:1.4;margin:0 0 13px;color:var(--ink)}
.service-detail{margin-top:26px;border-top:1px solid var(--light-line)}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
summary:focus-visible{outline:3px solid var(--brand);outline-offset:5px}
.service-detail summary{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.9375rem;padding:17px 0 3px;color:#2b4938}
summary>span[aria-hidden]{flex-shrink:0;font-size:1.5rem;font-weight:400;line-height:1;transition:transform .2s}
details[open]>summary>span[aria-hidden]{transform:rotate(45deg)}
.detail-body{padding-top:20px;line-height:1.65;color:#4d594e;font-size:.9375rem}
.detail-body ul{padding-left:19px;margin:15px 0 0}
.detail-body li{padding-left:4px;margin-block:8px}
.creative{padding-top:90px}
.creative-feature{position:relative;isolation:isolate;overflow:hidden;min-height:525px;display:flex;align-items:center;background:#0b1811}
.creative-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.creative-feature::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0d1b15f5 0%,#0d1b15b3 43%,#0d1b1500 74%);z-index:-1}
.creative-copy{max-width:650px;padding:54px}
.creative-copy .eyebrow{margin-bottom:36px;color:var(--accent)}
.creative-copy h2{font-size:clamp(2.5rem,3.8vw,3.55rem)}
.creative-copy>p:last-child{font-size:1.0625rem;line-height:1.65;max-width:410px;color:#d0dbd2;margin-top:25px}
.content-ideas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:37px}
.content-ideas article{border-top:1px solid var(--line);padding-top:23px}
.idea-label{font-size:.8125rem;color:var(--accent);letter-spacing:.03em}
.content-ideas h3{font-size:1.45rem;font-weight:500;line-height:1.25;letter-spacing:-.03em;margin-top:20px;margin-bottom:13px}
.content-ideas p{font-size:1rem;line-height:1.7;color:#b9c7bd}
.process{padding-top:98px}
.faq{padding-block:0 98px}
.faq-layout{display:grid;grid-template-columns:1fr 1.48fr;gap:90px;border-top:1px solid var(--light-line);padding-top:80px}
.faq-intro .eyebrow{margin-bottom:25px}
.faq-intro h2{font-size:clamp(2.5rem,3.8vw,3.5rem)}
.faq-intro>p:not(.eyebrow){margin-top:24px;max-width:360px;line-height:1.65;color:#546154}
.faq-intro .text-link{margin-top:22px}
.faq-list{border-top:1px solid #a7b3a6}
.faq-list details{border-bottom:1px solid #bbc5b8}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:25px;font-size:1.1rem;line-height:1.4;font-weight:500}
.faq-list details[open] summary{color:#256443}
.faq-list details>p{padding:0 34px 26px 0;color:#4f5c50;line-height:1.7;font-size:1rem}
@media(max-width:1100px){.desktop-nav{gap:24px;margin-right:25px}.hero-brand .brand-symbol{width:170px}.goal-panel{gap:38px;padding:35px}.goal-tabs button{font-size:1rem;padding:20px 40px 20px 18px}.tab-kicker{font-size:.75rem}.creative-copy{padding:38px;max-width:58%}.creative-copy h2{font-size:2.5rem}.faq-layout{gap:45px}.content-ideas{gap:28px}}
@media(max-width:760px){h1{font-size:clamp(2.65rem,9.7vw,4.6rem)}.hero-content{padding-bottom:32px}.hero-actions{gap:13px 24px;margin-top:25px}.hero-brand{min-height:455px}.hero-brand .brand-symbol{width:150px}.hero-service-links{margin-top:23px}.hero-service-links a{font-size:.8125rem;padding:6px 12px}.goals{padding-top:58px}.goals>.wrap{padding-bottom:56px}.goal-tabs{grid-template-columns:1fr;gap:8px;margin-top:28px}.goal-tabs button{padding:15px 44px 15px 17px;font-size:1rem;line-height:1.4}.tab-kicker{margin-bottom:4px}.tab-arrow{bottom:25px}.goal-panel{grid-template-columns:1fr;gap:35px;padding:29px 23px;margin-top:10px;min-height:0}.goal-summary h3{font-size:2.05rem}.goal-summary>p:not(.eyebrow){margin-top:19px}.goal-summary .text-link{margin-top:18px}.goal-plan{gap:20px}.goal-plan li{padding-bottom:20px;grid-template-columns:22px 1fr;gap:12px}.goal-plan h4{font-size:1.12rem}.goal-plan p{font-size:.9375rem}.services{padding-top:58px}.service-benefit{font-size:1.125rem}.service-detail summary{font-size:.875rem;gap:15px}.creative{padding-top:55px}.creative-feature{min-height:0;display:flex;flex-direction:column;align-items:stretch}.creative-feature>img{position:static;height:auto;aspect-ratio:1.6;object-fit:cover;order:0;z-index:0}.creative-feature::after{display:none}.creative-copy{padding:30px 23px 34px;max-width:none}.creative-copy .eyebrow{margin-bottom:24px}.creative-copy h2{font-size:2.25rem}.creative-copy>p:last-child{font-size:1rem;margin-top:20px}.content-ideas{grid-template-columns:1fr;gap:27px;margin-top:30px}.content-ideas article{padding-top:22px}.content-ideas h3{font-size:1.4rem;margin-top:13px}.content-ideas p{font-size:1rem}.process{padding-top:60px}.faq{padding-bottom:62px}.faq-layout{grid-template-columns:1fr;gap:32px;padding-top:53px}.faq-intro h2{font-size:2.4rem}.faq-intro>p:not(.eyebrow){max-width:none}.faq-intro .text-link{margin-top:14px}.faq-list summary{font-size:1rem;padding-block:22px;gap:22px}.faq-list details>p{padding-right:8px;font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){.hero-brand:hover .brand-symbol{transform:none}}

/* Industry ideas: possibilities, never presented as completed client work. */
.applications{padding-block:90px;margin-top:90px}
.application-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:45px}
.application-card{display:flex;flex-direction:column;padding:36px;border:1px solid #c1ccbe;background:#e9eee5;transition:background .2s,border-color .2s}
.application-card:nth-child(2),.application-card:nth-child(3){background:transparent}
.application-card:hover{border-color:#74956f;background:#e2ebdd}
.application-category{font-size:.8125rem;letter-spacing:.035em;color:#3f6046;margin-bottom:27px}
.application-card h3{font-size:2.25rem;line-height:1.13;font-weight:500;letter-spacing:-.045em}
.application-card>p:not(.application-category){color:#52604f;line-height:1.65;font-size:1rem;margin-top:22px;max-width:490px}
.application-card ul{padding-left:18px;margin:24px 0 30px;color:#344a38;font-size:.9375rem;line-height:1.7}
.application-card li{padding-left:3px;margin-block:5px}
.application-card>a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:21px;margin-top:auto;border-top:1px solid #b8c6b3;font-size:.9375rem;color:#17452e}
.application-card>a span{font-size:1.4rem;flex-shrink:0}
.application-card>a:hover{text-decoration:underline;text-underline-offset:4px}
.applications-note{margin-top:28px;font-size:1rem;color:#54614f;line-height:1.7}
.applications-note a{color:#224d31;text-decoration:underline;text-underline-offset:4px}
.project-builder[hidden]{display:none}
.project-builder{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:54px;padding-top:38px;border-top:1px solid #83b497;align-items:start}
.project-options,.project-draft{min-width:0}
.project-interests{border:0;padding:0;margin:0;min-width:0}
.project-interests legend,.project-timing>label{font-size:1.25rem;font-weight:500;line-height:1.4;letter-spacing:-.025em}
.project-hint{font-size:.875rem;line-height:1.6;color:#e3f0e5;margin-top:12px;max-width:490px}
.interest-options{display:grid;gap:11px;margin-top:20px}
.interest-options label{display:flex;gap:13px;align-items:center;padding:16px 17px;border:1px solid #a2c6af;cursor:pointer;background:#ffffff08;line-height:1.45;font-size:1rem;transition:background .2s}
.interest-options label:has(input:checked){background:#edf4e8;color:#163d27;border-color:#edf4e8}
.interest-options label:hover{background:#ffffff18}
.interest-options label:has(input:checked):hover{background:#dcebd5}
.interest-options input{width:19px;height:19px;margin:0;flex-shrink:0;accent-color:#1d5337}
.interest-options input:focus-visible{outline:3px solid currentColor;outline-offset:5px}
.project-timing{margin-top:30px}
.project-timing>label{display:block;font-size:1.1rem;line-height:1.5}
.project-timing>label>span{font-weight:400;font-size:.875rem}
.project-timing select{width:100%;margin-top:14px;background:#f0f5ec;color:#183725;border:1px solid #e0ebda;border-radius:0;padding:14px 16px;font:inherit;font-size:1rem;line-height:1.5;min-height:54px}
.project-timing select:focus-visible{outline:3px solid #fff;outline-offset:5px}
.project-draft{background:#132d20;color:var(--white);padding:32px}
.project-draft>.eyebrow{color:#b5d8ab;margin-bottom:17px}
.draft-recipient{font-size:.875rem;color:#ceddcf;padding-bottom:17px;border-bottom:1px solid #405f49}
#project-message{font-family:inherit;font-size:.9375rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0;color:#f2f6ef;min-height:215px}
.draft-open{background:#c6deb6;color:#132d20;border-radius:100px;margin-top:3px}
.draft-open:hover{background:#e1edda;transform:translateY(-2px)}
.project-email-note{font-size:.875rem;line-height:1.6;color:#c5d5c5;margin-top:20px}
@media(max-width:1200px){.desktop-nav{gap:23px;margin-right:8px}.header-inner{gap:25px}.project-builder{gap:34px}.application-card{padding:29px}}
@media(max-width:760px){.applications{padding-block:57px;margin-top:57px}.application-grid{grid-template-columns:1fr;gap:15px;margin-top:32px}.application-card{padding:27px 23px}.application-category{font-size:.8125rem;margin-bottom:21px}.application-card h3{font-size:1.95rem}.application-card>p:not(.application-category){font-size:1rem;margin-top:19px}.application-card ul{margin-block:18px 23px}.application-card>a{font-size:.875rem;gap:16px;padding-top:18px}.applications-note{font-size:.9375rem;margin-top:24px}.project-builder{grid-template-columns:1fr;gap:30px;margin-top:33px;padding-top:29px}.project-interests legend{font-size:1.15rem}.interest-options label{padding:15px 13px;font-size:.9375rem}.project-draft{padding:26px 22px}.project-timing{margin-top:26px}.project-timing select{padding-inline:12px;font-size:.9375rem}.project-timing>label{font-size:1.05rem}#project-message{min-height:0;font-size:.9375rem}.project-email-note{font-size:.8125rem}}

/* White navigation, retaining the green Sempo identity. */
.site-header{background:#fff;color:var(--ink);border-bottom-color:#dce2dc;color-scheme:light}
.site-header .brand-tagline{color:#526057}
.desktop-nav{gap:24px;margin-right:8px;flex-wrap:wrap;justify-content:center;min-width:0}
.desktop-nav a:hover{color:#246345;border-color:#246345}
.header-inner{height:auto;min-height:100px;padding-block:20px;gap:24px}
.header-contact{border-color:#66776b;min-width:0}
.site-header .menu-toggle{color:var(--ink);flex-shrink:0}
.site-header .mobile-nav:not([hidden]){position:absolute;top:100%;background:#fff;color:var(--ink);border-bottom-color:#dce2dc;box-shadow:0 18px 28px #122c1912}
.site-header .mobile-nav a{border-bottom-color:#dce2dc}
.site-header .mobile-nav a:last-child,.site-header .mobile-nav a:hover{color:#246345}

/* Explicitly requested future reference concept: no invented customer proof. */
.showcase{background:#fff;color:var(--ink);color-scheme:light;padding-block:94px}
.concept-label,.preview-label{display:inline-block;font-size:.8125rem;line-height:1.5;color:#41604b}
.concept-label{border:1px solid #b6c8b9;border-radius:100px;padding:6px 12px;margin-top:18px}
.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:50px;align-items:start}
.case-card{min-width:0;border:1px solid #d6dfd5}
.case-cover{padding:28px;min-height:320px;display:flex;flex-direction:column}
.case-cover>p{display:flex;justify-content:space-between;gap:15px;font-size:.875rem;line-height:1.5}
.case-cover>p span{opacity:.85}
.case-cover h3{font-size:clamp(2rem,2.6vw,2.6rem);line-height:1.09;font-weight:500;letter-spacing:-.045em;margin:42px 0 28px}
.case-format{font-size:.875rem;line-height:1.5;padding-top:17px;border-top:1px solid currentColor;margin-top:auto}
.case-food{background:#dce9d2;color:#244e32}
.case-craft{background:#234c37;color:#f5f7f2}
.case-product{background:#e8edeb;color:#293c35}
.case-body{padding:28px}
.case-body h4{font-size:1.3rem;font-weight:500;line-height:1.35;letter-spacing:-.025em;margin:0 0 17px}
.case-body>p{font-size:1rem;color:#536158;line-height:1.7}
.case-tags{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:23px 0;padding:0}
.case-tags li{padding:5px 9px;border:1px solid #cbd6ca;border-radius:100px;font-size:.875rem;color:#35573f}
.case-detail{border-top:1px solid #d6dfd5}
.case-detail summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:20px;font-size:.9375rem;line-height:1.5;color:#244e32}
.case-detail>div{padding-top:20px;font-size:.9375rem;line-height:1.7;color:#536158}
.case-detail p+p{margin-top:15px}
.case-detail strong{font-weight:600;color:#293f31}
.concept-note{font-size:.875rem;line-height:1.6;color:#5a675d;margin-top:22px}
.future-partners{padding-block:48px;margin-top:48px;border-top:1px solid #d6dfd5;border-bottom:1px solid #d6dfd5}
.partners-heading{display:flex;align-items:end;justify-content:space-between;gap:22px}
.partners-heading h3{font-size:1.8rem;line-height:1.2;letter-spacing:-.035em;font-weight:500;margin-top:13px}
.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}
.partner-grid>div{min-width:0;text-align:center;padding:24px 18px;border:1px dashed #c2cdc2}
.partner-grid span{font-size:.8125rem;color:#5d6f60}
.partner-grid p{font-size:clamp(1.15rem,1.7vw,1.55rem);font-weight:500;letter-spacing:-.035em;margin-top:8px;color:#536859}
.feedback-preview{display:grid;grid-template-columns:1fr 1.1fr;gap:75px;margin-top:56px;align-items:center}
.feedback-intro h3{font-size:clamp(2.1rem,3.2vw,3rem);line-height:1.1;font-weight:500;letter-spacing:-.045em;margin-top:20px}
.feedback-intro>p:not(.eyebrow){font-size:1rem;line-height:1.7;color:#536158;max-width:460px;margin-top:25px}
.feedback-intro .text-link{margin-top:20px}
.feedback-card{background:#edf2e9;padding:36px;min-width:0}
.feedback-headline{font-size:clamp(2rem,2.8vw,2.8rem);line-height:1.12;letter-spacing:-.045em;margin-top:28px}
.feedback-description{font-size:1rem;line-height:1.7;max-width:380px;color:#536158;margin-top:20px}
.feedback-attribution{display:flex;align-items:center;gap:15px;margin-top:28px;padding-top:24px;border-top:1px solid #c8d5c5}
.feedback-initial{display:flex;align-items:center;justify-content:center;background:#dae5d5;width:44px;height:44px;border-radius:50%;flex-shrink:0;color:#47654c}
.feedback-attribution p{font-size:.9375rem}
.feedback-attribution div>span{display:block;font-size:.875rem;color:#536158;margin-top:3px}
@media(max-width:1050px){.case-grid{gap:16px}.case-cover,.case-body{padding:23px}.feedback-preview{gap:40px}.case-cover h3{font-size:2rem}}
@media(max-width:850px){.case-grid{grid-template-columns:1fr}.case-card{display:grid;grid-template-columns:1fr 1.2fr}.case-cover{min-height:300px}.case-cover h3{margin-top:34px}.case-body{align-self:center}.partner-grid{gap:12px}}
@media(max-width:760px){.header-inner{min-height:80px;padding-block:14px;gap:18px}.showcase{padding-block:58px}.concept-label{margin-top:12px}.case-grid{margin-top:32px;gap:22px}.case-card{grid-template-columns:1fr}.case-cover{min-height:285px;padding:26px}.case-cover h3{font-size:2.3rem;margin-top:35px}.case-body{padding:26px}.case-body h4{font-size:1.25rem}.concept-note{margin-top:19px}.future-partners{padding-block:32px;margin-top:32px}.partners-heading{align-items:start;flex-direction:column;gap:13px}.partners-heading h3{font-size:1.6rem}.partner-grid{grid-template-columns:1fr;margin-top:24px;gap:10px}.partner-grid>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;text-align:left}.partner-grid p{font-size:1.2rem;margin:0}.feedback-preview{grid-template-columns:1fr;margin-top:36px;gap:30px}.feedback-intro h3{font-size:2.2rem}.feedback-card{padding:27px}.feedback-headline{font-size:2.2rem}.feedback-description{max-width:none}.feedback-attribution{gap:12px}}

.config-entry{display:flex;align-items:center;justify-content:space-between;gap:36px;border-top:1px solid #83b497;padding-top:35px;margin-top:40px}.config-entry h3{font-size:1.6rem;line-height:1.25;font-weight:500;letter-spacing:-.03em}.config-entry p{max-width:620px;color:#e2efe5;margin-top:15px}.config-entry .button{flex-shrink:0;background:#edf4e8;color:#173d28}.config-entry .button:hover{background:#fff}@media(max-width:760px){.config-entry{align-items:start;flex-direction:column;gap:24px}.config-entry h3{font-size:1.4rem}}

/* Full founder names and brief individual introductions. */
.founder-profiles{min-width:0}
.founder-profile{padding:22px 0;border-bottom:1px solid var(--light-line)}
.founder-profile:first-child{padding-top:0}
.founder-profile h3{font-size:clamp(1.9rem,3.1vw,2.75rem);font-weight:500;line-height:1.18;letter-spacing:-.045em;margin:0;overflow-wrap:anywhere}
.founder-profile .founder-role{font-size:.75rem;line-height:1.5;text-transform:uppercase;letter-spacing:.08em;color:#536452;margin:9px 0 0}
.founder-profile .founder-caption{font-size:1rem;line-height:1.65;color:#555b54;margin:10px 0 0}
@media(max-width:760px){.founder-profile{padding-block:20px}.founder-profile h3{font-size:clamp(1.9rem,7vw,2.5rem)}}
