/* ================= DESCEND: bedrock footer, the lobby shaft kept inside the hero, and the Start a project descent ================= */

/* footer: solid bedrock with the brass plate */
.foot__scene--rock{display:grid;place-items:center;height:clamp(280px,24vw,340px);
  background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.25) 40%,rgba(0,0,0,.6)),url(img/earth/bedrock-1440.webp) center/cover no-repeat,#151515}
@media (max-width:820px){.foot__scene--rock{background-image:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.25) 40%,rgba(0,0,0,.6)),url(img/earth/bedrock-800.webp)}}
.fplate{position:relative;display:flex;flex-direction:column;align-items:flex-start;width:min(300px,78vw);padding:22px 22px 18px;text-decoration:none;color:#2A1F0E;border-radius:2px;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 2px,rgba(0,0,0,.035) 2px 3px),linear-gradient(160deg,#E6CF9C 0%,#C9AA6A 28%,#B8975A 52%,#A4844A 76%,#C2A465 100%);
  box-shadow:inset 0 1px 0 rgba(255,246,222,.75),inset 1px 0 0 rgba(255,246,222,.35),inset 0 -1px 0 rgba(70,52,22,.55),inset -1px 0 0 rgba(70,52,22,.35),0 2px 2px rgba(0,0,0,.4),0 14px 28px -8px rgba(0,0,0,.6)}
