.project-enquiry{--lamp-power:1;--gold:255,208,60;position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);align-items:center;gap:clamp(30px,5vw,78px);min-height:calc(100svh - 88px);padding:clamp(36px,5vh,62px) var(--pad);background:radial-gradient(ellipse 70% 80% at 19% 44%,rgba(255,208,60,.09),transparent 69%),radial-gradient(ellipse 90% 90% at 50% 40%,#11100c 0%,#070706 58%,#030302 100%);color:#f6f1e4}
.project-enquiry::before{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;opacity:.075;mix-blend-mode:screen;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.project-enquiry::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 52% 46%,transparent 38%,rgba(0,0,0,.7) 100%)}
.project-enquiry:not(.is-lit){--lamp-power:0}
.enquiry-left,.enquiry-card-wrap{position:relative;z-index:1;min-width:0}
.enquiry-index{display:flex;justify-content:space-between;gap:20px;align-items:center;color:#8f897a;font:9px var(--mono);letter-spacing:.13em;text-transform:uppercase}
.enquiry-location{color:#6f6a5e;text-align:right}
.enquiry-copy{max-width:660px;margin-top:clamp(30px,5vh,58px)}
.project-enquiry .eyebrow{color:#b9ae92}
.project-enquiry .eyebrow-dot{background:#ffd75e;box-shadow:0 0 0 4px #ffd75e20,0 0 14px #ffd75e70}
.enquiry-copy h1{max-width:650px;margin:25px 0 19px;font-size:clamp(48px,5.3vw,82px);font-weight:500;line-height:.94;letter-spacing:-.075em;color:#f6f1e4}
.enquiry-copy h1 em{font-family:var(--serif);font-weight:500;letter-spacing:-.06em;color:#ffe197}
.enquiry-lede{max-width:480px;margin:0;color:#b6b0a2;font-size:14px;line-height:1.75}
.enquiry-lamp-wrap{position:relative;height:clamp(240px,31vh,335px);max-width:570px;margin:7px auto 0;isolation:isolate}
.enquiry-lamp{position:absolute;left:50%;top:-4px;z-index:3;width:250px;height:auto;transform:translateX(-50%);overflow:visible;filter:drop-shadow(0 16px 28px rgba(0,0,0,.55))}
.lamp-glow,.lamp-beam,.lamp-beam-soft,.lamp-floor-pool{position:absolute;pointer-events:none;transition:opacity .8s ease}
.lamp-glow{left:50%;top:5px;width:310px;height:220px;transform:translateX(-50%);z-index:1;background:radial-gradient(ellipse,rgba(255,219,107,.55),rgba(255,190,38,.13) 43%,transparent 72%);opacity:var(--lamp-power);filter:blur(19px);mix-blend-mode:screen}
.lamp-beam{left:50%;top:100px;z-index:0;width:300px;height:220px;transform:translateX(-50%);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);background:linear-gradient(to bottom,rgba(255,226,120,.5),rgba(255,190,46,.18) 44%,rgba(255,170,20,.05));opacity:var(--lamp-power);filter:blur(3px);mix-blend-mode:screen}
.lamp-beam-soft{left:50%;top:96px;z-index:0;width:390px;height:230px;transform:translateX(-50%);clip-path:polygon(37% 0,63% 0,96% 100%,4% 100%);background:linear-gradient(to bottom,rgba(255,214,91,.22),rgba(255,188,54,.08) 72%,transparent);opacity:var(--lamp-power);filter:blur(24px)}
.lamp-floor-pool{left:50%;bottom:7px;z-index:0;width:390px;height:42px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(255,215,90,.52),rgba(255,208,60,.16) 45%,transparent 74%);opacity:var(--lamp-power);filter:blur(7px);mix-blend-mode:screen}
.lamp-orbit{position:absolute;left:50%;top:52%;z-index:1;border:1px solid rgba(255,215,120,.16);border-radius:50%;pointer-events:none}
.lamp-orbit.orbit-a{width:390px;height:110px;transform:translate(-50%,-50%) rotate(-17deg)}
.lamp-orbit.orbit-b{width:290px;height:230px;transform:translate(-50%,-50%) rotate(32deg);border-color:rgba(198,172,116,.13)}
.lamp-bulb-core{opacity:calc(.24 + var(--lamp-power)*.76);transition:opacity .6s ease}
.lamp-rim{opacity:calc(.35 + var(--lamp-power)*.65);transition:opacity .6s ease}
.lamp-dust{position:absolute;inset:20px 0 0;z-index:4;pointer-events:none;overflow:hidden;opacity:var(--lamp-power);transition:opacity .7s ease}
.lamp-dust i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffe49a;box-shadow:0 0 8px 2px #ffda78;left:var(--x);top:var(--y);animation:dust-drift var(--duration) ease-in-out var(--delay) infinite alternate}
@keyframes dust-drift{from{transform:translate3d(-5px,7px,0);opacity:.15}to{transform:translate3d(7px,-19px,0);opacity:.78}}
.lamp-cord{position:absolute;z-index:5;left:calc(50% + 22px);top:68px;width:30px;height:98px;border:0;padding:0;background:transparent;cursor:pointer;transform-origin:50% 0;outline:none}
.cord-thread{position:absolute;left:50%;top:0;width:2px;height:72px;transform:translateX(-50%);background:repeating-linear-gradient(to bottom,#b89a52 0 3px,#6e5a28 3px 5px)}
.cord-pull{position:absolute;left:50%;bottom:0;width:15px;height:25px;transform:translateX(-50%);border-radius:8px 8px 10px 10px;background:linear-gradient(100deg,#7a5a1a,#f3d98a 40%,#b8892c 65%,#5d430f);box-shadow:0 0 calc(var(--lamp-power)*16px) rgba(var(--gold),.55),inset 0 -3px 4px rgba(0,0,0,.4)}
.lamp-cord:hover .cord-pull,.lamp-cord:focus-visible .cord-pull{filter:brightness(1.3)}
.lamp-cord:focus-visible{outline:1px solid #ffe197;outline-offset:4px;border-radius:15px}
.lamp-cord.is-pulling{animation:cord-pull .72s cubic-bezier(.2,.8,.3,1)}
@keyframes cord-pull{0%{transform:scaleY(1)}25%{transform:scaleY(1.12) translateY(8px)}55%{transform:scaleY(.98) translateY(-2px)}100%{transform:scaleY(1)}}
.lamp-hint{position:absolute;left:calc(50% + 72px);top:143px;z-index:5;color:#c9b98c;font:8px var(--mono);letter-spacing:.13em;white-space:nowrap;opacity:.72;animation:hint-breathe 2.8s ease-in-out infinite}
.lamp-hint::before{content:"";display:inline-block;width:20px;height:1px;margin:0 8px 3px 0;background:currentColor}
@keyframes hint-breathe{50%{opacity:.36}}
.enquiry-direct{display:flex;gap:clamp(20px,4vw,54px);align-items:center;margin-top:-1px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12);max-width:560px}
.enquiry-direct a{display:grid;gap:5px;color:#858071;font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.enquiry-direct b{font:12px var(--sans);letter-spacing:0;text-transform:none;color:#f4ebd3;font-weight:500}
.enquiry-direct i{display:none}
.enquiry-card-wrap{width:100%;max-width:580px;justify-self:end;perspective:1200px}
.project-card{--mx:50%;--my:0%;position:relative;width:100%;padding:clamp(24px,3vw,38px);border:1px solid rgba(255,255,255,.1);border-radius:22px;background:radial-gradient(460px circle at var(--mx) var(--my),rgba(255,208,60,.11),transparent 62%),linear-gradient(155deg,rgba(47,44,37,.94),rgba(18,17,15,.97));backdrop-filter:blur(20px) saturate(1.15);-webkit-backdrop-filter:blur(20px) saturate(1.15);box-shadow:0 36px 90px -22px rgba(0,0,0,.82),0 0 70px rgba(255,208,60,.035),inset 0 1px 0 rgba(255,255,255,.08);animation:card-arrive .85s cubic-bezier(.18,.72,.25,1) both}
.project-card::before{content:"";position:absolute;inset:0;padding:1px;border-radius:inherit;pointer-events:none;background:radial-gradient(250px circle at var(--mx) var(--my),rgba(255,226,120,.58),rgba(255,255,255,.06) 57%,transparent 76%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
@keyframes card-arrive{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
.project-card-top{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.project-badge{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:#241c08;font-size:24px;background:linear-gradient(145deg,#ffe27a,#dfaa23);box-shadow:0 8px 25px rgba(255,208,60,.22),inset 0 1px 0 rgba(255,255,255,.65)}
.project-card-kicker{font:9px var(--mono);letter-spacing:.15em;color:#a9a18f}.project-card-kicker i{color:#e0b84c;font-style:normal}
.project-card h2{margin:0;color:#f6f1e4;text-align:left;font-size:clamp(25px,2.7vw,34px);line-height:1.05;font-weight:700;letter-spacing:-.04em}
.project-card-note{margin:8px 0 21px;color:#a59d8c;font-size:12px;line-height:1.5}
.project-fields{display:grid;gap:13px}
.project-field{display:grid;gap:6px;min-width:0;padding:0 0 9px;border-bottom:1px solid rgba(255,255,255,.11);transition:border-color .24s,filter .24s}
.project-field:focus-within{border-color:rgba(255,215,105,.75);filter:drop-shadow(0 4px 12px rgba(255,205,67,.12))}
.project-field>span{color:#a89f8d;font-size:10px;letter-spacing:.03em}
.project-field input,.project-field select,.project-field textarea{display:block;width:100%;min-width:0;border:0;outline:0;background:transparent;color:#f6f1e4;padding:3px 0;font:13px/1.45 var(--sans);box-shadow:none;resize:vertical;color-scheme:dark}
.project-field input::placeholder,.project-field textarea::placeholder{color:#777166;opacity:1}
.project-field select{cursor:pointer}.project-field select option{background:#1c1a16;color:#f6f1e4}
.project-field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;min-width:0}
.project-submit{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;margin-top:19px;padding:0 17px;border:0;border-radius:4px;overflow:hidden;background:linear-gradient(100deg,#f7d36e,#e4b534);color:#1c180e;text-align:left;font:600 12px var(--sans);cursor:pointer;box-shadow:0 10px 26px rgba(255,203,69,.15);transition:transform .22s,filter .22s,box-shadow .22s}
.project-submit:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 15px 34px rgba(255,203,69,.24)}.project-submit:focus-visible{outline:2px solid #ffe8a4;outline-offset:3px}.project-submit b{font:20px var(--sans);font-weight:400}
.project-privacy{margin:12px 0 0;color:#817b6e;font-size:10px;line-height:1.5}.project-error{margin:10px 0 0;color:#ffb7a8;font-size:12px;line-height:1.5}.project-error[hidden]{display:none}
.card-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 4px 0;color:#7e786b;font:8px var(--mono);letter-spacing:.14em}.card-caption i{height:1px;flex:1;background:linear-gradient(90deg,rgba(255,218,131,.3),rgba(255,255,255,.05))}
.enquiry-bottom{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px var(--pad);background:#0e0d0b;border-top:1px solid rgba(255,255,255,.09);color:#807a6e;font:9px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.enquiry-bottom strong{font:11px var(--sans);font-weight:500;letter-spacing:0;color:#c5bcaa;text-transform:none}.enquiry-bottom a{color:#e6c768;text-decoration:none}
@media(max-width:1050px){.project-enquiry{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:28px}.enquiry-copy h1{font-size:clamp(44px,5.2vw,64px)}.enquiry-lamp-wrap{height:260px}.enquiry-lamp{width:210px}.lamp-cord{top:58px;transform:scale(.86);transform-origin:top left}.lamp-hint{top:124px;left:calc(50% + 60px);font-size:7px}.project-field-row{gap:14px}}
@media(max-width:820px){.project-enquiry{grid-template-columns:1fr;gap:22px;min-height:0;padding:37px max(var(--pad),24px) 44px}.enquiry-left{max-width:650px;width:100%;margin:0 auto}.enquiry-index{margin-bottom:25px}.enquiry-copy{margin-top:0}.enquiry-copy h1{max-width:600px;font-size:clamp(48px,8.5vw,72px)}.enquiry-lamp-wrap{height:240px;margin:0 auto}.enquiry-lamp{width:195px;top:-22px}.lamp-cord{top:43px;left:calc(50% + 18px);transform:scale(.76);transform-origin:top left}.lamp-hint{top:110px;left:calc(50% + 48px);font-size:7px}.lamp-orbit.orbit-a{width:min(86vw,350px)}.lamp-orbit.orbit-b{width:min(70vw,270px)}.enquiry-direct{max-width:none;margin:0}.enquiry-card-wrap{max-width:650px;justify-self:center}.project-card{padding:28px}.enquiry-bottom{flex-wrap:wrap}}
@media(max-width:520px){.project-enquiry{padding:31px 20px 38px}.enquiry-index{font-size:8px;align-items:flex-start}.enquiry-location{max-width:150px;line-height:1.6}.enquiry-copy h1{font-size:clamp(43px,13vw,64px);margin:21px 0 15px}.enquiry-lede{font-size:13px}.enquiry-lamp-wrap{height:205px}.enquiry-lamp{width:166px;top:-37px}.lamp-cord{top:27px;transform:scale(.66)}.lamp-hint{top:89px;left:calc(50% + 39px);font-size:6px;letter-spacing:.1em}.lamp-beam{top:78px;height:165px;width:230px}.lamp-beam-soft{top:76px;height:175px;width:290px}.lamp-floor-pool{width:290px}.enquiry-direct{gap:22px;padding-top:14px}.enquiry-direct a{font-size:8px}.enquiry-direct b{font-size:11px}.project-card{padding:23px 19px;border-radius:18px}.project-card h2{font-size:28px}.project-fields{gap:12px}.project-field-row{grid-template-columns:1fr;gap:12px}.project-field input,.project-field select,.project-field textarea{font-size:16px}.project-submit{min-height:54px}.card-caption{font-size:7px}.enquiry-bottom{align-items:flex-start;flex-direction:column;gap:9px;padding-block:17px}}
@media(prefers-reduced-motion:reduce){.lamp-dust i,.lamp-hint,.project-card,.lamp-cord.is-pulling{animation:none!important}.project-enquiry *{scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* The project enquiry opens in darkness. Pulling the cord reveals the page. */
body.lamp-dark-mode{height:100svh;min-height:100svh;overflow:hidden;background:#020202}
body.lamp-dark-mode .site-header,body.lamp-dark-mode .site-footer{visibility:hidden;opacity:0;pointer-events:none}
body.lamp-dark-mode .floating-dock,body.lamp-dark-mode .menu-toggle{visibility:hidden;opacity:0;pointer-events:none}
.project-enquiry.is-dark{position:fixed;inset:0;z-index:1000;display:block;width:100%;height:100svh;min-height:100svh;padding:0;overflow:hidden;background:#020202;color:#f6f1e4}
.project-enquiry.is-dark::before,.project-enquiry.is-dark::after{display:none}
.project-enquiry.is-dark .enquiry-left> :not(.enquiry-lamp-wrap),.project-enquiry.is-dark .enquiry-card-wrap,.project-enquiry.is-dark~.enquiry-bottom{visibility:hidden;opacity:0;pointer-events:none}
.project-enquiry.is-dark .enquiry-lamp-wrap{position:absolute;inset:0;width:100vw;height:100svh;max-width:none;margin:0;overflow:hidden}
.project-enquiry.is-dark .enquiry-lamp{top:50%;width:min(52vh,500px);transform:translate(-50%,-50%);filter:drop-shadow(0 16px 35px rgba(0,0,0,.9))}
.project-enquiry.is-dark .lamp-glow{top:50%;width:min(74vw,820px);height:min(70vh,620px);background:radial-gradient(ellipse,rgba(255,219,107,.62),rgba(255,190,38,.17) 39%,transparent 72%);filter:blur(30px)}
.project-enquiry.is-dark .lamp-beam{top:calc(50% - 5vh);width:min(54vw,650px);height:75vh;clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);background:linear-gradient(to bottom,rgba(255,226,120,.54),rgba(255,190,46,.2) 50%,rgba(255,170,20,.02));filter:blur(10px)}
.project-enquiry.is-dark .lamp-beam-soft{top:calc(50% - 6vh);width:min(75vw,900px);height:78vh;clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);background:linear-gradient(to bottom,rgba(255,214,91,.25),rgba(255,188,54,.1) 72%,transparent);filter:blur(34px)}
.project-enquiry.is-dark .lamp-floor-pool{bottom:-5vh;width:min(90vw,980px);height:16vh;background:radial-gradient(ellipse,rgba(255,215,90,.36),rgba(255,208,60,.1) 45%,transparent 74%);filter:blur(15px)}
.project-enquiry.is-dark .lamp-orbit,.project-enquiry.is-dark .lamp-dust{opacity:0}
.project-enquiry.is-dark .lamp-cord{left:calc(50% + min(4.1vh,40px));top:calc(50% - 9vh);width:42px;height:135px;transform:none}
.project-enquiry.is-dark .cord-thread{height:99px;width:2px}
.project-enquiry.is-dark .cord-pull{width:18px;height:29px}
.project-enquiry.is-dark .lamp-hint{left:calc(50% + min(12vh,116px));top:calc(50% - 1.7vh);font-size:9px;letter-spacing:.17em}
.project-enquiry.is-dark .lamp-hint::before{width:26px}
.project-enquiry.is-dark.is-lit{background:radial-gradient(ellipse 54% 78% at 50% 58%,rgba(255,208,91,.16),transparent 74%),#080806;transition:background 1s ease}
.project-enquiry.is-dark.is-lit::after{display:block;z-index:0;content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 55% 75% at 50% 58%,rgba(255,223,140,.12),transparent 76%);animation:screen-light .9s ease both}
.project-enquiry.is-dark.is-lit .lamp-glow{opacity:1}
.project-enquiry.is-dark.is-lit .lamp-dust{opacity:.65}
.project-enquiry.is-dark.is-lit .lamp-orbit{opacity:.45}
@keyframes screen-light{from{opacity:0}45%{opacity:1}to{opacity:.5}}
.site-header{transition:opacity .65s ease,visibility .65s ease}
.project-enquiry.has-revealed .enquiry-index,.project-enquiry.has-revealed .enquiry-copy,.project-enquiry.has-revealed .enquiry-direct,.project-enquiry.has-revealed .enquiry-card-wrap{animation:page-reveal .78s cubic-bezier(.2,.72,.24,1) both}
.project-enquiry.has-revealed .enquiry-copy{animation-delay:.08s}
.project-enquiry.has-revealed .enquiry-card-wrap{animation-delay:.14s}
.project-enquiry.has-revealed .enquiry-direct{animation-delay:.2s}
@keyframes page-reveal{from{opacity:0;transform:translateY(16px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@media(max-width:520px){.project-enquiry.is-dark .enquiry-lamp{width:min(50vh,320px)}.project-enquiry.is-dark .lamp-glow{width:100vw;height:55vh}.project-enquiry.is-dark .lamp-beam{top:calc(50% - 1vh);width:90vw;height:61vh}.project-enquiry.is-dark .lamp-beam-soft{top:calc(50% - 2vh);width:116vw;height:65vh}.project-enquiry.is-dark .lamp-cord{left:calc(50% + min(5.1vh,27px));top:calc(50% - 7vh);transform:none}.project-enquiry.is-dark .lamp-hint{left:calc(50% + min(10vh,52px));top:calc(50% + 7vh);font-size:7px;letter-spacing:.1em}.project-enquiry.is-dark .lamp-hint::before{width:14px;margin-right:5px}}
@media(prefers-reduced-motion:reduce){.project-enquiry.has-revealed .enquiry-index,.project-enquiry.has-revealed .enquiry-copy,.project-enquiry.has-revealed .enquiry-direct,.project-enquiry.has-revealed .enquiry-card-wrap{animation:none}}
@media(min-width:761px){
  .project-enquiry.is-dark .enquiry-lamp,.project-enquiry.is-dark .lamp-glow,.project-enquiry.is-dark .lamp-beam,.project-enquiry.is-dark .lamp-beam-soft,.project-enquiry.is-dark .lamp-floor-pool,.project-enquiry.is-dark .lamp-orbit{left:27%}
  .project-enquiry.is-dark .lamp-cord{left:calc(27% + min(4.1vh,40px))}
  .project-enquiry.is-dark .lamp-hint{left:calc(27% + min(12vh,116px))}
  .project-enquiry.is-dark.is-lit{background:radial-gradient(ellipse 56% 86% at 73% 54%,rgba(255,208,91,.17),transparent 77%),radial-gradient(ellipse 40% 72% at 27% 54%,rgba(255,208,60,.1),transparent 69%),#080806}
  .project-enquiry.is-dark.is-lit::after{background:radial-gradient(ellipse 54% 80% at 74% 53%,rgba(255,223,140,.2),transparent 77%),linear-gradient(90deg,transparent 20%,rgba(255,222,147,.025) 72%,transparent);animation:screen-light .9s ease both}
  .project-enquiry.has-revealed.is-lit{background:radial-gradient(ellipse 42% 78% at 76% 45%,rgba(255,208,60,.08),transparent 75%),radial-gradient(ellipse 70% 80% at 19% 44%,rgba(255,208,60,.09),transparent 69%),radial-gradient(ellipse 90% 90% at 50% 40%,#11100c 0%,#070706 58%,#030302 100%)}
}

/* Match the supplied lamp scene: lamp in the left column, enquiry card alone on the right. */
@media(min-width:821px){
  .project-enquiry.has-revealed{
    grid-template-columns:minmax(0,1fr) minmax(390px,1fr);
    gap:clamp(24px,4vw,64px);
    min-height:calc(100svh - 88px);
    padding:24px 7vw;
  }
  .project-enquiry.has-revealed .enquiry-index,
  .project-enquiry.has-revealed .enquiry-copy,
  .project-enquiry.has-revealed .enquiry-direct{display:none}
  .project-enquiry.has-revealed .enquiry-left{
    display:flex;align-items:center;justify-content:center;
    width:100%;height:calc(100svh - 136px);min-height:560px;
  }
  .project-enquiry.has-revealed .enquiry-lamp-wrap{
    width:min(100%,560px);height:100%;max-width:560px;margin:0 auto;
  }
  .project-enquiry.has-revealed .enquiry-lamp{
    top:50%;width:min(52vh,500px);transform:translate(-50%,-50%);
  }
  .project-enquiry.has-revealed .lamp-glow{
    top:15%;width:min(74%,420px);height:42%;
  }
  .project-enquiry.has-revealed .lamp-beam{
    top:27%;width:min(64%,360px);height:66%;
  }
  .project-enquiry.has-revealed .lamp-beam-soft{
    top:26%;width:min(82%,470px);height:68%;
  }
  .project-enquiry.has-revealed .lamp-floor-pool{
    bottom:5%;width:min(84%,470px);height:8%;
  }
  .project-enquiry.has-revealed .lamp-cord{
    left:calc(50% + min(4.1vh,40px));top:calc(50% - 9vh);
  }
  .project-enquiry.has-revealed .lamp-hint{
    left:calc(50% + min(12vh,116px));top:calc(50% - 1.7vh);
  }
  .project-enquiry.has-revealed .enquiry-card-wrap{max-width:480px;justify-self:center}
  .project-enquiry.has-revealed .project-card{padding:clamp(28px,3vw,40px)}
  .project-enquiry.has-revealed .card-caption{display:none}
  .project-enquiry.has-revealed .lamp-hint{display:none}
}
@media(max-width:820px){
  .project-enquiry.has-revealed .enquiry-index,
  .project-enquiry.has-revealed .enquiry-copy,
  .project-enquiry.has-revealed .enquiry-direct{display:none}
  .project-enquiry.has-revealed .enquiry-lamp-wrap{height:clamp(300px,42vh,420px)}
  .project-enquiry.has-revealed .enquiry-lamp{top:50%;width:min(44vh,290px);transform:translate(-50%,-50%)}
  .project-enquiry.has-revealed .lamp-cord{top:calc(50% - 8vh);left:calc(50% + 24px)}
  .project-enquiry.has-revealed .lamp-hint{top:calc(50% + 1vh);left:calc(50% + 68px)}
  .project-enquiry.has-revealed .lamp-hint{display:none}
}

/* Once revealed, pulling the cord again dims and disables the enquiry while the lamp is off. */
.project-enquiry.has-revealed .enquiry-card-wrap{animation-fill-mode:none;transition:opacity .45s ease,filter .45s ease}
.project-enquiry.has-revealed.is-revealing .enquiry-card-wrap{animation-delay:0s}
.project-enquiry.has-revealed:not(.is-lit) .enquiry-card-wrap{opacity:.3;filter:blur(8px) brightness(.45);pointer-events:none}
.project-enquiry.has-revealed.is-lit .enquiry-card-wrap{opacity:1;filter:none;pointer-events:auto}

/* Keep the branded top bar visible above the dark lamp scene. */
body.lamp-dark-mode{--lamp-header-height:88px}
body.lamp-dark-mode .site-header{
  position:fixed;top:0;right:0;left:0;z-index:1101;
  visibility:visible;opacity:1;pointer-events:auto;
}
.project-enquiry.is-dark{
  top:var(--lamp-header-height,88px);right:0;bottom:0;left:0;
  width:100%;height:calc(100svh - var(--lamp-header-height,88px));
  min-height:calc(100svh - var(--lamp-header-height,88px));
}
.project-enquiry.is-dark .enquiry-left{position:static}
.project-enquiry.is-dark .enquiry-lamp-wrap{inset:0;width:100%;height:100%}
@media(max-width:760px){body.lamp-dark-mode{--lamp-header-height:72px}}

/* Keep the lamp scene in one fixed frame while the cord reveals or hides the enquiry. */
body[data-page="contact"]{--lamp-header-height:88px;height:100svh;min-height:100svh;overflow:hidden}
body[data-page="contact"] .site-header{
  position:fixed;top:0;right:0;left:0;z-index:1101;
  visibility:visible;opacity:1;pointer-events:auto;
}
body[data-page="contact"] .main-nav.floating-dock{z-index:1102}
body[data-page="contact"] .menu-toggle{z-index:1103}
@media(min-width:761px){
  body[data-page="contact"].lamp-dark-mode .main-nav.floating-dock{visibility:visible;opacity:1;pointer-events:auto}
}
@media(max-width:760px){
  body[data-page="contact"].lamp-dark-mode .menu-toggle{visibility:visible;opacity:1;pointer-events:auto}
  body[data-page="contact"].lamp-dark-mode .main-nav.floating-dock.open{visibility:visible;opacity:1;pointer-events:auto}
}
body[data-page="contact"] .project-enquiry{
  position:fixed;top:var(--lamp-header-height);right:0;bottom:0;left:0;z-index:1000;
  width:100%;height:calc(100svh - var(--lamp-header-height));min-height:0;
  overflow:hidden;
}
body[data-page="contact"] .project-enquiry.is-dark .enquiry-left,
body[data-page="contact"] .project-enquiry.has-revealed .enquiry-left{position:static}
body[data-page="contact"] .project-enquiry.has-revealed{
  min-height:calc(100svh - var(--lamp-header-height));
  padding:24px 7vw;
}
body[data-page="contact"] .project-enquiry.has-revealed .enquiry-left{
  height:calc(100svh - var(--lamp-header-height) - 48px);min-height:0;
}
body[data-page="contact"] .project-enquiry.has-revealed .enquiry-lamp-wrap{
  position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;
}
body[data-page="contact"] .project-enquiry.has-revealed .enquiry-lamp{
  top:50%;width:min(52vh,500px);transform:translate(-50%,-50%);
}
@media(min-width:761px){
  body[data-page="contact"] .project-enquiry.has-revealed .enquiry-lamp,
  body[data-page="contact"] .project-enquiry.has-revealed .lamp-glow,
  body[data-page="contact"] .project-enquiry.has-revealed .lamp-beam,
  body[data-page="contact"] .project-enquiry.has-revealed .lamp-beam-soft,
  body[data-page="contact"] .project-enquiry.has-revealed .lamp-floor-pool,
  body[data-page="contact"] .project-enquiry.has-revealed .lamp-orbit{left:27%}
  body[data-page="contact"] .project-enquiry.has-revealed .lamp-cord{left:calc(27% + min(4.1vh,40px));top:calc(50% - 9vh)}
}
@media(max-width:820px){
  body[data-page="contact"] .project-enquiry.has-revealed{overflow-y:auto;overscroll-behavior:contain}
  body[data-page="contact"] .project-enquiry.has-revealed .enquiry-left{height:clamp(300px,42vh,420px);min-height:0}
  body[data-page="contact"] .project-enquiry.has-revealed .enquiry-lamp{width:min(50vh,320px)}
}
@media(max-width:760px){body[data-page="contact"]{--lamp-header-height:72px}}
@media(max-width:520px){
  body[data-page="contact"] .project-enquiry.has-revealed .lamp-cord{left:calc(50% + min(5.1vh,27px));top:calc(50% - 7vh)}
}

/* Desktop lamp artwork matches the enquiry card's visible height exactly. */
@media(min-width:821px){
  body[data-page="contact"] .project-enquiry.is-dark{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,1fr);
    align-items:center;gap:clamp(24px,4vw,64px);padding:24px 7vw;
  }
  body[data-page="contact"] .project-enquiry.is-dark .enquiry-left,
  body[data-page="contact"] .project-enquiry.has-revealed .enquiry-left{
    display:flex;align-items:center;justify-content:center;width:100%;
    height:calc(100svh - var(--lamp-header-height) - 48px);min-height:0;margin:0;
  }
  body[data-page="contact"] .project-enquiry.is-dark .enquiry-left>:not(.enquiry-lamp-wrap){display:none}
  body[data-page="contact"] .project-enquiry.is-dark .enquiry-card-wrap,
  body[data-page="contact"] .project-enquiry.has-revealed .enquiry-card-wrap{
    width:100%;max-width:480px;justify-self:center;
  }
  body[data-page="contact"] .project-enquiry.is-dark .enquiry-lamp,
  body[data-page="contact"] .project-enquiry.has-revealed .enquiry-lamp{
    top:var(--lamp-svg-top,50%);left:27%;width:auto;height:var(--lamp-svg-height, min(52vh,500px));
    transform:translateX(-50%);
  }
  body[data-page="contact"] .project-enquiry.is-dark .lamp-cord,
  body[data-page="contact"] .project-enquiry.has-revealed .lamp-cord{
    left:calc(27% + var(--lamp-cord-x, min(4.1vh,40px)));
    top:var(--lamp-cord-top,calc(50% - 9vh));
    width:30px;height:98px;
  }
  body[data-page="contact"] .project-enquiry.is-dark .cord-thread,
  body[data-page="contact"] .project-enquiry.has-revealed .cord-thread{height:72px}
  body[data-page="contact"] .project-enquiry.is-dark .cord-pull,
  body[data-page="contact"] .project-enquiry.has-revealed .cord-pull{width:15px;height:25px}
  body[data-page="contact"] .project-enquiry.is-dark .lamp-beam,
  body[data-page="contact"] .project-enquiry.has-revealed .lamp-beam,
  body[data-page="contact"] .project-enquiry.is-dark .lamp-beam-soft,
  body[data-page="contact"] .project-enquiry.has-revealed .lamp-beam-soft{
    top:var(--lamp-beam-top,27%);height:calc(100% - var(--lamp-beam-top,27%));
  }
  body[data-page="contact"] .project-enquiry.is-dark .lamp-floor-pool,
  body[data-page="contact"] .project-enquiry.has-revealed .lamp-floor-pool{
    bottom:var(--lamp-floor-bottom,5%);
  }
  /* Keep the dark and revealed lamp geometry identical across every toggle. */
  body[data-page="contact"] .project-enquiry.is-dark .enquiry-card-wrap{animation:none}
  body[data-page="contact"] .project-enquiry.is-dark .lamp-cord{
    top:var(--lamp-cord-top,calc(50% - 9vh));
    width:30px;height:98px;
  }
  body[data-page="contact"] .project-enquiry.is-dark .cord-thread{height:72px}
  body[data-page="contact"] .project-enquiry.is-dark .cord-pull{width:15px;height:25px}
  body[data-page="contact"] .project-enquiry.is-dark .lamp-beam{
    top:var(--lamp-beam-top,27%);
    width:min(64%,360px);
    height:calc(100% - var(--lamp-beam-top,27%));
  }
  body[data-page="contact"] .project-enquiry.is-dark .lamp-beam-soft{
    top:var(--lamp-beam-top,26%);
    width:min(82%,470px);
    height:calc(100% - var(--lamp-beam-top,26%));
  }
  body[data-page="contact"] .project-enquiry.is-dark .lamp-floor-pool{
    width:min(84%,470px);height:8%;
  }
}

body[data-page="contact"] .mobile-menu-overlay{z-index:1103}
