/* Modern founder theme. Joyce's established palette and original content. */
:root{--dark:#242321;--soft:#eeeadf;--accent:#c8a995;--content:1200px}
body{background:var(--ivory)}
.header{width:100%;padding-inline:max(32px,calc((100vw - var(--content))/2));background:var(--dark);color:var(--ivory);border-bottom:1px solid #f7f4ed20;min-height:94px}
.wordmark{font-family:var(--serif);font-weight:600;letter-spacing:.025em;font-size:28px}
.header nav{gap:30px;font-size:13px}
.header .button.outline{border-color:var(--clay);background:var(--clay);color:var(--dark);border-radius:100px;letter-spacing:.025em;padding-inline:20px}
.header .button.outline:hover{background:var(--ivory);border-color:var(--ivory)}
.button{border-radius:100px;padding:15px 25px;letter-spacing:.035em;font-size:12px;text-transform:none;font-weight:600;min-height:49px}
.button.small{border-radius:100px;text-transform:none}
.button span[aria-hidden],.text-button span[aria-hidden]{font-family:Arial,sans-serif;font-size:16px}
.hero.wrap{width:100%;max-width:none;position:relative;isolation:isolate;overflow:hidden;background:var(--dark);color:var(--ivory);padding:65px max(32px,calc((100vw - var(--content))/2)) 85px;grid-template-columns:1.08fr 1fr;gap:65px;align-items:center;min-height:720px}
.hero:before{content:'';position:absolute;z-index:-1;right:-130px;top:-160px;width:800px;height:800px;background:radial-gradient(ellipse,#747b6938 0,transparent 68%);pointer-events:none}
.hero .eyebrow{color:var(--ivory);border:1px solid #f7f4ed45;border-radius:100px;padding:8px 15px;display:inline-block;font-size:10px;letter-spacing:.12em}
.hero h1{font-size:clamp(86px,8.6vw,124px);line-height:.91;margin-top:30px;letter-spacing:-.04em}
.hero-tagline{color:var(--clay);font-size:clamp(27px,2.8vw,39px);max-width:500px;line-height:1.12;margin-top:24px}
.hero-description{color:#f7f4edcf;font-size:15px;line-height:1.8;max-width:445px;margin-top:23px}
.hero .actions{gap:14px;margin-top:29px}
.hero .button{background:var(--clay);border-color:var(--clay);color:var(--dark)}
.hero .button:hover{background:var(--ivory);border-color:var(--ivory)}
.hero .button.outline{color:var(--ivory);background:transparent;border-color:#f7f4ed60}
.hero .button.outline:hover{background:#747b6933;border-color:var(--ivory)}
.hero .role{color:var(--ivory);font-size:11px;padding-left:15px;border-left:2px solid var(--olive);line-height:1.8;margin-top:30px}
.hero .role span{color:#f7f4ed9e}
.hero .signature{margin-top:30px;color:var(--clay);max-width:360px}
.hero .signature i{background:#f7f4ed35}
.hero-photo{position:relative;isolation:isolate;overflow:visible;border-radius:180px 180px 26px 26px;max-width:490px;margin-left:auto;width:100%;box-shadow:0 28px 70px #0002}
.hero-photo:before{content:'';position:absolute;z-index:-1;inset:-17px 18px 19px -17px;border:1px solid #c8a99575;border-radius:190px 190px 35px 35px}
.hero-photo:after{content:'People. Systems. Growth.';position:absolute;right:-18px;bottom:28px;background:var(--ivory);color:var(--dark);border:1px solid #d5cbbc;border-radius:13px;padding:16px 20px;font-family:var(--serif);font-style:italic;font-size:23px;box-shadow:0 8px 30px #0002;max-width:250px}
.hero-photo img{border-radius:180px 180px 26px 26px;height:600px;object-fit:cover;object-position:center 42%}
.section{padding-block:85px}
.about{border-top:0;gap:70px;grid-template-columns:.86fr 1.14fr}
.about-photo{max-width:440px;position:relative}
.about-photo img{border-radius:24px;height:520px;object-position:center 35%}
.about-photo figcaption{display:inline-block;position:absolute;bottom:22px;left:18px;right:18px;border-radius:12px;padding:16px 18px;background:var(--ivory);font-family:var(--serif);font-size:23px;font-style:italic;color:var(--dark);box-shadow:0 8px 24px #0001}
.about-copy h2{font-size:clamp(43px,4.5vw,62px)}
.about-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;color:#5b574e}
.about-copy .personal-note{font-size:24px!important;line-height:1.4!important;color:var(--olive-dark)!important;border-left:3px solid var(--clay);padding-left:18px;margin-top:23px}
.strengths{border:0;padding:0;margin-top:28px;gap:10px;grid-template-columns:repeat(2,1fr)}
.strengths>div,.strengths>div:first-child,.strengths>div:last-child{padding:15px 17px;border:0;border-radius:12px;background:#747b6912;display:flex;gap:15px;align-items:center}
.strengths h3{font-family:var(--sans);font-size:14px;font-weight:600;min-width:55px}
.strengths p{font-size:10px;line-height:1.5;margin-top:0;color:#625d55}
.strengths p br{display:none}
.services{padding-top:12px;padding-bottom:75px}
.section-heading.centered{justify-content:flex-start;text-align:left}
.section-heading span{display:none}
.section-heading h2{font-size:46px}
.service-grid{gap:20px;margin-top:28px}
.service-grid article,.service-grid article:last-child{background:#747b6912;border:1px solid #747b6915;border-radius:18px;padding:30px;text-align:left;transition:transform .2s,background .2s}
.service-grid article:hover{transform:translateY(-4px);background:#747b6920}
.service-grid svg{background:#747b691a;padding:10px;box-sizing:content-box;border-radius:12px;width:29px;height:29px;margin-bottom:25px}
.service-grid h3{font-family:var(--sans);font-size:16px;font-weight:600;letter-spacing:-.02em;text-transform:none;line-height:1.35}
.service-grid p{font-size:13px;color:#625d55;line-height:1.75}
.process{width:min(1264px,calc(100% - 64px));margin:auto;border-radius:26px;background:var(--dark);color:var(--ivory);position:relative;overflow:hidden}
.process-inner.wrap{width:100%;padding:48px;gap:45px;grid-template-columns:1fr 1.85fr}
.process h2{font-size:43px;line-height:1.05}
.process h2 em{color:var(--clay)}
.process li{border-color:#f7f4ed35;padding-left:28px}
.process li>span{font-size:40px;color:var(--clay)}
.process li p{font-size:15px;color:#f7f4edcf}
.work h2{font-size:clamp(45px,4.8vw,66px);margin-top:15px}
.work h2 em{color:var(--olive-dark)}
.section-intro{font-size:14px;line-height:1.8}
.showcase-grid{gap:24px;margin-top:35px}
.showcase-card{border:1px solid #d5cbbc90;background:#fffaf3;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #24232104}
.showcase-screen{border-radius:0;padding:30px 43px}
.showcase-screen video{box-shadow:0 12px 30px #24232126;border-width:4px;max-height:450px}
.showcase-copy{padding:25px}
.showcase-copy .eyebrow{font-size:9px}
.showcase-copy h3{font-size:31px}
.showcase-copy>p:not(.eyebrow){font-size:12px}
.showcase-meta{font-size:10px}
.demo-note{background:#747b6910;border:1px solid #747b6918;border-radius:10px;padding:13px 17px;max-width:none;font-size:11px}
.case-study{margin-top:50px;padding:36px;background:#eee9df;border-radius:20px;border:0;grid-template-columns:.8fr 1.2fr;align-items:start;gap:35px}
.case-heading h2{font-size:42px;line-height:1.08}
.case-gallery img{border-radius:12px}
.case-gallery details{background:var(--ivory);border-radius:12px}
.reviews.wrap{width:min(1264px,calc(100% - 64px));background:var(--dark);border-radius:28px;color:var(--ivory);padding:55px 40px 45px}
.reviews .section-heading{justify-content:center;text-align:center}
.reviews .section-heading h2{font-size:49px;line-height:1.08;max-width:700px}
.review-note{color:#f7f4edb3;font-size:12px;margin-top:15px}
.review-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;margin-top:30px}
.review{grid-column:span 2;background:var(--ivory);color:var(--dark);border:0;border-radius:17px;padding:25px;box-shadow:0 6px 20px #0001}
.review:nth-child(4){order:-2;grid-column:span 3;background:#dfd0bf}
.review:nth-child(5){order:-1;grid-column:span 3;background:#e7e9df}
.review blockquote{font-size:24px;line-height:1.28}
.review .eyebrow{font-size:8px}
.review figcaption{font-family:var(--sans);font-size:13px;font-weight:600;line-height:1.6;padding-top:15px;border-color:#747b6935}
.review-role{font-size:10px;line-height:1.65;color:#625d55}
.review-source{color:var(--ivory);border-color:#f7f4ed65;margin-top:28px;font-size:12px}
.review-source:hover{color:var(--clay);border-color:var(--clay)}
.closing{background:var(--ivory);padding:70px 32px}
.closing-inner{background:var(--clay);border-radius:25px;padding:50px 30px;width:min(1200px,100%);position:relative;overflow:hidden}
.closing h2{font-size:clamp(44px,5vw,66px)}
.closing p:not(.eyebrow){font-size:14px;max-width:600px;margin-inline:auto}
.closing .button{background:var(--dark);border-color:var(--dark);color:var(--ivory)}
.closing .button:hover{background:var(--olive-dark);border-color:var(--olive-dark)}
.footer.wrap{width:100%;padding:32px max(32px,calc((100vw - var(--content))/2));background:var(--dark);color:var(--ivory);gap:25px}
.footer-name{font-size:26px}.footer p{color:#f7f4edb0}.back-top{color:var(--clay)}
dialog{border-radius:20px}.dialog-close{border-radius:100px;background:#747b6914;padding:7px 15px}
@media(max-width:1100px){.hero.wrap{gap:45px;padding-inline:32px}.hero h1{font-size:100px}.hero-photo img{height:570px}.hero-tagline{font-size:30px}.hero .actions .button{font-size:11px;padding:12px 18px}.about{gap:40px}.service-grid article{padding:25px}.showcase-screen{padding:25px}.showcase-copy{padding:22px}.case-study{grid-template-columns:1fr;gap:25px}.process-inner.wrap{grid-template-columns:1fr 1.7fr;gap:30px;padding:36px}.process h2{font-size:37px}}
@media(max-width:800px){.header{padding-inline:20px;min-height:80px}.menu-button{border-color:#f7f4ed65;border-radius:100px;color:var(--ivory);padding:8px 14px}.header nav{top:80px;background:var(--dark);border-bottom-color:#747b69;padding:20px;color:var(--ivory);border-radius:0 0 20px 20px}.hero.wrap{padding:45px 25px 65px;gap:35px;min-height:0}.hero h1{font-size:81px}.hero .eyebrow{font-size:8px;padding:7px 10px}.hero-tagline{font-size:27px}.hero-description{font-size:13px}.hero-photo img{height:520px}.hero-photo:after{font-size:18px;padding:12px;right:-8px;bottom:20px}.about{gap:28px}.about-photo img{height:460px}.about-copy h2{font-size:43px}.strengths>div,.strengths>div:first-child,.strengths>div:last-child{padding:13px;display:block}.strengths p{margin-top:5px}.strengths h3{font-size:13px}.service-grid{gap:12px}.service-grid article{padding:21px}.service-grid h3{font-size:14px}.service-grid p{font-size:12px}.process-inner.wrap{grid-template-columns:1fr;padding:30px}.process h2{font-size:37px}.process h2 br{display:none}.process h2 em{display:block}.reviews.wrap{padding:42px 25px}.review{grid-column:span 3}.review:nth-child(4),.review:nth-child(5){grid-column:span 3}.review:last-child:not(:nth-child(5)){grid-column:span 6}.reviews .section-heading h2{font-size:42px}.review blockquote{font-size:22px}.footer.wrap{padding:28px 20px}.section{padding-block:60px}.services{padding-top:0}.work h2{font-size:48px}.section-heading h2{font-size:39px}.showcase-grid{gap:17px}.showcase-screen{padding:18px}.showcase-copy{padding:18px}.showcase-copy h3{font-size:27px}}
@media(max-width:650px){.hero.wrap{display:flex;flex-direction:column;padding:34px 20px 48px;gap:35px}.hero-copy{width:100%;padding:0}.hero .eyebrow{font-size:9px;padding:8px 12px}.hero h1{font-size:clamp(74px,17vw,106px);line-height:.91;margin-top:25px}.hero h1 br{display:none}.hero-tagline{font-size:30px;margin-top:20px}.hero-description{font-size:14px;max-width:440px}.hero .role{font-size:10px;margin-top:24px}.hero .signature{display:none}.hero .actions{margin-top:24px;gap:10px}.hero .actions .button{font-size:11px;padding:12px 18px}.hero-photo{max-width:360px;margin:auto;width:calc(100% - 15px);border-radius:160px 160px 22px 22px}.hero-photo img{height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:160px 160px 22px 22px}.hero-photo:before{inset:-11px 12px 12px -11px;border-radius:170px 170px 28px 28px}.hero-photo:after{right:-12px;bottom:19px;font-size:20px;padding:11px 16px}.about{display:grid;grid-template-columns:1fr;gap:31px}.about-photo{width:100%;max-width:none}.about-photo img{height:410px;border-radius:19px;object-position:center 33%}.about-photo figcaption{font-size:22px;left:15px;right:15px;bottom:16px}.about-copy h2{font-size:46px}.about-copy>p:not(.eyebrow){font-size:14px}.about-copy .personal-note{font-size:23px!important}.strengths{grid-template-columns:repeat(2,1fr);gap:10px}.strengths>div,.strengths>div:first-child,.strengths>div:last-child{display:flex;padding:15px;border:0}.strengths p{margin:0;font-size:10px}.strengths h3{font-size:14px}.services{padding-top:0}.service-grid{grid-template-columns:1fr;margin-top:25px;gap:13px}.service-grid article,.service-grid article:last-child{display:grid;grid-template-columns:49px 1fr;text-align:left;gap:0 18px;padding:24px;border:1px solid #747b6915}.service-grid svg{grid-row:1/3;width:27px;height:27px;padding:9px;margin:0}.service-grid h3{font-size:16px}.service-grid p{font-size:12px;margin-top:10px}.section-heading h2{font-size:37px}.process{width:calc(100% - 40px);border-radius:22px}.process-inner.wrap{padding:30px 23px;gap:25px}.process h2{font-size:37px}.process ol{gap:10px}.process li{padding-left:12px}.process li:first-child{border:0;padding-left:0}.process li p{font-size:12px}.process li>span{font-size:34px}.work h2{font-size:45px}.showcase-grid{grid-template-columns:1fr;gap:23px}.showcase-screen{padding:28px 45px}.showcase-screen video{max-width:240px;max-height:none}.showcase-copy{padding:24px}.showcase-copy h3{font-size:33px}.showcase-copy>p:not(.eyebrow){font-size:13px}.showcase-meta{font-size:11px}.case-study{padding:24px;margin-top:38px;border-radius:19px}.case-heading h2{font-size:36px}.case-heading>p:last-child{font-size:13px}.reviews.wrap{width:calc(100% - 40px);padding:35px 18px;border-radius:22px}.reviews .section-heading h2{font-size:39px}.review-note{font-size:11px}.review-grid{grid-template-columns:1fr;gap:13px;margin-top:25px}.review,.review:nth-child(4),.review:nth-child(5){grid-column:1;padding:24px}.review blockquote{font-size:24px}.review figcaption{font-size:13px}.review-role{font-size:10px}.review-source{font-size:11px}.closing{padding:40px 20px}.closing-inner{padding:35px 20px;border-radius:22px}.closing h2{font-size:45px}.closing p:not(.eyebrow){font-size:13px}.footer.wrap{padding:27px 20px;gap:14px 24px}.footer p{font-size:16px}.footer-name{font-size:25px}}

.link-arrow{display:inline-block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex:none}

/* Portfolio CTA colors */
.header .button:not(.outline),.hero .button:not(.outline),.closing .button:not(.outline){background:var(--olive-dark);border-color:var(--olive-dark);color:#fff}
.header .button:not(.outline):hover,.hero .button:not(.outline):hover,.closing .button:not(.outline):hover{background:var(--olive);border-color:var(--olive);color:#fff}
.header .button.outline,.hero .button.outline,.closing .button.outline{background:transparent;border:1px solid #fff;color:#fff}
.header .button.outline:hover,.hero .button.outline:hover,.closing .button.outline:hover{background:transparent;border-color:#fff;color:#fff;opacity:.85}
