/* A photographic stage with depth, designed around native scrolling. */
body{overflow-x:clip}
.motion-hero{position:relative;isolation:isolate;grid-template-columns:1.05fr .95fr;gap:0 36px;padding-top:58px;min-height:770px}
.motion-hero .hero-copy{position:relative;z-index:3;padding-bottom:42px}
.motion-hero h1{font-family:var(--sans);font-weight:600;letter-spacing:-.075em;font-size:clamp(68px,6.9vw,100px);line-height:1.04;margin-top:25px}
.motion-hero h1 em{font-family:var(--serif);font-weight:400;font-size:1.24em;letter-spacing:-.045em;line-height:.9}
.motion-hero .hero-description{max-width:420px;font-size:17px;margin-top:28px}
.motion-hero .professional{margin-top:24px}
.motion-hero .micro{max-width:400px}
.hero-atmosphere{position:absolute;z-index:-1;inset:-54px calc((100vw - 100%)/-2) 0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 82% 55%,#e4e6d7 0,transparent 48%),radial-gradient(ellipse at 43% 9%,#efe3da 0,transparent 49%),linear-gradient(135deg,#f7f3ed,var(--paper))}
.light-field{position:absolute;inset:10% -10% -18% 39%;border-radius:50%;background:radial-gradient(ellipse,#fffaf0b3,transparent 67%);transform:translate3d(0,var(--light-y,0px),0)}
.orbit{position:absolute;width:min(70vw,950px);height:min(70vw,950px);right:-6%;top:-4%;border:1px solid #74384026;border-radius:50%;transform:translate3d(0,var(--orbit-y,0px),0) rotate(var(--orbit-angle,-24deg)) scaleY(.58);opacity:.55}
.orbit-two{right:-11%;top:7%;transform:translate3d(0,var(--orbit-y,0px),0) rotate(calc(var(--orbit-angle,-24deg) + 24deg)) scaleY(.68);border-color:#3d473e25}
.orbit-three{right:-1%;top:15%;transform:translate3d(0,var(--orbit-y,0px),0) rotate(calc(var(--orbit-angle,-24deg) - 24deg)) scaleY(.42);border-color:#b88e7440}
.portrait-scene{position:relative;padding:0;align-self:end;height:660px;perspective:1100px}
.portrait-person{position:absolute;z-index:2;inset:0 0 -1px;transform:translate3d(var(--portrait-x,0px),var(--portrait-y,0px),0) rotateY(var(--portrait-turn,0deg));transform-origin:50% 80%}
.portrait-person picture{display:block;width:100%;height:100%}
.portrait-person img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(12px 16px 20px #30332d12)}
.scene-shadow{position:absolute;z-index:1;left:5%;right:0;bottom:6px;height:54px;background:radial-gradient(ellipse,#3d473e38,transparent 68%);transform:scaleX(.9)}
.portrait-scene .scene-caption{position:absolute;z-index:4;left:-30px;bottom:110px;display:flex;gap:12px;align-items:center;margin:0;padding:16px 24px;background:#fffaf1e8;border:1px solid #ffffffa6;border-radius:18px;box-shadow:0 15px 40px #30332d0d;font-size:12px;line-height:1.6;color:var(--ink);transform:translate3d(0,var(--caption-y,0px),0)}
.scene-caption strong{font-weight:600}
.scene-caption-dot{display:block;width:9px;height:9px;border-radius:50%;background:var(--wine);box-shadow:0 0 0 5px #7438400a}
.motion-hero .hero-bottom{position:relative;z-index:4;margin:0 calc((100vw - 100%)/-2);padding:20px max(56px,calc((100vw - 1240px)/2));display:flex;justify-content:flex-start;gap:14px;background:#f5f0e7a6;border-block:1px solid #d4cec173;min-height:64px}
.motion-hero .hero-bottom-note{margin-left:auto;font-family:var(--serif);font-size:21px;font-style:italic;color:var(--muted)}
.scroll-mark{width:12px;height:22px;display:block;border:1px solid #74384088;border-radius:10px;position:relative}
.scroll-mark:before{content:'';position:absolute;top:5px;left:4px;width:2px;height:5px;background:var(--wine);border-radius:2px}
.reveal-item{transition:opacity .7s ease,transform .85s cubic-bezier(.22,1,.36,1)}
.reveal-item.waiting{opacity:0;transform:translate3d(0,28px,0)}
.reveal-item.is-visible{opacity:1;transform:none}
.approach{background:radial-gradient(ellipse at 90% 15%,#586653 0,transparent 60%),var(--sage)}
.contact-art{perspective:900px;position:relative}
.encontro-sculpture{width:100%;height:420px;position:relative;transform-style:preserve-3d;transform:rotateX(var(--sculpture-x,-8deg)) rotateY(var(--sculpture-y,-16deg)) rotateZ(-12deg)}
.sculpture-ring{position:absolute;inset:14% 10%;border:20px solid #dbc2ad;border-radius:50%;box-shadow:inset 2px 3px 4px #fff5,2px 10px 18px #1820193d;transform:rotateY(54deg) rotateX(14deg);background:transparent}
.sculpture-ring:nth-child(2){inset:19% 13%;border-color:#aab49f;transform:translateZ(40px) rotateY(-46deg) rotateX(-12deg)}
.sculpture-ring:nth-child(3){inset:25% 19%;border-width:1px;border-color:#f5f0e77a;box-shadow:none;transform:translateZ(75px) rotateX(62deg)}
.sculpture-shadow{position:absolute;left:10%;right:10%;bottom:0;height:35px;background:radial-gradient(ellipse,#18201966,transparent 70%);transform:translateZ(-70px)}
.contact-art figcaption{position:relative;z-index:2;text-align:center;max-width:400px;font-size:25px}
.formats-grid article{border-radius:24px;transition:background .3s ease}
.formats-grid article:hover{background:#e9e4d86b}
.formats .text-link,.other-links a{transition:color .2s ease}
.formats .text-link:hover,.other-links a:hover{color:var(--wine)}
.button:active{transform:scale(.98)}
.about-photo{position:relative;margin-top:34px;max-width:440px}
.about-photo img{width:100%;height:auto}
.about-photo figcaption{padding-top:12px;font-size:11px;color:var(--muted);letter-spacing:.06em}
.about-copy{align-self:center}
.landing-hero.motion-hero{min-height:710px;padding-block:48px 60px;border-bottom:0}
.landing-hero-copy{position:relative;z-index:3;align-self:center}
.landing-hero.motion-hero h1{font-size:clamp(56px,5.8vw,82px);max-width:740px}
.landing-hero .portrait-scene{height:630px;align-self:end}
.landing-hero .hero-atmosphere{bottom:0}
@media(min-width:1101px){.recognition h2,.about h2,.formats h2,.start h2,.other h2{font-family:var(--sans);font-size:clamp(42px,4.4vw,62px);font-weight:400;line-height:1.12;letter-spacing:-.055em}.recognition h2 em,.about h2 em,.formats h2 em,.start h2 em,.other h2 em{font-family:var(--serif);font-size:1.18em}}
@media(min-width:760px) and (max-width:1100px){.motion-hero{min-height:700px;padding-top:42px;gap:0 20px}.motion-hero h1{font-size:clamp(62px,7.8vw,85px)}.portrait-scene{height:590px}.portrait-scene .scene-caption{left:-15px;bottom:80px;padding:12px 16px}.encontro-sculpture{height:340px}.sculpture-ring{border-width:16px}}
@media(max-width:759px){
  .motion-hero{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:35px;min-height:0}
  .motion-hero .hero-copy{padding:0;order:0}
  .motion-hero .eyebrow{font-size:10px;letter-spacing:.075em}
  .motion-hero h1{font-size:clamp(54px,13.3vw,83px);margin-top:20px;line-height:1.07}
  .motion-hero h1 em{font-size:1.23em}
  .motion-hero .hero-description{font-size:16px;line-height:1.65;max-width:440px;margin-top:22px}
  .motion-hero .professional{margin-top:18px;font-size:12px}
  .motion-hero .button{margin-top:20px;width:100%;min-height:54px}
  .motion-hero .micro{font-size:11px;line-height:1.65;margin-top:10px;max-width:400px}
  .hero-atmosphere{inset:-44px -24px 0;background:radial-gradient(ellipse at 72% 68%,#e4e6d7,transparent 50%),linear-gradient(135deg,#f7f3ed,var(--paper))}
  .light-field{inset:44% -20% -8% -20%}
  .orbit{width:145vw;height:145vw;top:auto;bottom:13%;right:-42%}
  .orbit-two{bottom:3%;right:-35%}.orbit-three{bottom:8%;right:-21%}
  .portrait-scene{order:1;align-self:stretch;height:clamp(390px,108vw,560px);margin:28px -10px 0}
  .portrait-person{inset:0 0 -1px}
  .portrait-scene .scene-caption{left:0;bottom:50px;font-size:11px;padding:12px 17px;border-radius:14px}
  .scene-shadow{bottom:0;left:5%;right:5%;height:35px}
  .motion-hero .hero-bottom{order:2;margin-inline:-24px;padding:19px 24px;min-height:61px;font-size:11px;gap:10px}
  .motion-hero .hero-bottom-note{font-size:17px}
  .encontro-sculpture{height:330px;max-width:440px;margin:auto}
  .sculpture-ring{border-width:16px}
  .contact-art figcaption{font-size:23px;margin-top:8px}
  .formats-grid article{border-radius:0}
  .landing-hero.motion-hero{min-height:0;padding-block:32px 0}
  .landing-hero.motion-hero h1{font-size:clamp(47px,11.7vw,72px);line-height:1.08}
  .landing-hero .portrait-scene{height:clamp(390px,108vw,560px);align-self:stretch}
  .landing-hero .landing-intro{margin-top:24px;font-size:16px;line-height:1.7}
  .landing-hero .scene-caption{left:0;max-width:90%;font-size:10px}
  .recognition h2,.about h2,.formats h2,.start h2,.other h2{font-family:var(--sans);font-size:clamp(36px,9.3vw,52px);font-weight:400;line-height:1.16;letter-spacing:-.06em}
  .recognition h2 em,.about h2 em,.formats h2 em,.start h2 em,.other h2 em{font-family:var(--serif);font-size:1.2em}
}
@media(max-width:359px){.hero-atmosphere{left:-18px;right:-18px}.motion-hero .hero-bottom{margin-inline:-18px;padding-inline:18px}.motion-hero .hero-bottom-note{display:none}.motion-hero h1{font-size:51px}.encontro-sculpture{height:290px}}
@media(prefers-reduced-motion:reduce){.reveal-item,.reveal-item.waiting,.reveal-item.is-visible{opacity:1;transform:none;transition:none}.portrait-person,.light-field,.orbit,.scene-caption,.encontro-sculpture{transition:none!important}}
