:root{--ink:#191919;--paper:#f9f9f6;--accent:#edff6b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid currentColor;outline-offset:6px}header{height:100px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d9d9d6}.logo{font-size:35px;font-weight:800;letter-spacing:-2px}.logo span{font-size:14px;vertical-align:top;display:inline-block;margin:8px 0 0 4px}nav{display:flex;gap:38px;font-size:15px}nav a:hover{text-decoration:underline;text-underline-offset:6px}.hero{padding:30px 4% 40px;background:var(--accent)}.eyebrow,.tile-meta,.section-heading,.footer-bottom{display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:13px;letter-spacing:.07em}h1{font-size:clamp(70px,10.7vw,165px);font-weight:500;line-height:.92;letter-spacing:-.065em;margin:58px 0 42px}h1 span{font-family:Georgia,serif;font-style:italic;letter-spacing:-.07em}.hero-bottom{display:flex;justify-content:space-between;align-items:end}.hero-bottom p{font-size:20px;line-height:1.4;margin:0}.scroll{display:flex;align-items:center;gap:38px;font-size:15px}.scroll span{border:1px solid;border-radius:100%;width:48px;height:48px;display:grid;place-items:center;font-size:24px}.work{padding:72px 4%}.section-heading{margin-bottom:30px}.section-heading h2{font-size:18px;font-weight:400;margin:0}.section-heading>span{font-size:13px;letter-spacing:.07em}.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.tile{min-height:560px;padding:28px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .25s}.tile:hover{transform:translateY(-5px)}.red{background:#df392b;color:#fff}.yellow{background:var(--accent)}.dark{background:#202020;color:#fff}.blue{background:#b9cff1}.tile-meta{font-size:13px;letter-spacing:.02em}.tile-meta>span:last-child{font-size:24px}.tile-title{font-size:clamp(42px,5.7vw,86px);letter-spacing:-.06em;line-height:.98;margin:auto 0;padding:35px 0}.tile-title i{font-family:Georgia,serif;font-weight:400}.bravo{font-weight:800;position:relative}.bravo i{font-family:Arial,Helvetica,sans-serif;font-style:normal}.asterisk{position:absolute;right:0;top:0;font-size:90px;transform:rotate(-15deg)}.tile-caption{border-top:1px solid currentColor;padding-top:18px}.tile-caption h3{font-size:20px;font-weight:400;margin:0 0 8px}.tile-caption p{font-size:14px;margin:0}.about{padding:52px 4% 90px;border-top:1px solid #ccc}.statement{font-size:clamp(33px,4.8vw,70px);line-height:1.12;letter-spacing:-.04em;max-width:1200px;margin:64px 0}.statement span{color:#757575}.about-body{display:grid;grid-template-columns:1fr 1fr;gap:24px}.about-body>span{font-size:13px;line-height:1.5}.about-body p{max-width:620px;font-size:20px;line-height:1.55;margin:0 0 20px}.details{padding:0 4% 100px}.details article{display:grid;grid-template-columns:1fr 3fr;padding:38px 0;border-top:1px solid #ccc;scroll-margin-top:35px}.details article>span{font-size:14px}.details h2{font-weight:400;font-size:clamp(27px,3vw,44px);letter-spacing:-.04em;margin:0 0 20px}.details p{max-width:720px;font-size:18px;line-height:1.6;margin:0}footer{background:var(--ink);color:var(--paper);padding:48px 4% 28px}footer>span{font-size:13px;letter-spacing:.05em}.contact{font-size:clamp(55px,10vw,150px);letter-spacing:-.065em;display:flex;justify-content:space-between;align-items:center;margin:42px 0 70px}.contact:hover{color:var(--accent)}.footer-bottom{border-top:1px solid #666;padding-top:24px;gap:24px;font-size:14px}@media(max-width:700px){header{height:80px}.logo{font-size:28px}nav{gap:16px;font-size:14px}.eyebrow{font-size:12px}.eyebrow span:last-child{display:none}h1{margin-top:48px;font-size:clamp(65px,13.8vw,98px)}.hero-bottom{align-items:start;gap:20px}.hero-bottom p{font-size:16px}.scroll{gap:10px;font-size:14px}.scroll span{width:36px;height:36px;flex-shrink:0}.work{padding-top:44px}.grid{grid-template-columns:1fr;gap:18px}.tile{min-height:480px;padding:22px}.tile-title{font-size:64px}.asterisk{font-size:75px}.about{padding-top:36px;padding-bottom:40px}.statement{margin:40px 0}.about-body{grid-template-columns:1fr;gap:25px}.about-body p{font-size:18px}.details{padding-bottom:60px}.details article{grid-template-columns:40px 1fr}.footer-bottom{flex-wrap:wrap}.footer-bottom .logo{width:100%}.contact{margin:40px 0 55px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tile{transition:none}}

.violet{background:#cabcef}.silver{background:#e4e5e1}.details p.role{font-size:15px;color:#626262;margin:0 0 22px}.details p+p.role{margin-top:22px}.roles{list-style:none;margin:0;padding:0}.roles li{margin:0 0 25px}.roles strong{font-size:19px;font-weight:500;display:block;margin-bottom:8px}.roles span{display:block;color:#626262;font-size:15px;margin-bottom:12px}

.portrait{margin:0;position:relative;background:#552374;overflow:hidden}.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/1;object-fit:cover}.portrait figcaption{position:absolute;right:4%;bottom:15%;color:white;font-size:clamp(26px,5vw,72px);line-height:1;letter-spacing:-.045em;font-weight:500;text-shadow:0 2px 18px #311344}.hero h1{font-size:clamp(70px,9.2vw,145px);margin-top:40px}@media(max-width:700px){.portrait img{height:240px;aspect-ratio:auto;object-fit:cover;object-position:33% center}.portrait figcaption{font-size:30px;bottom:18px;right:5%}.hero h1{font-size:clamp(65px,13.8vw,98px)}}

/* Editorial grade and a fine print raster soften the enlarged source. */
.portrait{isolation:isolate;background:#20162b}
.portrait img{filter:saturate(.48) contrast(1.08) brightness(.86)}
.portrait::before,.portrait::after{content:"";position:absolute;inset:0;pointer-events:none}
.portrait::before{z-index:1;background:linear-gradient(100deg,rgba(31,13,49,.15) 0%,rgba(42,19,61,.07) 38%,rgba(19,10,28,.6) 100%);box-shadow:inset 0 -40px 70px -35px rgba(12,7,19,.6)}
.portrait::after{z-index:2;background-image:radial-gradient(circle,rgba(14,8,23,.46) .65px,transparent .85px);background-size:3px 3px;opacity:.62}
.portrait figcaption{z-index:3;text-shadow:0 2px 18px rgba(12,7,19,.45)}
@media(max-width:700px){.portrait::after{opacity:.45}}

/* Campaign entrance and editorial case archive. */
.campaign-banner-wrap{padding:0 4% 90px;display:flex;justify-content:center;background:var(--paper)}
.campaign-banner{display:flex;flex-direction:column;max-width:600px;width:100%;min-height:710px;padding:38px;background:var(--accent);transition:background .2s}
.campaign-banner:hover{background:#ddf44e}.campaign-banner h2{font-size:clamp(60px,7.6vw,110px);line-height:.96;letter-spacing:-.06em;font-weight:400;margin:65px 0 35px}
.campaign-banner em,.campaign-intro em{font-family:Georgia,serif;font-weight:400}
.campaign-banner p{font-size:20px;line-height:1.5}.banner-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid;padding-top:20px;font-size:18px}.banner-bottom span{font-size:42px}
.case-index{font-size:13px;letter-spacing:.045em;line-height:1.5}.campaign-intro{background:var(--accent);padding:34px 4% 65px}.back-link{font-size:15px;display:inline-block;margin-bottom:55px}.campaign-intro h1{font-size:clamp(46px,8.2vw,120px);margin:35px 0;line-height:1.02}.campaign-intro .campaign-lead{font-size:22px;line-height:1.45}.text-link{display:inline-block;border-bottom:1px solid;padding:10px 0;font-size:16px}
.campaign-list,.campaign-archive{padding:30px 4% 75px}.campaign{padding:50px 0 60px;border-bottom:1px solid #bcbcb8;scroll-margin-top:25px}.campaign-heading h2{font-size:clamp(30px,4.4vw,62px);font-weight:400;letter-spacing:-.045em;margin:20px 0 28px}.film{aspect-ratio:16/9;background:#232126;color:var(--paper)}.film-play{font:inherit;cursor:pointer;width:100%;height:100%;border:0;background:transparent;color:inherit;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.film-play:hover{background:#302936}.film-play:focus-visible{outline:3px solid var(--accent);outline-offset:-6px}.play-icon{font-size:26px;width:76px;height:76px;border:1px solid #acaaac;border-radius:50%;display:grid;place-items:center;padding-left:4px}.film-title{font-size:clamp(20px,3vw,42px);letter-spacing:-.03em;text-align:center}.film-play small{font-size:13px;color:#c6c3c9}.film iframe{width:100%;height:100%;border:0;display:block}.film-link{text-align:right;margin-top:14px;font-size:14px}.film-link a,.archive-item>a{border-bottom:1px solid;padding-bottom:3px}.case-copy{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:30px}.case-copy p{font-size:19px;line-height:1.55;margin:0 0 18px}.case-copy p.award{font-size:16px;font-weight:600}.case-copy p.award-note,.award-note{font-size:15px;line-height:1.5}.case-results{padding-left:20px;font-size:17px;line-height:1.8}.campaign-archive .section-heading h2{font-size:32px;letter-spacing:-.03em}.archive-item{border-top:1px solid #bbb;padding:30px 0;display:grid;grid-template-columns:150px 1fr auto;gap:25px;align-items:start}.archive-item h3{font-size:25px;font-weight:400;letter-spacing:-.03em;margin:0 0 10px}.archive-item p{font-size:17px;line-height:1.5;margin:0 0 12px}.archive-item>a{font-size:14px}.archive-note{font-size:14px;color:#686868;line-height:1.5;margin-top:30px}
@media(max-width:700px){.campaign-banner-wrap{padding-bottom:55px}.campaign-banner{padding:25px;min-height:610px}.campaign-banner h2{font-size:clamp(58px,14vw,85px);margin-top:55px}.campaign-intro{padding-bottom:40px}.campaign-intro h1{font-size:clamp(36px,8.5vw,60px);letter-spacing:-.05em}.campaign-intro .campaign-lead{font-size:18px}.back-link{margin-bottom:35px}.case-copy{grid-template-columns:1fr;gap:15px}.archive-item{grid-template-columns:1fr;gap:12px}.archive-item>a{justify-self:start}.film-play{padding:15px;gap:9px}.play-icon{width:48px;height:48px;font-size:18px}.film-title{font-size:18px}.film-play small{font-size:12px}.campaign-list,.campaign-archive{padding-bottom:35px}.case-copy p{font-size:18px}}
@media(prefers-reduced-motion:reduce){.campaign-banner{transition:none}}

/* Full-width campaign banner between introduction and career details. */
.campaign-banner-wrap{display:block;padding:0;margin:0 0 72px}
.campaign-banner{width:100%;max-width:none;min-height:0;padding:48px 4% 34px}
.campaign-banner h2{font-size:clamp(44px,8.2vw,120px);line-height:1.04;margin:35px 0 24px;letter-spacing:-.05em}
.campaign-banner p{margin:0 0 30px}
.campaign-banner .banner-bottom{margin-top:0}
@media(max-width:700px){.campaign-banner-wrap{padding:0;margin-bottom:40px}.campaign-banner{padding:32px 4% 24px;min-height:0}.campaign-banner h2{font-size:clamp(30px,8.3vw,58px);margin:28px 0 24px}.campaign-banner p{font-size:18px}.campaign-banner .banner-bottom{font-size:16px}}

.advice-intro{background:var(--accent);padding:55px 4% 65px}.advice-intro h1{font-size:clamp(40px,7.8vw,112px);line-height:1.05;letter-spacing:-.05em;margin:35px 0}.advice-intro em{font-family:Georgia,serif;font-weight:400}.advice-intro>p:not(.case-index){font-size:22px;line-height:1.5;max-width:820px}.advice-content{padding:25px 4% 55px}.advice-content article{max-width:850px;margin:0 auto;padding:48px 0;border-bottom:1px solid #bbb;scroll-margin-top:30px}.advice-content h2,.advice-dialog h2,.advice-teaser h2{font-size:clamp(28px,3.3vw,46px);line-height:1.15;letter-spacing:-.035em;font-weight:400;margin:20px 0}.advice-content p,.advice-dialog p,.advice-teaser p{font-size:19px;line-height:1.65;max-width:820px}.advice-dialog,.advice-teaser{padding:45px 4% 65px;background:#e4e5e1}.advice-teaser{background:var(--paper);border-top:1px solid #ccc}.text-link:focus-visible{outline:3px solid currentColor;outline-offset:5px}
@media(max-width:700px){header{height:auto;min-height:80px;gap:16px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}nav{flex-wrap:wrap;gap:12px 18px}header .logo{font-size:28px}.advice-intro{padding:35px 4% 45px}.advice-intro h1{font-size:clamp(32px,7.2vw,50px)}.advice-intro>p:not(.case-index){font-size:18px}.advice-content p,.advice-dialog p,.advice-teaser p{font-size:18px}}

/* Platform-independent icons: no emoji glyph substitution on iOS. */
.ui-icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.12em;overflow:visible;pointer-events:none}
.tile-meta{gap:16px;align-items:flex-start}.tile-meta>span:first-child{min-width:0;line-height:1.45}.tile-meta>span:last-child{display:flex;flex:0 0 auto}.tile-meta .ui-icon{width:24px;height:24px}
.asterisk{display:block;width:70px;height:70px;font-size:inherit;line-height:1}.asterisk .ui-icon{display:block;width:100%;height:100%}
.play-icon .ui-icon{width:24px;height:24px}.play-icon{padding-left:0}.scroll .ui-icon{width:22px;height:22px}.contact>.ui-icon,.contact>span>.ui-icon{width:.8em;height:.8em}
.tile-caption p{line-height:1.5}.tile-title{overflow-wrap:normal}.tile-caption h3{line-height:1.25}
@media(max-width:700px){
 .grid{gap:16px}.tile{padding:24px 20px;min-height:430px;overflow:visible}.tile-title{font-size:clamp(42px,12.7vw,62px);line-height:1.04;letter-spacing:-.055em;padding:34px 0;margin:auto 0}.tile-meta{font-size:12px;min-height:36px}.tile-meta .ui-icon{width:22px;height:22px}.tile-caption{padding-top:16px}.tile-caption h3{font-size:19px;margin-bottom:8px}.tile-caption p{font-size:14px;line-height:1.5}.asterisk{width:48px;height:48px;top:-18px;right:0}.bravo{margin-top:40px}.bravo i{font-weight:400}
 .hero-bottom{flex-direction:column;align-items:flex-start;gap:24px}.hero-bottom p{font-size:17px;line-height:1.5}.scroll{min-height:44px}.scroll span{width:40px;height:40px}
 .section-heading{gap:18px;align-items:flex-start}.section-heading h2{font-size:17px;line-height:1.4}.section-heading>span{flex-shrink:0}.details article{grid-template-columns:28px minmax(0,1fr);gap:10px}.details h2{overflow-wrap:anywhere}.film{min-height:210px}
 nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:0 20px}nav a{min-height:44px;display:flex;align-items:center;gap:6px;font-size:15px}.footer-bottom>a:not(.logo){min-height:44px;display:inline-flex;align-items:center;gap:6px}.text-link{line-height:1.5;min-height:44px}
}
@media(hover:none){.tile:hover{transform:none}}
