/* Preview 01.1: an editorial refinement, not another redesign. */
html{scroll-padding-top:94px}.header{position:sticky;top:0;z-index:70;height:76px;background:rgba(243,241,235,.97);backdrop-filter:blur(14px)}.wordmark{font-size:31px;letter-spacing:-.08em}.navigation{gap:38px}.hero{height:calc(100svh - 76px);padding-top:28px}.hero-name{margin-top:76px}.hero-collage{top:65px}.hero-back{width:28%;right:1%;top:-4px}.hero-back img{width:100%;height:auto}.selected-intro{padding-bottom:54px}.leadership-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:60px}.intro-title{font-size:clamp(48px,6vw,100px);margin-top:64px;max-width:900px}.disciplines{font-size:15px;line-height:1.8;letter-spacing:-.025em;color:var(--muted);flex:none;padding-bottom:6px}.project-section{scroll-margin-top:76px}.project-heading .eyebrow,.dex-stage>.eyebrow{font:600 clamp(14px,1.3vw,20px)/1.35 var(--sans);letter-spacing:.025em;margin-bottom:28px}.project-heading{margin-bottom:36px}.project-aside{width:27%;max-width:370px}.project-aside p{font-size:21px}.strategy-tease{font-size:clamp(17px,1.5vw,22px);line-height:1.5;letter-spacing:-.026em;max-width:750px;margin:0 0 48px}.project-footer{justify-content:flex-end}.fresh-section .project-footer{padding-top:38px}.fresh-section .project-aside .mono{line-height:1.8}.hero .piece-label{font-size:10px}.portrait-spread:after,.dexcom-spread:after{display:none}
/* The character wall has a reason to move: focus passes from person to person. */
.character-sequence{position:relative}.character-stage{position:relative}.character-controls{display:flex;border-top:1px solid var(--line);margin-bottom:18px;gap:24px}.character-controls button{padding:16px 0 8px;font-size:16px;display:flex;gap:12px;align-items:baseline;border-top:2px solid transparent;margin-top:-1px;opacity:.5;transition:opacity .2s}.character-controls button span{font:10px var(--mono)}.character-controls button[aria-pressed=true]{border-top-color:var(--accent);opacity:1}.character-wall{display:flex;height:clamp(360px,41vw,610px);gap:12px;overflow:hidden}.character-panel{flex:1;min-width:0;height:100%;position:relative;transition:flex .65s var(--ease);background:#d8b663;text-align:left}.character-panel.is-active{flex:1.5}.character-panel:nth-child(1){background:#234e47}.character-panel:nth-child(3){background:#d993a8}.character-panel video{width:100%;height:100%;object-fit:cover}.character-panel:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.65));pointer-events:none}.character-caption{position:absolute;left:24px;right:18px;bottom:28px;z-index:2;color:white}.character-caption strong{display:block;font-size:clamp(30px,4.3vw,72px);font-weight:500;letter-spacing:-.06em}.character-caption small{font:10px var(--mono);display:block;margin-top:9px}.character-track{height:2px;margin-top:18px;background:var(--line)}.character-track i{display:block;width:33.333%;height:100%;background:var(--accent);transition:transform .3s}.character-panel .touch-play{z-index:4;bottom:auto;top:18px;right:18px}
/* One play prompt, never two competing controls. */
.touch-play{position:absolute;right:18px;bottom:18px;display:none;z-index:3;padding:10px 13px;background:var(--paper);color:var(--ink);font:10px var(--mono);border-radius:2px;box-shadow:0 2px 12px #0002}.media-button:focus-visible .touch-play,.dex-page:focus-visible .touch-play,.window-world:focus-visible .touch-play{display:block}.custom-cursor{font-size:11px;text-transform:none;pointer-events:none}.cinema-sticky{top:86px}.cinema-frame{max-height:65svh}.film-selector{gap:22px;padding:22px 0 28px;justify-content:center;width:calc(100% - var(--gutter)*2)}.film-selector .film-thumb{display:flex;align-items:center;gap:13px;width:230px;max-width:32%;padding:0 0 12px;text-align:left;opacity:.55;border-bottom:2px solid transparent}.film-selector .film-thumb.active{opacity:1;border-color:#c8dc95}.film-thumb img{width:105px;aspect-ratio:16/9;object-fit:cover}.film-selector .film-thumb>span{margin:0;font-family:var(--sans)}.film-thumb strong{font-weight:500;display:block;font-size:16px}.film-thumb small{display:block;font:9px var(--mono);opacity:.65;margin-top:7px}.tea-section .project-footer{padding-bottom:22px}.film-corner{pointer-events:none}.tea-section{overflow:clip}.fresh-note{margin-top:-22px}.fresh-note p{font-size:30px}
/* Two Dexcom campaigns, one continuous aperture. */
.dexcom-section.dex-sequence{padding:0;height:320svh;background:#eceee5}.dex-stage{position:sticky;top:76px;height:calc(100svh - 76px);padding:30px var(--gutter) 22px;display:flex;flex-direction:column}.dex-stage>.eyebrow{margin-bottom:18px}.dex-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;flex:1;min-height:0}.dex-copy h2{font-size:clamp(60px,6.7vw,108px);line-height:.97;letter-spacing:-.065em;font-weight:500;min-height:2em}.dex-copy h2 em{line-height:1.07}.dex-tease{font-size:18px;line-height:1.4;max-width:420px;margin-top:25px;min-height:76px;letter-spacing:-.03em}.dex-channels{font-size:9px;line-height:1.7;min-height:30px;max-width:400px;margin:8px 0 20px}.dex-controls{border-top:1px solid var(--line);max-width:440px}.dex-controls button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:14px 0;font-size:15px;text-align:left;opacity:.47;transition:opacity .2s}.dex-controls button[aria-pressed=true]{opacity:1;color:#19652a}.dex-controls small{font:9px var(--mono);text-align:right}.dex-case-link{font-size:14px;margin-top:22px;gap:25px}.dex-art{height:min(66svh,670px);min-height:0;display:flex;align-items:center;flex-direction:column}.dex-lens{position:relative;width:100%;height:100%;max-width:540px;background:transparent;overflow:hidden}.dex-page{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;display:block;background:white}.dex-page img,.dex-page video{width:100%;height:100%;object-fit:contain}.dex-paper img{transform-origin:50% 45%;will-change:transform}.dex-page:not(:first-child){visibility:hidden;clip-path:circle(0% at 50% 45%)}.dex-paper{clip-path:circle(29% at 50% 45%)}.dex-film{background:white}.dex-match{background:#f6f6f6}.dex-caption{display:flex;width:100%;max-width:540px;justify-content:space-between;gap:10px;padding-top:12px;font-size:9px}.dex-progress{height:2px;flex:none;margin-top:20px;background:#bcc9b5}.dex-progress i{height:100%;display:block;width:0;background:#369843}.dex-page[inert]{pointer-events:none}
/* A literal sliding sash, not an arbitrary crooked rectangle. */
.window-controls{display:flex;gap:35px;border-top:1px solid var(--line);margin-bottom:18px}.window-controls button{border-top:2px solid transparent;padding:18px 0 6px;margin-top:-1px;opacity:.5;font-size:18px}.window-controls button span{font:10px var(--mono);margin-left:14px}.window-controls button[aria-pressed=true]{opacity:1;border-color:var(--accent)}.window-stage{position:relative;aspect-ratio:16/9;overflow:hidden;background:#152832}.window-world{position:absolute;inset:0;width:100%;height:100%;display:block}.window-world video{height:100%;width:100%;object-fit:contain}.window-location{z-index:2;clip-path:inset(0 0 0% 0)}.window-mullion{position:absolute;z-index:3;left:0;right:0;top:100%;height:14px;transform:translateY(-50%);background:linear-gradient(#faf9f2,#deddd6);box-shadow:0 -3px 16px #0003;pointer-events:none}.window-caption{display:flex;justify-content:space-between;gap:16px;padding-top:14px;font-size:10px}.window-world[inert]{pointer-events:none}.window-section .project-footer{justify-content:space-between}
/* Optional short-form chapter. No stock, mock phones or invented executions. */
[hidden]{display:none!important}.penn-section{background:#ece5d9}.penn-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:0 8%;align-items:start}.penn-gallery figure:nth-child(2){margin-top:70px}.penn-gallery figure:nth-child(3){margin-top:20px}.penn-film{aspect-ratio:9/16;background:#0b3152}.penn-film video{height:100%;object-fit:contain}.penn-gallery figcaption{text-transform:none;font-size:11px;line-height:1.5}.penn-section .project-footer{justify-content:space-between}.penn-section .project-heading{padding-top:20px}
/* Case studies give the idea room, not more placeholder adjectives. */
.case-campaign-title{font:italic 30px/1.2 var(--serif);letter-spacing:-.035em;margin-top:18px;font-weight:400}.case-channels{padding:0 var(--gutter) 28px;font-size:10px;line-height:1.7}.case-strategy{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;padding:28px var(--gutter) 70px}.case-strategy section{border-top:1px solid var(--line);padding-top:20px}.case-strategy h3{font-size:21px;font-weight:500;letter-spacing:-.04em;margin-bottom:15px}.case-strategy p{font-size:15px;line-height:1.6;max-width:480px}.case-header{padding-bottom:24px}.case-screen.portrait{background:#f0f0ed;min-height:0}.case-screen.portrait video{object-fit:contain}.index-row .index-name{font-size:clamp(22px,3.1vw,54px)}.motion-toggle{position:static;transform:none;border:0;box-shadow:none;border-radius:0;padding:0;font-size:9px;background:none;color:inherit}.motion-label{display:inline!important}.motion-bars{display:none}.about-section footer{align-items:center}.project-heading .tiny-cross{color:var(--accent)}
@media(max-width:1100px) and (min-width:761px){.dex-copy h2{font-size:65px}.dex-tease{font-size:16px;margin-top:18px;min-height:65px}.dex-controls button{font-size:13px}.dex-controls small{font-size:8px}.dex-layout{gap:5%}.film-thumb img{width:85px}.character-caption{left:15px}.hero-name{margin-top:90px}.hero-back{right:0}.case-strategy{gap:25px}}
@media(max-width:760px){
 html{scroll-padding-top:78px}.header{height:64px;padding:0 22px}.navigation{gap:24px}.header .wordmark{font-size:26px}.hero{height:auto;min-height:0;max-height:none;padding-top:16px}.hero-name{margin-top:20px}.hero-collage{top:auto}.hero-back{right:2%;top:-8px;width:27%}.hero-bottom{margin-top:40px}.selected-intro{padding-top:40px;padding-bottom:30px}.section-rule>span:nth-child(2){display:block}.leadership-intro{display:block}.intro-title{font-size:12vw;margin-top:40px}.disciplines{font-size:13px;line-height:1.8;margin-top:28px}.project-section{scroll-margin-top:64px}.project-heading .eyebrow,.dex-stage>.eyebrow{font-size:14px;letter-spacing:0;margin-bottom:20px}.project-heading{margin-bottom:26px}.project-aside{max-width:none;width:100%;margin-top:22px}.project-aside p{font-size:15px}.strategy-tease{font-size:16px;line-height:1.5;margin-bottom:30px}.project-footer{align-items:start;padding-top:32px}.character-sequence{height:230svh}.character-stage{position:sticky;top:78px;padding-bottom:15px}.character-controls{gap:0;justify-content:space-between;margin-bottom:14px}.character-controls button{display:block;font-size:14px;padding-top:12px;min-height:48px}.character-controls button span{display:block;margin-top:5px;font-size:8px}.character-wall{display:block;position:relative;height:calc(100svh - 190px);max-height:680px;min-height:290px;overflow:hidden}.character-panel{position:absolute;inset:0;width:100%;height:100%;transition:none}.character-panel:nth-child(2){transform:translateY(108%);z-index:2}.character-panel:nth-child(3){transform:translateY(108%);z-index:3}.character-caption{bottom:28px;left:24px}.character-caption strong{font-size:14vw}.character-panel video{object-fit:cover}.character-track{margin-top:14px}.character-panel .touch-play{top:16px;right:16px}.touch-play{display:block;padding:8px 10px;font-size:9px;right:12px;bottom:12px}.film-corner{font-size:8px}.cinema-scroll{min-height:0;height:110svh}.cinema-sticky{position:sticky;top:78px;padding-top:12px}.cinema-frame{width:calc(92% + var(--cinema-progress,0)*8%);max-height:none}.film-selector{width:calc(100% - 44px);gap:12px;padding:18px 0 25px}.film-selector .film-thumb{width:auto;flex:1;max-width:none;display:block;padding-bottom:12px;opacity:.55}.film-selector .film-thumb.active{opacity:1}.film-thumb img{width:100%;height:auto;aspect-ratio:16/9}.film-selector .film-thumb>span{display:block;margin-top:10px}.film-thumb strong{font-size:13px}.film-thumb small{font-size:8px;margin-top:4px}.tea-section .project-footer{padding-top:22px}.fresh-note{margin-top:24px}.fresh-note p{font-size:25px}.fresh-section .project-aside .mono{max-width:170px;font-size:8px}.fresh-secondary{margin-left:11%}.fresh-spread .media-button .touch-play{font-size:8px}.dexcom-section.dex-sequence{height:300svh}.dex-stage{top:64px;height:calc(100svh - 64px);padding:20px 22px 16px}.dex-stage>.eyebrow{font-size:13px;margin-bottom:12px}.dex-layout{display:flex;flex-direction:column;align-items:stretch;gap:0;flex:1}.dex-copy{display:contents}.dex-copy h2{order:1;font-size:clamp(40px,10.5vw,64px);line-height:.96;min-height:0;margin-bottom:10px}.dex-copy h2 br{display:none}.dex-copy h2 em:before{content:' '}.dex-tease{order:2;font-size:13px;line-height:1.4;min-height:38px;margin-top:0;margin-bottom:7px;max-width:none}.dex-channels{order:3;min-height:0;font-size:7px;margin:0 0 12px;line-height:1.5}.dex-art{order:4;flex:1;min-height:0;height:auto;margin-bottom:12px;align-items:center}.dex-lens{width:100%;max-width:420px;flex:1;min-height:0;height:auto}.dex-page img,.dex-page video{object-fit:contain}.dex-caption{font-size:7px;padding-top:8px;max-width:420px}.dex-controls{order:5;display:flex;gap:12px;max-width:none;flex:none}.dex-controls button{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;flex:1;gap:5px;font-size:11px;line-height:1.3;padding:10px 0}.dex-controls small{font-size:7px;text-align:left}.dex-case-link{order:6;font-size:12px;align-self:flex-start;margin-top:13px;padding-bottom:5px}.dex-case-link span{font-size:17px}.dex-progress{margin-top:12px;height:2px}.glass-spread{display:flex;gap:18px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -22px;padding:0 22px 14px}.glass-spread::-webkit-scrollbar{display:none}.glass-stack{display:contents}.glass-spread figure{flex:0 0 88%;min-width:88%;margin:0;transform:none!important;scroll-snap-align:center}.glass-spread .glass-main{margin:0}.glass-spread .media-button{aspect-ratio:16/9}.glass-section .project-footer{margin-top:5px}.window-controls{gap:24px}.window-controls button{font-size:14px;text-align:left}.window-controls button span{display:block;margin:6px 0 0;font-size:8px}.window-stage{aspect-ratio:4/3;background:#111}.window-world video{object-fit:contain}.window-mullion{height:9px}.window-caption{font-size:8px}.window-section .project-footer{gap:24px}.penn-gallery{display:flex;gap:18px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -22px;padding:0 22px 20px}.penn-gallery figure{flex:0 0 75%;margin:0!important;scroll-snap-align:center}.penn-gallery figcaption{font-size:10px}.penn-section .project-heading{padding-top:0}.case-campaign-title{font-size:27px;margin-top:13px}.case-channels{padding:0 22px 24px;font-size:8px}.case-strategy{display:block;padding:20px 22px 36px}.case-strategy section{margin-top:25px;padding-top:16px}.case-strategy h3{font-size:22px;margin-bottom:10px}.case-strategy p{font-size:14px;line-height:1.6}.index-row .index-name{font-size:6vw;line-height:1.2}.case-screen.portrait{max-height:60svh;aspect-ratio:4/5}.about-section footer{padding-bottom:30px}.motion-toggle{font-size:9px;padding:8px 0}
}
@media(max-width:760px) and (max-height:700px){.dex-stage{padding-top:14px;padding-bottom:12px}.dex-stage>.eyebrow{margin-bottom:8px}.dex-copy h2{font-size:34px;line-height:1}.dex-tease{font-size:11px;min-height:28px;line-height:1.3;margin-bottom:8px}.dex-channels{display:none}.dex-controls button{font-size:10px;padding:7px 0}.dex-case-link{margin-top:8px;font-size:11px}.dex-art{margin-bottom:8px}.dex-progress{margin-top:8px}.character-wall{height:calc(100svh - 178px);min-height:250px}}
@media(hover:hover) and (pointer:fine){.touch-play{display:none}.media-button:focus-visible .touch-play,.dex-page:focus-visible .touch-play,.window-world:focus-visible .touch-play{display:block}}
/* Reduced motion is a full usable experience, with the same direct controls. */
.motion-off .character-sequence,.motion-off .dexcom-section.dex-sequence,.motion-off .cinema-scroll{height:auto;min-height:0}.motion-off .character-stage,.motion-off .dex-stage,.motion-off .cinema-sticky{position:relative;top:0}.motion-off .dex-stage{min-height:650px}.motion-off .cinema-frame{width:100%}
@media(prefers-reduced-motion:reduce){.character-sequence,.dexcom-section.dex-sequence,.cinema-scroll{height:auto;min-height:0}.character-stage,.dex-stage,.cinema-sticky{position:relative;top:0}.dex-stage{min-height:650px}.character-panel{transition:none}.cinema-frame{width:100%}}
/* Final framing checks on narrow screens. */
.character-panel[data-character-panel="0"] video{object-position:68% 50%}
.character-panel[data-character-panel="1"] video{object-position:50% 50%}
.character-panel[data-character-panel="2"] video{object-position:62% 50%}
.motion-off .touch-play{display:block}
@media(max-width:760px){.navigation .nav-link{display:inline!important}.navigation{gap:22px}.cinema-scroll{height:auto;min-height:0}.cinema-sticky{position:relative;top:0}.dex-copy h2 br{display:block}.dex-copy h2 em:before{content:none}.dex-copy h2{font-size:clamp(38px,10.5vw,54px);line-height:.96}.dex-tease{margin-top:3px}.dex-stage .dex-art{min-height:160px}}
@media(max-width:760px) and (max-height:700px){.dex-copy h2{font-size:32px}.dex-stage .dex-art{min-height:150px}.dex-tease{min-height:25px}}
