/* A single type scale for the complete portfolio */
:root{--font-heading:"Inter",Arial,sans-serif;--font-body:"Inter",Arial,sans-serif;--section-title-size:clamp(26px,2.7vw,38px);--section-title-leading:1.15;--section-title-tracking:-.04em;--copy-size:16px;--small-size:13px;--card-title-size:24px;font-family:var(--font-body);font-size:var(--copy-size);font-weight:400;line-height:1.5}
h1,h2,h3,.brand,.tile-title,.experience-number,.project-title{font-family:var(--font-heading);font-weight:600}
.header.editorial-header .editorial-identity,.work-heading h2,.career-title,.about-main>h2,.contact-bottom h2,.modal-body>h2,.case-modal-intro>h2,.brief-dialog h2{font-family:var(--font-heading);font-size:var(--section-title-size);font-weight:600;line-height:var(--section-title-leading);letter-spacing:var(--section-title-tracking)}
.contact-section{--contact-title-size:var(--section-title-size)}
.contact-bottom p{color:#ffffffc7}
.contact-section .button-dark{background:#fff;color:var(--ink)}
.contact-section .button-dark:hover{background:#e8ebf0}
.button{font-family:var(--font-body);font-weight:500}
.tile-title{font-size:clamp(22px,2.2vw,32px);font-weight:600;line-height:1.12;letter-spacing:-.03em}
.experience-number{font-weight:600;letter-spacing:-.05em;top:-6px}
.tile-caption,.experience-caption{font-size:var(--small-size);line-height:1.4;letter-spacing:-.015em}
.project-title{font-size:var(--card-title-size);font-weight:600;line-height:1.2;letter-spacing:-.025em}
.project-client{font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.04em;margin-bottom:7px}
.project-index{font-size:11px;font-weight:500;letter-spacing:.04em;line-height:1.3}
.contact-bottom p,.profile p,.case-text p,.brief-intro{font-size:var(--copy-size);line-height:1.55;letter-spacing:-.015em}
.case-description{font-size:20px;line-height:1.45;letter-spacing:-.025em}
.case-text h3{font-size:14px;font-weight:600;line-height:1.4;letter-spacing:-.015em}
.modal-body>.eyebrow,.form-field>span,.project-type legend,.project-type label>span,.form-note,.form-result,.next-case,.skill-tags>span{font-size:var(--small-size);line-height:1.45}
.form-field input,.form-field textarea{font-family:var(--font-body);font-size:16px;line-height:1.5;font-weight:400}
footer{font-size:12px;line-height:1.5}.footer-sign{font-size:11px;line-height:1.5;letter-spacing:.06em}
/* Work experience: one large current-employer card, two earlier roles */
.about-section.career-section{display:block;padding:0 0 48px;margin:0;background:transparent;border-radius:0;color:var(--ink)}
.career-title{margin:0 0 28px;padding:0 12px}
.career-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:16px}
.career-card{--career-inset:32px;display:flex;flex-direction:column;min-width:0;min-height:200px;padding:var(--career-inset);border-radius:var(--radius);background:#f2f4f7}
.career-card-main{grid-column:1;grid-row:1 / 3;min-height:424px}
.career-card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 20px}
.career-company{display:flex;align-items:center;gap:12px;min-width:0}
.career-logo{width:40px;height:40px;flex-shrink:0;object-fit:contain;border-radius:10px;background:#fff}
.career-card:not(.career-card-main){justify-content:space-between;gap:24px}
.career-card:not(.career-card-main) .career-description{margin:0}
.career-card-header h3{margin:0;font-size:22px;font-weight:600;line-height:1.25;letter-spacing:-.03em}
.career-card-header>p{display:inline-flex;align-items:center;flex-shrink:0;min-height:32px;max-width:100%;margin:0;padding:6px 12px;border-radius:10px;background:#d558df;color:#fff;font-size:14px;font-weight:600;line-height:1.4;letter-spacing:-.02em;white-space:nowrap}
.career-description{font-size:var(--copy-size);font-weight:400;line-height:1.55;letter-spacing:-.02em;margin:28px 0 0;max-width:58ch}
.career-audiences{display:flex;flex-wrap:wrap;gap:30px 48px;margin-top:auto;padding-top:64px}
.career-audiences>div>span{display:block;font-size:38px;font-weight:600;line-height:1.1;letter-spacing:-.045em}
.career-audiences p{margin:9px 0 0;font-size:14px;line-height:1.4;color:#656a73;letter-spacing:-.02em}
.career-note{margin:24px 0 0;font-size:var(--small-size);line-height:1.4;letter-spacing:.02em;color:#656a73}
@media(max-width:1100px){:root{--section-title-size:30px;--card-title-size:22px}.career-card{--career-inset:28px}.career-card-header h3{font-size:21px}.career-card-header>p{font-size:13px}}
@media(max-width:800px){:root{--section-title-size:27px}.career-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:12px}.career-card-main{grid-column:auto;grid-row:auto;min-height:320px}.career-card{min-height:190px}.career-audiences{padding-top:44px}.career-card-main{min-height:320px}}
@media(max-width:640px){:root{--section-title-size:clamp(23px,5.8vw,29px);--copy-size:14px;--small-size:12px;--card-title-size:20px}.tile-title{font-size:22px;letter-spacing:-.025em}.intro-bento .tile-caption,.intro-bento .experience-caption{font-size:10px;line-height:1.4}.project-client,.project-index{font-size:10px}.career-title{padding:0 8px;margin-bottom:22px}.about-section.career-section{padding-bottom:32px}.career-card{--career-inset:25px;padding:var(--career-inset) 24px;min-height:180px;border-radius:23px}.career-card-main{min-height:300px}.career-card-header h3{font-size:20px}.career-card-header>p{font-size:12px}.career-description{margin-top:22px}.career-audiences{padding-top:40px;gap:32px}.career-audiences>div>span{font-size:32px}.career-audiences p{font-size:12px}.career-note{margin-top:20px}.case-description{font-size:17px;line-height:1.5}.case-text h3{font-size:13px}footer{font-size:11px}.footer-sign{font-size:10px}}
@media(max-width:360px){:root{--section-title-size:22px}.tile-title{font-size:20px}.career-card{--career-inset:22px;padding:var(--career-inset) 20px}.career-card-header{gap:6px 12px}.career-card-header h3{font-size:19px}}
/* Shared guides: explanations fill the right half of their section */
.career-description,.editorial-proof,.contact-bottom p,.brief-intro,.form-note,.case-text p{max-width:none;text-align:left}
.case-modal-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0;margin:15px 0 30px}
.case-modal-intro>h2{margin:0;padding-right:40px}
.case-modal-intro>.case-description{margin:0;min-width:0;max-width:none;text-align:left}
.case-text{grid-template-columns:minmax(0,1fr);gap:32px}
.case-text>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0;min-width:0}
.case-text h3{margin:0;padding-right:40px}
.contact-bottom{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:0}
.contact-bottom h2{padding-right:40px}
.contact-bottom p{grid-column:2;grid-row:1;align-self:start}
.contact-actions>.asterisk{grid-column:1;grid-row:2;justify-self:start;align-self:end;margin-top:0}
@media(max-width:640px){
  .case-modal-intro,.case-text>div{grid-template-columns:minmax(0,1fr);gap:18px}
  .case-modal-intro>h2,.case-text h3{padding-right:0}
  .contact-bottom{grid-template-columns:minmax(0,1fr) 32px;column-gap:12px}
  .contact-bottom h2{padding-right:0}
  .contact-bottom p{grid-column:1 / -1;grid-row:2}
  .contact-actions>.asterisk{grid-column:2;grid-row:1;justify-self:end;align-self:start;margin-top:calc(var(--contact-title-size)*.148)}
}

/* Homepage contact banner matches the published case contact block */
.contact-section.contact-banner{display:flex;align-items:center;min-height:224px;padding:48px;background:var(--ink);color:#fff}
.contact-banner .contact-bottom{display:flex;justify-content:space-between;align-items:center;gap:40px;width:100%}
.contact-banner-copy{flex:1;min-width:0}
.contact-banner h2{margin:0;padding:0}
.contact-banner p{font-size:14px;line-height:1.5;margin:18px 0 0;color:#c3c6c3;max-width:none}
.contact-banner .button{align-self:center}
@media(max-width:800px){.contact-section.contact-banner{padding:36px 28px}.contact-banner .contact-bottom{gap:28px}.contact-banner p{font-size:12px}}
@media(max-width:640px){.contact-section.contact-banner{min-height:0;padding:32px 26px}.contact-banner .contact-bottom{flex-direction:column;gap:26px;text-align:center}.contact-banner p{margin-top:16px;text-align:center}}

/* Mobile: equal bento insets and a consistent company / period stack */
@media(max-width:640px){
  .intro-bento .start-tile,.intro-bento .experience-tile{--tile-y:var(--tile-x)}
  .intro-bento .tile-title{margin-top:0}
  .intro-bento .experience-number{top:0;margin-top:0}
  .intro-bento .experience-detail{top:var(--tile-y);right:var(--tile-x)}
  .career-card-header{flex-direction:column;align-items:flex-start;flex-wrap:nowrap;gap:12px}
}
