/* Prova 07 — a gallery of warm plaster, daylight and a longer sculpture orbit. */
.form-journey {
  --journey-progress:0;
  --stage-top:82px;
  padding:0;
  overflow:visible;
  scroll-margin-top:calc(var(--stage-top) - 90px);
  background:#e9e3d7;
}
.form-journey .journey-stage {
  position:relative;
  top:0;
  height:calc(100svh - var(--stage-top));
  min-height:570px;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  padding:28px 0 24px;
  isolation:isolate;
  transform:translateZ(0);
  contain:paint;
}
.form-journey[data-enhanced=true][data-motion=scroll] {
  height:calc(360svh - var(--stage-top));
}
.form-journey[data-enhanced=true][data-motion=scroll] .journey-stage {
  position:sticky;
  top:var(--stage-top);
}
.form-journey .section-top { padding-top:16px; align-items:center; }
.form-journey .journey-skip { display:flex; align-items:center; gap:17px; min-height:30px; }
.form-journey .journey-skip:hover { color:#8b7654; }
.form-journey .journey-skip span { font-size:16px; }
.form-journey .study-layout {
  display:grid;
  grid-template-columns:43% 57%;
  align-items:center;
  min-height:0;
  height:100%;
}
.form-journey .study-copy { padding:28px 0; }
.form-journey .study-copy h2 { font-size:clamp(38px,4.1vw,71px); margin:24px 0 28px; }
.form-journey .study-copy>p { font-size:16px; line-height:1.7; }
.form-journey .study-copy>p.study-note { font-size:13px; max-width:310px; }
.form-journey .sculpture-wrap { height:100%; min-height:0; margin:0 -3vw 0 0; }
.form-journey .figure-label { top:23px; right:3vw; color:#8d8a79; }
.form-journey .sculpture-host { cursor:default; }
.form-journey[data-interaction=free] .sculpture-host { cursor:grab; }
.form-journey[data-interaction=free] .sculpture-host:active { cursor:grabbing; }
.journey-phases { max-width:355px; margin-top:47px; }
.journey-phases ol { list-style:none; display:flex; gap:27px; padding:0; margin:0 0 15px; }
.journey-phases li { display:flex; gap:7px; font-size:11px; color:#8a8c7e; transition:color .35s; white-space:nowrap; }
.journey-phases li small { font-size:8px; align-self:center; color:#969989; }
.journey-phases li[aria-current] { color:#494b3f; }
.journey-phases li[aria-current] small { color:#907a57; }
.journey-track { height:1px; background:#d5d4c7; }
.journey-track span { display:block; height:1px; background:#897553; transform-origin:left; transform:scaleX(var(--journey-progress)); }
.journey-instruction { position:absolute; bottom:14px; left:50%; transform:translateX(-50%); z-index:2; display:flex; gap:12px; align-items:center; font-size:10px; color:#7d816f; white-space:nowrap; }
.journey-arrow { font-size:17px; }
.form-journey[data-phase="2"] .journey-instruction { color:#615944; }
.journey-foot { border-top:1px solid var(--line); padding-top:17px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.form-journey .model-caption { margin:0; }
.form-journey .model-caption p { line-height:1.6; }
.form-journey .model-caption small { display:inline; margin-left:14px; }
.explore-form { font-size:11px; min-height:44px; border-bottom:1px solid #a2a48e; padding:9px 0; white-space:nowrap; }
.explore-form:hover { color:#927852; border-color:#927852; }
.form-journey .journey-manual { display:none; }
.form-journey[data-interaction=free] .journey-manual { display:flex; }
.form-journey[data-interaction=free] .journey-phases { display:none; }
.form-journey[data-interaction=free] .study-controls { margin-top:42px; min-height:41px; }
.form-journey[data-interaction=free] .journey-instruction { display:none; }
.form-journey .camera-views { top:46px; right:3vw; }
.form-journey .model-actions { bottom:4px; }
.form-journey:not([data-enhanced=true]) .journey-phases,
.form-journey:not([data-enhanced=true]) .journey-instruction,
.form-journey:not([data-enhanced=true]) .explore-form { display:none; }
.form-journey[data-motion=reduced] .journey-instruction { display:none; }
.form-journey[data-motion=reduced] .journey-phases { display:none; }

@media(min-width:781px) and (max-height:760px) {
  .form-journey .journey-stage { padding-top:15px; padding-bottom:14px; min-height:475px; }
  .form-journey .study-copy h2 { font-size:clamp(36px,3.9vw,58px); margin:20px 0; }
  .form-journey .study-copy>p { font-size:14px; }
  .form-journey .study-copy>p.study-note { margin-top:12px; font-size:12px; }
  .journey-phases { margin-top:28px; }
  .journey-foot { padding-top:8px; }
}
@media(max-width:1100px) and (min-width:781px) {
  .form-journey .study-copy h2 { font-size:4.6vw; }
  .journey-phases ol { gap:18px; }
  .form-journey .model-caption small { display:block; margin-left:0; }
}
@media(max-width:780px) {
  .form-journey { --stage-top:76px; }
  .form-journey[data-enhanced=true][data-motion=scroll] { height:calc(310svh - var(--stage-top)); }
  .form-journey .journey-stage { min-height:484px; padding:10px 0 12px; }
  .form-journey .section-top { padding-top:8px; font-size:8px; }
  .form-journey .journey-skip { gap:10px; font-size:8px; min-height:30px; }
  .form-journey .study-layout { grid-template-columns:1fr; grid-template-rows:auto minmax(0,1fr); align-items:stretch; }
  .form-journey .study-copy { padding:17px 0 0; }
  .form-journey .study-copy .eyebrow { font-size:8px; letter-spacing:.08em; }
  .form-journey .study-copy h2 { font-size:clamp(30px,6.9vw,48px); margin:12px 0; line-height:1.07; }
  .form-journey .study-copy>p { font-size:11px; line-height:1.6; }
  .form-journey .study-copy>p br { display:none; }
  .form-journey .study-copy>p.study-note { display:none; }
  .form-journey .journey-phases { margin:18px 0 0; max-width:none; }
  .journey-phases ol { justify-content:space-between; margin-bottom:10px; gap:10px; }
  .journey-phases li { font-size:10px; }
  .form-journey .sculpture-wrap { height:100%; margin:0 -6vw; }
  .form-journey .figure-label { top:16px; right:6vw; font-size:8px; }
  .journey-instruction { bottom:9px; font-size:9px; }
  .journey-foot { gap:14px; padding-top:8px; }
  .form-journey .model-caption { gap:9px; font-size:8px; }
  .form-journey .model-caption small { display:block; margin:0; font-size:8px; max-width:150px; }
  .explore-form { font-size:10px; }
  .form-journey[data-interaction=free] .study-controls { margin-top:10px; min-height:38px; }
  .form-journey .camera-views { top:8px; right:6vw; left:6vw; justify-content:center; gap:23px; }
  .form-journey .camera-view,.form-journey .camera-view span { font-size:9px; }
  .form-journey[data-interaction=free] .figure-label { display:none; }
  .form-journey .model-actions { bottom:1px; padding:2px 10px; gap:19px; }
  .form-journey .rotate { width:36px; height:36px; }
  .form-journey .model-actions span { font-size:9px; }
}
@media(max-width:780px) and (max-height:700px) {
  .form-journey .study-copy { padding-top:8px; }
  .form-journey .study-copy h2 { font-size:30px; margin:9px 0; }
  .form-journey .journey-phases { margin-top:13px; }
  .form-journey .study-copy .eyebrow { display:none; }
}
@media(max-height:560px) {
  .form-journey .journey-stage { height:auto; min-height:600px; }
  .form-journey .study-layout { min-height:460px; }
  .form-journey .sculpture-wrap { min-height:330px; }
}
@media(max-width:400px) and (max-height:620px) {
  .form-journey .journey-stage { height:auto; min-height:710px; }
  .form-journey .study-layout { min-height:585px; }
  .form-journey .sculpture-wrap { min-height:370px; }
}
@media(prefers-reduced-motion:reduce) {
  .form-journey .journey-stage { position:relative!important; top:0!important; }
  .form-journey { height:auto!important; }
}

/* The sticky stage spans the viewport; padding keeps the reading area aligned. */
.form-journey .journey-stage { padding-left:var(--gutter); padding-right:var(--gutter); }
.journey-atmosphere {
  position:absolute;
  z-index:0;
  top:0;
  bottom:0;
  left:0;
  right:0;
  overflow:hidden;
  pointer-events:none;
  background:radial-gradient(ellipse at 6% 35%,#f7f3e9 0%,#f1ece1 28%,transparent 67%),linear-gradient(125deg,#ece5d7 18%,#dcd1bc 78%,#eae2d2);
}
.form-journey .journey-stage > .section-top,
.form-journey .journey-stage > .study-layout,
.form-journey .journey-stage > .journey-foot { position:relative; z-index:1; }
.form-journey .study-copy,
.form-journey .journey-stage > .section-top,
.form-journey .journey-stage > .journey-foot { transform:translateZ(0); }
.gallery-architecture {
  position:absolute;
  inset:-6% -4%;
  background:url('assets/gallery-light.svg') center / cover no-repeat;
}
.gallery-light {
  position:absolute;
  inset:-12%;
  background:radial-gradient(ellipse at 68% 7%,#fff8d9aa,transparent 56%),linear-gradient(116deg,transparent 33%,#fffdf08c 38%,#fff5d633 48%,transparent 62%);
  opacity:.28;
}
.gallery-grain {
  position:absolute;
  inset:0;
  opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.74' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='.65'/%3E%3C/svg%3E");
}
.journey-atmosphere::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#f3eee3a6,transparent 51%),linear-gradient(0deg,#e8e1d699,transparent 16%,transparent 89%,#e9e3d755);
}
.form-journey .section-top,.form-journey .journey-foot { border-color:#776b5030; }
.form-journey .journey-track { background:#8a765638; }
.form-journey .figure-label { color:#7b705b; }
.form-journey .camera-views,.form-journey .model-actions {
  background:#eee8dccc;
  backdrop-filter:blur(10px);
}
@media(max-width:780px) {
  .journey-atmosphere { background:radial-gradient(ellipse at 13% 9%,#f6f1e7 3%,transparent 63%),linear-gradient(130deg,#efe9dd 14%,#dcd0b9 100%); }
  .gallery-architecture { inset:-4% -58% -4% -42%; background-position:60% 50%; opacity:.8; }
  .journey-atmosphere::after { background:linear-gradient(180deg,#f3eee3aa,transparent 45%,transparent 86%,#e8e1d677); }
}
@media(prefers-reduced-motion:reduce) {
  .gallery-architecture,.gallery-light { transform:none; }
}
