/* The original supplied bitmap is shared by an SVG luminance mask. The browser
   frames the wordmark/symbol and applies the surrounding text color. */
:root{--ease-focus:cubic-bezier(.22,.75,.25,1);--pad:clamp(20px,5.2vw,100px)}
.brand{flex-shrink:0;width:clamp(110px,11.2vw,174px)}
.brand-image{display:block;position:relative;width:100%;height:auto;aspect-ratio:847/220}
.footer-word{font-size:inherit;line-height:1;margin:0;width:100%;max-width:1400px;margin-inline:auto}
.footer-word>.brand-image{position:relative;inset:auto;margin:0;width:100%;font-size:inherit}
.focus-symbol{display:block;height:auto;aspect-ratio:1}
.focus-symbol-light{color:var(--fg)}
.asterisk.focus-symbol{width:clamp(62px,6.25vw,100px);font-size:0;flex-shrink:0}
.closing-orbit.focus-symbol{width:clamp(210px,26vw,420px);font-size:0;right:-2%;bottom:-12%;opacity:.15}
.discipline-strip .focus-symbol{width:30px;flex:0 0 30px;font-size:0}
.scroll-progress{width:100%;transform:scaleX(0);transform-origin:0 50%;will-change:transform}
.site-header{transition:background .4s var(--ease-focus),height .4s var(--ease-focus),border-color .4s}
.site-header nav{margin-left:clamp(32px,5vw,92px)}
.site-header nav a{position:relative}
.site-header nav a:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-focus)}
.language-switcher{display:flex;align-items:center;gap:7px;margin-left:auto;margin-right:22px;padding:4px;border:1px solid #ffffff1e;border-radius:99px;background:#09090a73;backdrop-filter:blur(12px)}
.language-dot{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:transparent;padding:0;filter:grayscale(1);opacity:.52;font-size:14px;line-height:1;transition:filter .25s,opacity .25s,transform .25s,background .25s}.language-dot:hover,.language-dot:focus-visible,.language-dot.active{filter:none;opacity:1;background:#ffffff1e;transform:scale(1.08)}
.site-header nav a:hover:after,.site-header nav a:focus-visible:after{transform:scaleX(1);transform-origin:left}
.pill,.project-action,.filters button,.model-tabs button,.model-controls button{transition:background .35s var(--ease-focus),color .35s var(--ease-focus),border-color .35s,transform .45s var(--ease-focus),box-shadow .35s}
.pill:active,.filters button:active,.model-tabs button:active,.model-controls button:active{transform:scale(.97)}
.focus-reticle{--reticle-turn:0deg;--reticle-x:0px;--reticle-scale:1;position:absolute;left:71%;top:50%;width:min(56vw,80svh);aspect-ratio:1;pointer-events:none;z-index:0;opacity:.6;transform:translate(calc(-50% + var(--reticle-x)),-50%) rotate(var(--reticle-turn)) scale(var(--reticle-scale));will-change:transform,opacity}
.focus-reticle>i{position:absolute;inset:0;border:1px solid #ffffff29;border-left-color:transparent;border-right-color:transparent;border-radius:50%;transform:rotate(-42deg)}
.focus-reticle>i:nth-child(2){inset:3.5%;border-color:#ffffff12;border-top-color:transparent;border-bottom-color:transparent;transform:rotate(42deg)}
.focus-reticle>span,.focus-reticle>b{position:absolute;inset:0;border-radius:50%;border:1px solid transparent;border-top-color:#ff653b8c;clip-path:polygon(35% 0,65% 0,50% 50%)}
.focus-reticle>b{transform:rotate(180deg);border-top-color:#ffffff65}
.focus-reticle:before,.focus-reticle:after{content:'';position:absolute;left:50%;top:-7px;width:1px;height:15px;background:#ffffff5c}
.focus-reticle:after{top:auto;bottom:-7px}
.hero-copy,.hero-second,.hero-coordinate,.hero-bottom{z-index:3}
.hero-flash{position:absolute;z-index:2;width:clamp(210px,29vw,480px);height:clamp(170px,23vw,360px);opacity:0;pointer-events:none;mix-blend-mode:screen;filter:blur(.1px) drop-shadow(0 0 28px #fffb) drop-shadow(0 0 90px #ff653bb8);will-change:transform,opacity}.hero-flash i,.hero-flash b{position:absolute;display:block;border-radius:50%}.hero-flash i{inset:4% 12% 2% -8%;background:radial-gradient(circle at 50% 50%,#fff 0 4%,#fffefa 12%,#fff9 25%,#fff4 43%,transparent 72%);filter:blur(1px);animation:flash-core 1.65s steps(2,end) infinite}.hero-flash b{right:-9%;top:10%;width:78%;height:78%;background:radial-gradient(circle,#fff5d4 0 5%,#ffca6ee8 18%,#ff653b8c 42%,transparent 74%);filter:blur(6px);animation:flash-warm 1.65s steps(2,end) infinite}.hero-flash:before,.hero-flash:after{content:'';position:absolute;left:50%;top:50%;width:165%;height:4px;transform:translate(-50%,-50%) rotate(-19deg);background:linear-gradient(90deg,transparent 0,#fff9 18%,#fff 48%,#fff9 78%,transparent);box-shadow:0 0 16px #fff,0 0 58px #ff8a4c;animation:flash-beam 1.65s ease-in-out infinite}.hero-flash:after{width:124%;transform:translate(-50%,-50%) rotate(71deg);animation-delay:.11s}.hero-flash span{position:absolute;bottom:-19px;left:2%;color:#fff;font-size:9px;letter-spacing:1.8px;text-shadow:0 0 12px #fff}.hero-flash-one{top:16%;left:5%;transform:rotate(-17deg) translateX(-140px)}.hero-flash-two{right:5%;bottom:13%;transform:rotate(16deg) translateX(140px)}@keyframes flash-core{0%,18%,64%,100%{opacity:.38;scale:.62}19%,28%,70%{opacity:1;scale:1.09}}@keyframes flash-warm{0%,23%,62%,100%{opacity:.24;scale:.55}24%,32%,71%{opacity:.98;scale:1.1}}@keyframes flash-beam{0%,20%,100%{opacity:.22;filter:blur(2px)}25%,31%,72%{opacity:1;filter:blur(0)}}
.hero-sticky,.cinema-sticky{contain:layout paint}
.cinema-frame{contain:layout paint;will-change:auto}
.project-visual>img,.project-visual>video{transform:translate3d(0,var(--media-shift,0px),0) scale(1.075);transition:transform .8s var(--ease-focus)}
.project-open:hover .project-visual>img,.project-open:hover .project-visual>video{transform:translate3d(0,var(--media-shift,0px),0) scale(1.11)}
.project-visual:before{content:'';position:absolute;inset:15px;z-index:2;pointer-events:none;opacity:0;transform:scale(1.025);transition:opacity .45s,transform .65s var(--ease-focus);background:linear-gradient(white,white) top left/22px 1px,linear-gradient(white,white) top left/1px 22px,linear-gradient(white,white) top right/22px 1px,linear-gradient(white,white) top right/1px 22px,linear-gradient(white,white) bottom left/22px 1px,linear-gradient(white,white) bottom left/1px 22px,linear-gradient(white,white) bottom right/22px 1px,linear-gradient(white,white) bottom right/1px 22px;background-repeat:no-repeat}
.project-open:hover .project-visual:before,.project-open:focus-visible .project-visual:before{opacity:.7;transform:scale(1)}
.project-open:hover .project-action{background:#ffffffec;color:#151516;border-color:#ffffff}
.js-motion .reveal{transform:translate3d(0,30px,0);transition:opacity .8s var(--ease-focus),transform 1s var(--ease-focus);transition-delay:var(--reveal-delay,0ms)}
.js-motion .reveal.visible{transform:none}
.model-stage{height:clamp(550px,42.36vw,700px)}
.model-info{padding-left:clamp(28px,2.92vw,50px);padding-top:clamp(30px,2.92vw,50px)}
.model-info>.eyebrow{margin-bottom:clamp(105px,9.73vw,185px)}
.model-info h3{font-size:clamp(38px,4.17vw,64px)}
.model-stage:after{content:'';position:absolute;inset:13% 7% 13% 35%;border:1px solid #65726713;border-radius:50%;pointer-events:none;z-index:-1;transform:rotate(var(--stage-turn,0deg)) scaleY(.74)}
.model-viewport model-viewer,.perfume-canvas{transition:opacity .6s var(--ease-focus)}
.model-poster{transition:opacity .45s var(--ease-focus)}
.model-controls{transition:box-shadow .4s}
.model-controls:focus-within{box-shadow:0 3px 24px #26322618}
.model-info.is-entering{animation:model-enter .5s var(--ease-focus) both}
@keyframes model-enter{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
dialog[open]{animation:dialog-enter .35s var(--ease-focus)}
dialog[open]::backdrop{animation:backdrop-enter .3s ease-out}
@keyframes dialog-enter{from{opacity:0;translate:0 12px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
summary i:after{transition:transform .35s var(--ease-focus)}
@supports (interpolate-size:allow-keywords){
  details{interpolate-size:allow-keywords}
  details::details-content{height:0;overflow:clip;opacity:0;transition:height .45s var(--ease-focus),opacity .3s,content-visibility .45s;transition-behavior:allow-discrete}
  details[open]::details-content{height:auto;opacity:1}
}
@media(min-width:761px){
  .hero-copy h1{font-size:clamp(82px,10.8vw,176px)}
  .hero-copy{top:clamp(165px,25svh,320px)}
  .work-heading{flex-wrap:wrap}
  .project-grid{column-gap:clamp(24px,2.78vw,44px);row-gap:clamp(45px,4.86vw,78px)}
  .project:nth-child(2),.project:nth-child(4){margin-top:clamp(70px,9.38vw,150px)}
  .about-layout{gap:clamp(45px,9vw,170px)}
  .about-intro h2{font-size:clamp(42px,5.1vw,84px)}
}
@media(max-width:760px){
  .brand{width:clamp(98px,28vw,150px)}
  .site-header{gap:16px;height:78px}
  .site-header.scrolled{height:70px}
  .site-header nav{gap:clamp(10px,3.2vw,23px)}
  .site-header nav{margin-left:0}
  .language-switcher{position:absolute;right:var(--pad);top:76px;margin:0;transform:scale(.9);transform-origin:right top}
  .site-header nav a,.site-header nav a.nav-3d{font-size:clamp(10.5px,3vw,14px);white-space:nowrap}
  .hero-sticky{height:100svh;min-height:660px}
  .hero-copy{top:clamp(112px,17svh,170px)}
  .hero-copy h1{font-size:clamp(72px,18vw,130px)}
  .hero-description{font-size:clamp(15px,3.7vw,17px);margin-top:clamp(20px,3svh,28px)}
  .hero-copy .eyebrow{font-size:clamp(9px,2.6vw,11px);letter-spacing:.6px;margin-bottom:22px}
  .hero-art.hero-lens{top:49%;height:57%;left:8%;width:118vw}
  .focus-reticle{top:76%;left:64%;width:94vw;opacity:.45}
  .hero-flash{width:46vw;height:29vw}.hero-flash-one{left:-3%;top:16%}.hero-flash-two{right:-3%;bottom:17%}
  .hero-second p{font-size:clamp(38px,10vw,70px)}
  .hero-bottom{bottom:22px;gap:8px}
  .discipline-strip .focus-symbol{width:24px;flex-basis:24px}
  .work-heading h2{font-size:clamp(62px,14vw,100px)}
  .work-section,.explore-section,.about-section{padding-top:clamp(58px,10vw,85px)}
  .explore-heading{margin:clamp(30px,6vw,45px) 0}
  .explore-heading h2{font-size:clamp(36px,9.6vw,68px)}
  .model-stage{height:clamp(575px,145vw,665px)}
  .model-info{left:clamp(18px,5vw,30px);right:clamp(18px,5vw,30px);top:25px;padding:0}
  .model-info>.eyebrow{margin-bottom:14px}
  .model-info h3{font-size:clamp(28px,8.4vw,38px)}
  .model-viewport{top:128px;height:calc(100% - 190px)}
  .model-stage:after{inset:25% 4% 13%;transform:rotate(var(--stage-turn,0deg)) scaleY(.9)}
  .model-tabs button{min-height:46px;font-size:clamp(11px,3.05vw,14px);padding:12px 8px;gap:clamp(5px,1.8vw,10px)}
  #model-materials{margin-top:17px}
  .model-info>p:not(.eyebrow){max-width:62%;font-size:clamp(11px,2.8vw,13px)}
  .model-controls button{min-width:44px;height:44px}
  .model-controls{bottom:16px}
  .model-corner{bottom:78px}
  .model-foot p{font-size:clamp(10px,2.7vw,12px);gap:5px}
  .closing h2{font-size:clamp(54px,12vw,90px)}
  .closing-orbit.focus-symbol{right:-17%;bottom:-10%}
  .footer-bottom{margin-top:clamp(28px,7vw,48px)}
  .project-visual>img,.project-visual>video{transform:translate3d(0,var(--media-shift,0px),0) scale(1.06)}
}
@media(max-width:360px){
  .hero-copy .eyebrow{gap:7px}
  .hero-bottom>span:last-child{max-width:84px;font-size:9px}
  .scroll-cue{font-size:9px;max-width:165px}
  .filters button{padding:12px 14px}
  .model-foot p>span{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  .focus-reticle{display:none}
  .hero-flash{display:none}
  .project-visual>img,.project-visual>video,.project-open:hover .project-visual>img,.project-open:hover .project-visual>video{transform:none!important}
  .js-motion .reveal{opacity:1;transform:none}
  dialog[open],dialog[open]::backdrop,.model-info.is-entering{animation:none}
}
.motion-paused .focus-reticle{opacity:.2!important}
.motion-paused .hero-flash{display:none}
.motion-paused .project-visual>img,.motion-paused .project-visual>video{transform:none!important}
.motion-paused .model-info.is-entering{animation:none}

/* Paid media: a live-looking reading room for the campaigns behind the work. */
.performance-section{padding:clamp(76px,10vw,155px) var(--pad);background:#111114;color:#f6f6f2;overflow:hidden;position:relative}.performance-section:before{content:'';position:absolute;width:min(82vw,1080px);aspect-ratio:1;right:-28%;top:-60%;border-radius:50%;background:radial-gradient(circle,#ff653b24 0,transparent 66%);pointer-events:none}.performance-section .section-top{position:relative}.performance-section .section-note{color:#b9b9bc}.performance-layout{position:relative;display:grid;grid-template-columns:minmax(0,.84fr) minmax(420px,1.16fr);gap:clamp(45px,9vw,160px);align-items:end;margin-top:clamp(58px,9vw,135px)}.performance-intro h2{font-size:clamp(54px,7vw,118px);font-weight:500;line-height:.9;letter-spacing:-.078em}.performance-intro h2 em{color:var(--accent);font-family:Georgia,serif;font-weight:400}.performance-intro>p{max-width:410px;margin-top:34px;color:#bcbcc2;font-size:16px;line-height:1.7}.ad-platforms{display:flex;align-items:center;gap:12px;margin-top:42px;flex-wrap:wrap}.ad-platforms span{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid #ffffff2c;border-radius:99px;font-size:12px;color:#e9e9e7;background:#ffffff08}.ad-platforms i{width:19px;height:19px;display:grid;place-items:center;font-style:normal}.meta-mark{font-size:27px;line-height:1;color:#8ba5ff}.google-mark{border-radius:50%;border:4px solid #4385f5;border-top-color:#e94235;border-right-color:#fabb05;border-bottom-color:#34a853}.performance-dashboard{min-height:430px;border:1px solid #ffffff28;border-radius:16px;padding:clamp(20px,3vw,36px);background:linear-gradient(145deg,#202025,#121215 60%);box-shadow:0 30px 65px #0005;position:relative;overflow:hidden}.performance-dashboard:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 0 42%,#ffffff08 50%,transparent 58%);transform:translateX(-100%);animation:dashboard-sweep 5.5s ease-in-out infinite;pointer-events:none}.dashboard-top{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.4px;color:#c7c7cc}.dashboard-top i{width:5px;height:5px;border-radius:50%;background:#7de5b2;box-shadow:0 0 12px #7de5b2}.dashboard-top b{margin-left:auto;font-size:9px;letter-spacing:1px;color:#7de5b2;font-weight:500}.dashboard-chart{height:clamp(180px,18vw,238px);margin:24px -5px 25px}.dashboard-chart svg{width:100%;height:100%;overflow:visible}.chart-grid{stroke:#ffffff13;stroke-width:1}.chart-area{fill:url(#chartGradient);fill:#ff653b14}.chart-line{fill:none;stroke:#ff714c;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 7px #ff653b80);stroke-dasharray:900;stroke-dashoffset:900;animation:chart-draw 2.1s var(--ease-focus) forwards}.dashboard-chart circle{fill:#fff5ec;stroke:#ff653b;stroke-width:3;filter:drop-shadow(0 0 8px #ff653b);animation:chart-dot 1.8s ease-in-out infinite}.dashboard-chart circle:nth-of-type(2){animation-delay:.32s}.dashboard-chart circle:nth-of-type(3){animation-delay:.65s}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff1e;padding-top:20px;gap:12px}.metric-row div{min-width:0}.metric-row span{display:block;font-size:10px;color:#a6a6ad;letter-spacing:.7px;text-transform:uppercase;white-space:nowrap}.metric-row strong{display:inline-block;font-size:clamp(28px,3.2vw,45px);font-weight:400;letter-spacing:-.07em;margin-top:8px}.metric-row i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin:0 0 4px 5px}.dashboard-caption{margin-top:22px;color:#a6a6ad;font-size:12px;letter-spacing:.1px}.performance-section .reveal{position:relative}@keyframes chart-draw{to{stroke-dashoffset:0}}@keyframes chart-dot{50%{scale:1.55;opacity:.55}}@keyframes dashboard-sweep{20%,100%{transform:translateX(120%)}}
@media(max-width:900px){.performance-layout{grid-template-columns:1fr;gap:46px}.performance-dashboard{min-height:380px;max-width:760px}.performance-intro>p{max-width:550px}}
@media(max-width:760px){.performance-section{padding-block:70px}.performance-layout{margin-top:50px;gap:38px}.performance-intro h2{font-size:clamp(48px,13vw,76px)}.performance-intro>p{font-size:15px;margin-top:27px}.ad-platforms{margin-top:32px}.performance-dashboard{min-height:330px;padding:20px 17px;border-radius:11px}.dashboard-chart{height:150px;margin:18px -2px}.metric-row{gap:8px;padding-top:16px}.metric-row span{font-size:8px;letter-spacing:.45px}.metric-row strong{font-size:31px}.dashboard-caption{font-size:11px;margin-top:18px}}
@media(prefers-reduced-motion:reduce){.performance-dashboard:after,.chart-line,.dashboard-chart circle{animation:none}.chart-line{stroke-dashoffset:0}}