.fplate__t{font:800 34px/.95 var(--display);text-transform:uppercase;letter-spacing:.03em;text-shadow:0 1px 0 rgba(255,244,214,.55)}
.fplate__s{margin-top:8px;font:700 11px/1.3 var(--text);letter-spacing:.18em;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,244,214,.55)}
.fplate__button{position:relative;align-self:center;width:34px;height:34px;margin-top:18px;border-radius:50%;overflow:hidden;border:1px solid #535557;
  background:conic-gradient(from 15deg,#8D9296,#E0E3E4 45deg,#6D7479 95deg,#CDD2D5 145deg,#F1F3F4 180deg,#777E83 240deg,#D7DCDF 300deg,#8D9296);
  box-shadow:0 1px 2px #0006,inset 0 0 0 2px #BAC0C3,inset 0 0 0 3px #61686D}
html.glass-materials .fplate__button{border:0;background:var(--lift-button) center/contain no-repeat;box-shadow:none}
.fplate__button::after{content:"";position:absolute;inset:5px;border-radius:50%;opacity:0;transition:opacity .2s ease;
  box-shadow:0 0 0 1px #E0302A,0 0 2.5px 1px rgba(224,48,42,.7),inset 0 0 2.5px 1px rgba(224,48,42,.6)}
.fplate:hover .fplate__button::after,.fplate:focus-visible .fplate__button::after{opacity:1}
.fplate:focus-visible{outline:2px solid #AABBC5;outline-offset:4px}
.fplate__fix{position:absolute;width:7px;height:7px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F4E2B4,#9C7C42 70%)}
.fplate__fix--tl{left:7px;top:7px}.fplate__fix--tr{right:7px;top:7px}.fplate__fix--bl{left:7px;bottom:7px}.fplate__fix--br{right:7px;bottom:7px}
@media (prefers-reduced-motion:reduce){.fplate__button::after{transition:none}}

/* ---------- the descent overlay ---------- */
.dsc{position:fixed;inset:0;z-index:400;overflow:hidden;pointer-events:auto;contain:strict}
.dsc[hidden]{display:none}
.dsc__dim{position:absolute;inset:0;background:#000;opacity:0}
.dsc__stage{position:absolute;inset:0;will-change:transform}
.dsc__shaft{position:absolute;inset:0;overflow:hidden;opacity:0}
.dsc__strip{position:absolute;left:0;right:0;top:0;will-change:transform}
.dsc__band{position:relative;height:70vh;background:#111 center/cover no-repeat}
.dsc__band::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.55))}
.dsc__slab{position:relative;height:30px;background:linear-gradient(180deg,#3a3b3a,#232423 60%,#141514);box-shadow:0 2px 0 #000,0 -1px 0 #4a4b4a}
.dsc__slab::after{content:"";position:absolute;left:0;right:0;top:55%;height:2px;background:#F2C66A;box-shadow:0 0 10px 2px rgba(242,198,106,.65)}
.dsc__slab b{position:absolute;left:clamp(16px,6vw,96px);top:-26px;font:700 13px/1 var(--text);letter-spacing:.18em;color:#F2E6C8}
.dsc__doors{position:absolute;inset:0;pointer-events:none;overflow:hidden} /* the ride doors pocket inside the lift opening: open leaves never sit over the wall or its text */
.dsc__door{position:absolute;top:0;bottom:0;width:50.5%;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px),linear-gradient(160deg,#E6CF9C 0%,#C9AA6A 28%,#B8975A 52%,#A4844A 76%,#C2A465 100%);
  box-shadow:inset 0 0 0 1px rgba(70,52,22,.6),inset 0 0 60px rgba(70,52,22,.35);will-change:transform}
.dsc__door--l{left:0;transform:translateX(-101%)}.dsc__door--r{right:0;transform:translateX(101%)}
.dsc__read{position:absolute;left:clamp(16px,4vw,48px);top:clamp(16px,4vh,40px);z-index:5;padding:10px 14px;background:rgba(0,0,0,.72);border:1px solid #6E5730;
  color:#F2E6C8;font:600 12px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;font-variant-numeric:tabular-nums;opacity:0}
.dsc__read span{display:block;margin-top:6px;font:800 26px/1 var(--display);letter-spacing:.02em}
.dsc__rock{position:absolute;inset:0;opacity:0;background:#DCE1E3}
.dsc__light{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 100%,#FFFFFF 0,#F5F7F8 35%,#DCE1E3 80%);opacity:0}
.dsc__half{position:absolute;top:0;bottom:0;width:50.4%;background:#1a1a1a center/cover no-repeat;will-change:transform}
.dsc__half::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.5))}
.dsc__half--l{left:0;clip-path:polygon(0 0,100% 0,96% 22%,100% 41%,93% 63%,99% 81%,95% 100%,0 100%)}
.dsc__half--r{right:0;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,4% 82%,-2% 64%,6% 42%,1% 22%)}
.dsc__crack{position:absolute;left:50%;top:0;bottom:0;width:4px;margin-left:-2px;background:linear-gradient(180deg,transparent,#FFF7E0 20%,#FFFFFF 50%,#FFF7E0 80%,transparent);
  box-shadow:0 0 18px 6px rgba(255,247,224,.8);opacity:0;transform:scaleY(0);will-change:transform,opacity}
.dsc__dust{position:absolute;left:0;right:0;bottom:0;height:40vh;pointer-events:none}
.dsc__dust i{position:absolute;bottom:-12vh;width:var(--s);height:var(--s);margin-left:calc(var(--s) / -2);background:url("img/ride/dust-sprite.webp") calc(var(--f) * 33.333%) 0/400% 100% no-repeat;opacity:0;will-change:transform,opacity}
@media (min-resolution:1.5dppx){.dsc__dust i{background-image:url("img/ride/dust-sprite@2x.webp")}}
.dsc__haze{position:absolute;left:0;right:0;bottom:0;height:100%;background:url("img/ride/dust-haze.webp") center bottom/cover no-repeat;opacity:0;will-change:transform,opacity}
@media (prefers-reduced-motion:reduce){.dsc__dust{display:none}}
.dsc__skip{position:absolute;right:clamp(16px,4vw,48px);top:clamp(16px,4vh,40px);z-index:9;min-height:40px;padding:0 16px;border:1px solid #AABBC5;background:rgba(0,0,0,.6);
  color:#F2F2EE;font:600 12px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.dsc__skip:focus-visible{outline:2px solid #AABBC5;outline-offset:3px}
/* S5: the ground floor */
.dsc__ground{position:absolute;inset:0;z-index:8;overflow:auto;overscroll-behavior:contain;background:#F5F7F8;color:#0B0B0B;opacity:0;visibility:hidden}
.dsc.is-ground .dsc__ground{visibility:visible}
.dsc.is-ground .dsc__skip{display:none}
.dsc__in{max-width:1180px;margin:0 auto;padding:clamp(20px,4vw,56px) clamp(16px,3vw,40px) 64px}
.dsc__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:clamp(24px,4vw,48px)}
.dsc__back{min-height:40px;padding:0 16px;border:1px solid #0B0B0B;background:none;color:#0B0B0B;font:600 12px/1 var(--text);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.dsc__back:focus-visible{outline:2px solid #1F4E5F;outline-offset:3px}
.dsc__lv{font:600 12px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:#4A5257}
.dsc__h{margin:0;font:800 clamp(56px,8vw,120px)/.92 var(--display);text-transform:uppercase;letter-spacing:.005em;color:#0B0B0B}
.dsc__h:focus{outline:none}
.dsc__line{margin:14px 0 clamp(24px,3vw,40px);font-size:clamp(18px,1.6vw,22px);color:#2B3134}
.dsc__ground .tb{box-shadow:0 18px 40px -18px rgba(0,0,0,.45)}
html.dsc-open,html.dsc-open body{overflow:hidden}
/* L0 reference: brass Book a discovery call in the top bar */
/* Book a discovery call: quiet brass hairline in the nav row (see system.css .dirbar__book) */
/* bedrock landing: the lift arrives in the rock, its shaft comes down from above, the plate sits beside it */
.foot__scene--rock{display:block;position:relative;height:clamp(340px,28vw,400px)}
.foot__scene--rock .foot__lift{right:calc(var(--gut) + var(--pier) + 40px)}
.foot__scene--rock .foot__lift::before{content:"";position:absolute;left:-6px;right:-6px;bottom:100%;height:200px;
  background:linear-gradient(90deg,#B8975A 0 3px,rgba(10,12,13,.88) 3px calc(100% - 3px),#B8975A calc(100% - 3px)),#0B0C0D;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),0 0 0 4px rgba(20,20,20,.7)}
.foot__scene--rock .fplate{position:absolute;bottom:clamp(40px,4vw,70px);right:calc(var(--gut) + var(--pier) + 40px + var(--lw) + 56px);width:240px}
@media (max-width:820px){
  .foot__scene--rock{height:auto;display:flex;flex-direction:column;align-items:center;gap:28px;padding:56px 16px 32px}
  .foot__scene--rock .foot__lift{position:relative;right:auto}
  .foot__scene--rock .foot__lift::before{height:40px}
  .foot__scene--rock .fplate{position:relative;right:auto;bottom:auto}
}
/* footer plate, all widths: no wider than one door leaf (~59px), about half the door height, top below the door top,
   mounted on the wall beside the lift at hand height rather than on the floor. Label stays 12px; the secondary line is dropped. */
.foot__scene--rock .fplate{width:58px;min-height:0;height:calc(var(--lh) * .46);justify-content:center;padding:9px 6px 8px;align-items:center;text-align:center;bottom:calc(var(--lh) * .2);right:calc(var(--gut) + var(--pier) + 40px + var(--lw) + 18px)}
.foot__scene--rock .fplate__t{font-size:12px;line-height:1.05;letter-spacing:.02em}
.foot__scene--rock .fplate__s{display:none}
.foot__scene--rock .fplate__button{width:20px;height:20px;margin-top:8px}
.foot__scene--rock .fplate__fix{width:4px;height:4px}
.foot__scene--rock .fplate__fix--tl,.foot__scene--rock .fplate__fix--bl{left:3px}.foot__scene--rock .fplate__fix--tr,.foot__scene--rock .fplate__fix--br{right:3px}
.foot__scene--rock .fplate__fix--tl,.foot__scene--rock .fplate__fix--tr{top:3px}.foot__scene--rock .fplate__fix--bl,.foot__scene--rock .fplate__fix--br{bottom:3px}
/* phones: the same desktop lift (built-in landing with the rendered frame and doors) at desktop size, standing on the ground slab */
@media (max-width:819px){
  .foot__scene.foot__scene--rock{flex-direction:row-reverse;justify-content:center;align-items:flex-end;gap:18px;padding:64px 16px 0;min-height:340px}
  .foot__scene--rock .foot__lift{flex:none;margin:0}
  .foot__scene--rock .fplate{position:relative;right:auto;bottom:auto;flex:none;margin-bottom:calc(var(--lh) * .2)}
  html.glass-on [data-foot-lift] .nyl__car,html.glass-on [data-foot-lift] .nyl__door,html.glass-on [data-foot-lift] .nyl__seam{display:none}
  html.glass-on .foot__scene--rock .bilt--street{display:block}
}


/* descend-renders: rendered brass plate surface, ride rock halves, daylight and crack frames */
html.glass-materials .fplate{background:linear-gradient(rgba(255,240,200,.18),rgba(255,240,200,.18)),#B8975A var(--lift-plate-wide) center/100% 100% no-repeat}
.dsc.has-art .dsc__half{width:100%;clip-path:none;background-color:transparent}
.dsc.has-art .dsc__half::after{display:none}
.dsc.has-art .dsc__half--l{left:0}.dsc.has-art .dsc__half--r{right:0}
.dsc.has-art .dsc__light{background:#F5F7F8 center/cover no-repeat}
.dsc.has-art .dsc__rock{background:#151515 center/cover no-repeat}
.dsc.has-art .dsc__crack{display:none}
/* descend-renders: the footer lift wears the rendered glass and brass cab (one lift). Hit areas, call button and doors keep their behavior. */
.foot__scene--rock .foot__canopy,.foot__scene--rock .foot__cast,.foot__scene--rock .foot__lift::before{display:none}
.foot__scene--rock .foot__frame{margin-top:0}
.foot__scene--rock .foot__box{outline:0;background:url(img/earth/bedrock-cab-open.webp) center/100% 100% no-repeat;
  background-image:image-set(url(img/earth/bedrock-cab-open.webp) 1x,url(img/earth/bedrock-cab-open@2x.webp) 2x);filter:drop-shadow(0 18px 22px rgba(0,0,0,.55))}
.foot__scene--rock .nyl{background:transparent}
.foot__scene--rock .nyl__head{position:absolute;left:0;right:0;top:0;height:5.6%;background:transparent;border:0;z-index:3}
.foot__scene--rock .nyl__dial{display:none}
.foot__scene--rock .nyl__call{position:absolute;right:0;top:0;width:34px;height:100%;min-height:18px;background:transparent;border:0;color:transparent}
.foot__scene--rock .nyl__call:focus-visible{outline:2px solid #AABBC5;outline-offset:2px}
.foot__scene--rock .nyl__opening{position:absolute;left:6.97%;right:6.97%;top:5.51%;bottom:1.86%;background:transparent}
.foot__scene--rock .nyl__car{background:transparent}
.foot__scene--rock .nyl__seam,.foot__scene--rock .nyl__engr{display:none}
.foot__scene--rock .nyl__door{background:url(img/elevator/door-left.webp) center/100% 100% no-repeat;box-shadow:none;border:0}
.foot__scene--rock .nyl__door--r{background-image:url(img/elevator/door-right.webp)}
/* the street landing (side-shaft transfer target) keeps its cab, doors and timing; the rendered frame above replaces its drawn frame and head */
html.glass-materials .foot__scene--rock .bilt--street .bilt__frame{background:none;box-shadow:none;--jb:0px;--hd:0px}
html.glass-materials .foot__scene--rock .bilt--street .bilt__frame::before,.foot__scene--rock .bilt--street .bilt__head,.foot__scene--rock .bilt--street .bilt__rail{display:none}
.foot__scene--rock .bilt--street .bilt__well{background:transparent;box-shadow:none;border:0;inset:0}
.foot__scene--rock .bilt--street .glc{display:none!important}
/* door renders cover half the outer frame; scale so the glass leaf fills half the opening */
html.glass-materials .foot__scene--rock .bilt--street .bilt__door--l,.foot__scene--rock .nyl__door--l{background-size:116.2% 104.6%;background-position:right bottom}
html.glass-materials .foot__scene--rock .bilt--street .bilt__door--r,.foot__scene--rock .nyl__door--r{background-size:116.2% 104.6%;background-position:left bottom}
.foot__scene--rock .bilt--street .bilt__door{top:0!important;bottom:0!important;height:auto!important;width:50%!important;margin:0!important}
.foot__scene--rock .bilt--street .bilt__door--l{left:0!important}.foot__scene--rock .bilt--street .bilt__door--r{right:0!important;left:auto!important}

/* phones: the Ground floor arrival (the brief after the ride) gets daylight from above. A warm off-white wash on
   the top edge of the screen that fades out within about 180px. No height, no images, no layout shift. */
@media (max-width:819px){
  .dsc__ground::before{content:"";position:absolute;left:0;right:0;top:0;height:180px;pointer-events:none;z-index:0;
    background:radial-gradient(120% 100% at 50% 0,rgba(255,240,206,.75) 0,rgba(255,240,206,.32) 45%,rgba(255,240,206,0) 100%),
      linear-gradient(180deg,rgba(255,236,196,.55) 0,rgba(255,236,196,0) 3px)}
  .dsc__in{position:relative;z-index:1}
}
/* phones: the footer lift keeps its LIFT 403 · BEDROCK head, scaled to the 140px lift */
@media (max-width:819px){
  html.glass-on .foot__scene--rock .gl-streetno{display:flex;align-items:center;height:100%;padding-left:8px;font:600 8.5px/1 var(--text);letter-spacing:.12em;text-transform:uppercase;color:#B9BDBF;white-space:nowrap;overflow:hidden}
}

/* ---------- start path: a short bridge screen after the ride, then the project brief ---------- */
.dsc__brief{display:none}
.dsc.is-brief .dsc__bridge{display:none}
.dsc.is-brief .dsc__brief{display:block}
.dsc__lv{margin-left:auto;font-size:11px;color:#4A5257}
.dsc__bh{margin:0;font:800 clamp(48px,7vw,104px)/.92 var(--display);text-transform:uppercase;letter-spacing:.005em;color:#0B0B0B}
.dsc__bh:focus{outline:none}
.dsc__cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);margin:clamp(24px,3.5vw,48px) 0}
.dsc__col{border-top:2px solid #0B0B0B;padding-top:16px}
.dsc__k{margin:0 0 14px;font:600 12px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:#7A6136}
.dsc__list{margin:0;padding:0;list-style:none;display:grid;gap:12px;font-size:clamp(16px,1.3vw,19px);line-height:1.45;color:#1E2427}
.dsc__list li{padding-left:22px;position:relative}
.dsc__list li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:2px;background:#B8975A}
.dsc__list--n{counter-reset:n}
.dsc__list--n li{counter-increment:n}
.dsc__list--n li::before{content:counter(n,decimal-leading-zero);top:.18em;width:auto;height:auto;background:none;font:700 12px/1.6 var(--text);color:#7A6136}
.dsc__list--n li{padding-left:30px}
.dsc__acts{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.dsc__continue{min-height:56px;padding:0 28px;border:2px solid #B8975A;background:#0B0B0B;color:#fff;font:800 22px/1 var(--display);letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.dsc__continue:hover{background:#1C1C1C}
.dsc__continue:focus-visible,.dsc__slop:focus-visible{outline:2px solid #1F4E5F;outline-offset:3px}
.dsc__slop{color:#0B0B0B;font-size:16px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#B8975A;text-decoration-thickness:2px}
.dsc__brief .dsc__h{font-size:clamp(44px,6vw,88px)}
@media (max-width:819px){
  .dsc__cols{grid-template-columns:1fr;gap:24px}
  .dsc__continue{width:100%;font-size:20px}
}

/* Project entry and browsing exits share one underlying draft form. */
.dsc__bar{position:sticky;top:0;z-index:10;flex-wrap:wrap;background:#F5F7F8;padding:12px 0;border-bottom:1px solid #c4cccf}
.dsc__overview{display:none;min-height:40px;padding:0 12px;border:1px solid #69757a;background:none;color:#0b0b0b;font:600 12px/1.3 var(--text);cursor:pointer}
.dsc.is-brief .dsc__overview{display:block}
.dsc__services{color:#0b0b0b;font:500 14px/1.4 var(--text);text-underline-offset:4px}
.dsc__overview:focus-visible,.dsc__services:focus-visible{outline:2px solid #1f4e5f;outline-offset:3px}
@media(max-width:819px){.dsc__bar{gap:10px}.dsc__lv{display:none}}
