html[data-theme="light"] .iso .f-l,html[data-theme="light"] .iso .l{fill:#D9D2C2}html[data-theme="light"] .iso .f-r,html[data-theme="light"] .iso .r{fill:#BEB6A4}html[data-theme="light"] .iso .f-t,html[data-theme="light"] .iso .t{fill:#ECE6D8}
html[data-theme="light"] .iso .g-t{fill:#CDAE70}html[data-theme="light"] .iso .g-l{fill:#AB8644}html[data-theme="light"] .iso .g-r{fill:#80632F}
html[data-theme="light"] .iso .p-t{fill:rgba(23,27,32,.045)}html[data-theme="light"] .iso text{fill:rgba(23,27,32,.6)}
/* ───────── CONTACT — five doors ───────── */
.iso polygon{stroke:rgba(197,160,89,.42);stroke-width:.8;stroke-linejoin:round}
.iso .f-l,.iso .l{fill:#161c25}.iso .f-r,.iso .r{fill:#0d1218}.iso .f-t,.iso .t{fill:#252d3a}
.iso .p-t{fill:rgba(255,255,255,.028)}.iso .p-l{fill:rgba(255,255,255,.012)}.iso .p-r{fill:rgba(0,0,0,.28)}
.iso .p-t,.iso .p-l,.iso .p-r{stroke:rgba(197,160,89,.18)}
.iso .wn{fill:rgba(150,180,210,.15);stroke:none}.iso .wl{fill:#ffd98a;opacity:.92;stroke:none}
.iso .shd{fill:rgba(0,0,0,.5);stroke:none;filter:url(#bl)}
.iso .rim{fill:none;stroke:rgba(255,236,190,.4);stroke-width:.9}
.iso .rl{fill:#2a323d}.iso .rr{fill:#161c24}.iso .rt{fill:#3b4553}
.iso .g-t{fill:#d8b26c}.iso .g-l{fill:#a07d3b}.iso .g-r{fill:#6b5223}.iso .g-t,.iso .g-l,.iso .g-r{stroke:rgba(255,236,190,.5)}
html[data-theme=light] .iso .wn{fill:rgba(40,70,100,.22)}html[data-theme=light] .iso .wl{fill:#e0a53c}
html[data-theme=light] .iso .shd{fill:rgba(60,45,20,.28)}
html[data-theme=light] .iso .rl{fill:#C9C1AE}html[data-theme=light] .iso .rr{fill:#B1A892}html[data-theme=light] .iso .rt{fill:#DDD6C5}
@keyframes exRise{from{opacity:0;transform:translateY(46px)}to{opacity:1;transform:none}}
.sky{position:absolute;left:0;right:0;bottom:0;width:100%;height:clamp(150px,22.5vw,360px);z-index:1}
.sky .rise{animation:none;opacity:0}.sky.go .rise{animation:exRise 1s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i)*.03s)}

.ct-sec{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;border-bottom:1px solid var(--ln)}
.ct-in{width:100%;max-width:var(--W);margin:0 auto;padding-inline:var(--gut)}
.ct-eye{font-family:var(--fm);font-size:.64rem;letter-spacing:.14em;color:var(--w45);display:flex;align-items:center;gap:12px;text-transform:uppercase;margin-bottom:1.25rem}
.ct-eye::before{content:'';width:28px;height:1px;background:var(--gd)}
.ct-eye.g{color:var(--gold)}
.ct-grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--ln) 1px,transparent 1px),linear-gradient(90deg,var(--ln) 1px,transparent 1px);background-size:72px 72px;opacity:.55;-webkit-mask-image:radial-gradient(70% 80% at 70% 50%,#000,transparent 80%);mask-image:radial-gradient(70% 80% at 70% 50%,#000,transparent 80%)}
.ct-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(48% 55% at 72% 62%,rgba(var(--gold-rgb),.13),transparent 70%)}

/* headline: outline → fill */
.ct-h1,.ct-h2{font-family:var(--fd);font-weight:700;letter-spacing:-.045em;line-height:.98;color:var(--ink)}
.ct-h1{font-size:clamp(2.7rem,min(7.6vw,14vh),7.4rem)}
.ct-h2{font-size:clamp(2.2rem,min(5.6vw,10vh),5.2rem)}
.fw{display:block;white-space:nowrap;position:relative;color:transparent;-webkit-text-stroke:1.5px var(--ink);padding-bottom:.06em}
.fw.g{-webkit-text-stroke-color:var(--gold)}
.fw::after{content:attr(data-t);position:absolute;left:0;top:0;white-space:nowrap;color:var(--ink);-webkit-text-stroke:0;clip-path:inset(-.3em 100% -.3em -.05em)}
.fw.g::after{color:var(--gold)}
.ct-h1 .fw::after{animation:fwIn 1s var(--ease) forwards;animation-delay:calc(.35s + var(--j,0)*.45s)}
.ct-h2.in .fw::after,.ct-h2.in2 .fw::after{animation:fwIn 1s var(--ease) forwards;animation-delay:calc(var(--j,0)*.4s)}
.ct-h1 .fw:nth-child(2),.ct-h2 .fw:nth-child(2){--j:1}.ct-h1 .fw:nth-child(3),.ct-h2 .fw:nth-child(3){--j:2}
@keyframes fwIn{to{clip-path:inset(-.3em -.1em -.3em -.05em)}}


.ct-form{position:relative;background:var(--s1);border:1px solid var(--lm);padding:clamp(1.25rem,3vw,2.5rem);overflow:hidden}
.ct-form::before{content:'';position:absolute;left:0;top:0;width:3px;height:100%;background:linear-gradient(var(--gold),transparent)}
.ct-form h2{font-family:var(--fd);font-weight:700;font-size:clamp(1.6rem,3vw,2.3rem);letter-spacing:-.035em;color:var(--ink);margin-bottom:clamp(1rem,3vh,1.75rem)}
.ct-fg{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.8rem,2vh,1.1rem)}
.ct-fg textarea{resize:vertical;min-height:7.5rem}
.ct-fs{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;margin-top:clamp(1rem,3vh,1.6rem)}
.ct-fs .form-legal{flex:1 1 15rem}
.ct-wa{font-family:var(--fm);font-size:.66rem;letter-spacing:.08em;color:var(--w70);text-decoration:none;border-bottom:1px solid var(--lm);padding-bottom:1px}
.ct-wa:hover{color:var(--gold);border-color:var(--gold)}
.ct-ok{display:none;margin-top:1rem}
.ct-form.sent .ct-ok{display:block}
/* ───────── GET A QUOTE — three services, one visit ───────── */
[data-rv]{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
[data-rv].vis{opacity:1;transform:none}
.ct-sub{font-size:clamp(.88rem,1.9vh,1.02rem);color:var(--w70);max-width:52ch;line-height:1.7;margin:clamp(.8rem,2.4vh,1.5rem) 0 clamp(1rem,3vh,1.75rem)}
.ct-act{display:flex;flex-wrap:wrap;gap:.85rem}
@keyframes gqUp{from{opacity:0;transform:translateY(22px)}}
.ct-h2.in .fw::after{animation:fwIn 1s var(--ease) forwards;animation-delay:calc(var(--j,0)*.4s)}
.gq-head{margin-bottom:clamp(.8rem,2.6vh,1.6rem)}
.gq-h2{font-size:clamp(1.9rem,min(4.2vw,8.4vh),4rem)}
.gq-lab{font-family:var(--fm);font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--w45)}

/* iso scene palette */
.iso .s1-l{fill:#1b232d}.iso .s1-r{fill:#10161d}.iso .s1-t{fill:#2a3340}
.iso .s2-l{fill:#262e39}.iso .s2-r{fill:#161c24}.iso .s2-t{fill:#343d4b}
.iso .s3-l{fill:#3a3426}.iso .s3-r{fill:#26211a}.iso .s3-t{fill:#4d4531}
.iso .wt-l{fill:rgba(110,165,215,.5)}.iso .wt-r{fill:rgba(70,120,175,.55)}.iso .wt-t{fill:rgba(140,190,235,.5)}
.iso .bore{fill:#04070a;stroke:rgba(197,160,89,.5)}
.iso .rg-l,.iso .rg-r,.iso .rg-t{fill:rgba(197,160,89,.34)}
.iso .tk,.iso .br{stroke:rgba(197,160,89,.55);stroke-width:.9;fill:none}.iso .br{stroke:rgba(197,160,89,.32)}
.iso .rb{stroke:var(--gold-hi);stroke-width:1.5;stroke-linecap:round;fill:none}
.iso .gl{stroke:var(--gold);stroke-width:1.4;stroke-linecap:round;fill:none}
.iso .cr path{fill:none;stroke:rgba(255,255,255,.55);stroke-width:.9;stroke-linejoin:round}.iso .cr .cb{fill:var(--gold)}
.iso .beacon{fill:#ffd98a;animation:gqBeacon 2.4s ease-in-out infinite}@keyframes gqBeacon{50%{opacity:.2}}
html[data-theme=light] .iso .f-l{fill:#D9D2C2}html[data-theme=light] .iso .f-r{fill:#BEB6A4}html[data-theme=light] .iso .f-t{fill:#ECE6D8}
html[data-theme=light] .iso .p-t{fill:rgba(23,27,32,.045)}html[data-theme=light] .iso .p-l{fill:rgba(23,27,32,.03)}html[data-theme=light] .iso .p-r{fill:rgba(23,27,32,.1)}
html[data-theme=light] .iso .s1-l{fill:#cfc6b2}html[data-theme=light] .iso .s1-r{fill:#b3a98f}html[data-theme=light] .iso .s1-t{fill:#ddd5c2}
html[data-theme=light] .iso .s2-l{fill:#dccfb2}html[data-theme=light] .iso .s2-r{fill:#c0b190}html[data-theme=light] .iso .s2-t{fill:#eadfc6}
html[data-theme=light] .iso .s3-l{fill:#cdb98a}html[data-theme=light] .iso .s3-r{fill:#b09a6a}html[data-theme=light] .iso .s3-t{fill:#dcc99c}
html[data-theme=light] .iso .bore{fill:#2a2418}
html[data-theme=light] .iso .cr path{stroke:rgba(23,27,32,.6)}
html[data-theme=light] .iso .wl{fill:#e0a53c}

/* HERO — one composition: the message on the left, the scene with its chapter controls on the right.
   Copy is centred on the scene itself; chapters and caption sit under the scene, not under the copy. */
.gq-hero{padding:clamp(6rem,11vh,7.5rem) 0 clamp(2.5rem,6vh,4rem)}
.gq-hero__g{display:grid;grid-template-columns:minmax(0,4.7fr) minmax(0,7.3fr);column-gap:clamp(1.5rem,3.2vw,3.5rem);align-items:center}
.gq-stage{display:contents}
.gq-copy{grid-column:1;grid-row:1}
.gq-copy .ct-eye{text-transform:none;letter-spacing:.04em;font-size:.74rem;margin-bottom:1.25rem}
.ct-h1.gq-h1{font-size:clamp(2.4rem,min(3.9vw,8vh),3.75rem);line-height:1.02;letter-spacing:-.04em}
.gq-h1 .ln{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}
.gq-h1 .ln>span{display:block;animation:gqLn .9s var(--ease) both}
.gq-h1 .ln:nth-child(2)>span{animation-delay:.1s}
@keyframes gqLn{from{transform:translateY(105%)}}
.gq-copy .ct-sub{font-size:clamp(.95rem,1.25vw,1.0625rem);max-width:38ch;margin:clamp(1rem,2.6vh,1.5rem) 0 clamp(1.25rem,3.4vh,2rem);animation:gqUp .8s var(--ease) .45s both}
.gq-copy .ct-act{align-items:center;gap:.25rem 1.5rem;animation:gqUp .8s var(--ease) .6s both}
.gq-lnk{display:inline-flex;align-items:center;min-height:48px;padding:0 .15rem;font-family:var(--fd);font-weight:500;font-size:.95rem;letter-spacing:-.01em;color:var(--ink);text-decoration:underline;text-decoration-color:rgba(var(--gold-rgb),.55);text-decoration-thickness:1px;text-underline-offset:.4em;transition:text-decoration-color .2s}
.gq-lnk:hover{text-decoration-color:var(--gold)}
.gq-lnk:focus-visible,.gq-ch button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.gq-area{margin-top:1.1rem;font-family:var(--fm);font-size:.7rem;letter-spacing:.04em;color:var(--w45);animation:gqUp .8s var(--ease) .75s both}

/* scene */
.gqv{display:block;grid-column:2;grid-row:1;width:100%;height:auto;max-height:max(20rem,calc(100svh - 18rem));overflow:visible}
.gqv .p-t{fill:rgba(255,255,255,.04);stroke:rgba(197,160,89,.28)}.gqv .p-l,.gqv .p-r{stroke:rgba(197,160,89,.18)}
.gqv .shd{fill:rgba(0,0,0,.45);stroke:none;filter:url(#bl)}
.gqv .svc{cursor:pointer;outline:none;animation:gqRise .9s var(--ease) both;animation-delay:calc(.2s + var(--k,0)*.18s)}
.gqv .svc[data-k="1"]{--k:1}.gqv .svc[data-k="2"]{--k:2}
.gqv .svc .sc{transition:transform .6s var(--ease)}
.gqv .svc.on .sc{transform:translateY(-3px)}
.gqv .svc.on .p-t{fill:rgba(197,160,89,.16)}
.gqv .hit{fill:transparent;stroke:none}
.gqv .sl{font-family:var(--fm);letter-spacing:.16em;fill:var(--w45);transition:fill .3s}.gqv .sn{fill:var(--gold);letter-spacing:.04em}
.gqv .svc.on .sl{fill:var(--ink)}
.gqv .tag{opacity:0;transform:translateY(8px);transition:opacity .4s,transform .5s var(--ease)}.gqv .svc.on .tag{opacity:1;transform:none}
.gqv .tag rect{fill:var(--void);stroke:var(--gold);stroke-width:1}
.gqv .tag text{font-family:var(--fm);font-size:12px;letter-spacing:.06em;fill:var(--gold-hi);dominant-baseline:middle}
.gqv .tag path{stroke:var(--gold);stroke-width:1;stroke-dasharray:3 3;fill:none}
@keyframes gqRise{from{opacity:0;transform:translateY(40px)}}

/* chapters: a quiet timeline under the scene; the gold rule fills as each chapter plays */
.gq-ch{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.6vw,1.5rem);margin-top:clamp(.5rem,2vh,1.25rem)}
.gq-ch button{position:relative;display:flex;align-items:baseline;gap:.55rem;min-height:48px;padding:.85rem 0 .7rem;font-family:var(--fd);font-weight:500;font-size:.95rem;letter-spacing:-.01em;color:var(--w45);background:none;border:0;border-top:1px solid var(--lm);text-align:left;transition:color .3s}
.gq-ch button i{font:400 .66rem/1 var(--fm);letter-spacing:.08em;color:var(--gold)}
.gq-ch button:hover,.gq-ch button.on{color:var(--ink)}
.gq-ch button.done:not(.on){color:var(--w70)}
.gq-ch button::after{content:'';position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--gold)}
.gq-ch button.done::after{width:100%;opacity:.4}
.gq-ch button.on::after{opacity:1;width:0;animation:pgf var(--dur,8s) linear forwards}
@keyframes pgf{to{width:100%}}
.gq-cap{grid-column:2;grid-row:3;margin-top:.5rem;min-height:1.6em;max-width:none;font-size:.88rem;line-height:1.55;color:var(--w70)}
.gq-capr{display:none;margin-left:.6em;color:var(--gold-hi)}

@media(max-width:900px){
 .ct-sec.gq-hero{min-height:0;padding:5.75rem 0 2.5rem;justify-content:flex-start}
 .gq-hero__g{grid-template-columns:minmax(0,1fr)}
 .gq-copy,.gqv,.gq-ch,.gq-cap{grid-column:1}
 .gq-copy{margin-bottom:clamp(1rem,3vw,1.75rem)}
 .gqv{grid-row:2;max-height:none}.gq-ch{grid-row:3}.gq-cap{grid-row:4;min-height:3.2em}
 .ct-h1.gq-h1{font-size:clamp(2.3rem,9.4vw,3.5rem)}
 .gq-copy .ct-sub{max-width:44ch}
}
@media(max-width:700px){
 .gqv .tag,.gqv .sl,.gqv .sn{display:none}
 .gqv{margin-top:-1.25rem}
 .gq-capr{display:block;margin:.2rem 0 0;white-space:nowrap}.gq-cap{min-height:4.8em}
 .gq-ch{gap:.6rem}.gq-ch button{font-size:.88rem}
}
@media(max-width:480px){.gq-ch button i{display:none}.gq-copy .ct-sub{font-size:.95rem}
 .gq-copy .ct-act{flex-direction:column;align-items:stretch;gap:0}.gq-copy .ct-act .btn,.gq-lnk{justify-content:center;text-align:center}}
@media(prefers-reduced-motion:reduce){
 .gq-h1 .ln>span,.gq-copy .ct-sub,.gq-copy .ct-act,.gq-area{animation:none}
 .gq-ch button.on::after{width:100%}
}

/* ESTIMATOR */
.gq-est{padding:clamp(5rem,10vh,7rem) 0 clamp(1.5rem,4vh,2.5rem);background:var(--ground)}
.gq-est .ct-in{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:2rem;align-items:end}
.gq-est .gq-head{grid-column:1}
.gq-svc{grid-column:2;display:flex;border:1px solid var(--lm);margin-bottom:clamp(.8rem,2.6vh,1.6rem)}
.gs{display:flex;align-items:center;gap:.6rem;background:none;border:0;border-right:1px solid var(--ln);padding:.85rem 1.1rem;color:var(--w45);cursor:pointer;font-family:var(--fd);font-weight:600;font-size:.92rem;letter-spacing:-.02em;transition:color .3s,background .3s;text-align:left;white-space:nowrap}
.gs:last-child{border-right:0}.gs i{font-style:normal;font-family:var(--fm);font-size:.58rem;letter-spacing:.1em;color:var(--gold)}
.gs:hover{color:var(--ink)}.gs.on{color:#120d04;background:var(--gold)}.gs.on i{color:#120d04}
.gq-estg,.gq-est .ct-tabs{grid-column:1/-1}
.gq-estg{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1rem,3vw,3rem);align-items:stretch}
.gq-desc{font-size:clamp(.88rem,1.8vh,1rem);color:var(--w70);line-height:1.65;max-width:54ch}
.gq-list{list-style:none;margin:clamp(.6rem,2vh,1.1rem) 0;border-top:1px solid var(--lm)}
.gq-list li{position:relative;padding:clamp(.35rem,1vh,.6rem) 0 clamp(.35rem,1vh,.6rem) 1.5rem;font-size:clamp(.8rem,1.6vh,.9rem);color:var(--w70);border-bottom:1px solid var(--ln);line-height:1.45;animation:gqUp .5s var(--ease) both}
.gq-list li::before{content:'';position:absolute;left:0;top:50%;width:9px;height:1px;background:var(--gold)}
.gq-ind{font-size:.74rem;line-height:1.55;color:var(--w45);border-left:2px solid var(--gold);padding-left:.8rem}.gq-ind b{color:var(--ink);font-weight:500}
.gq-con{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);column-gap:clamp(1rem,2.4vw,2.2rem);row-gap:clamp(.6rem,2vh,1.1rem);align-content:start;border:1px solid var(--lm);background:
 radial-gradient(70% 60% at 85% 100%,rgba(var(--gold-rgb),.14),transparent 70%),
 linear-gradient(rgba(var(--gold-rgb),.05) 1px,transparent 1px) 0 0/34px 34px,linear-gradient(90deg,rgba(var(--gold-rgb),.05) 1px,transparent 1px) 0 0/34px 34px,var(--void);padding:clamp(1rem,2.4vw,1.8rem)}
.gq-con::before,.gq-con::after{content:'';position:absolute;width:20px;height:20px;border:0 solid var(--gold);pointer-events:none}
.gq-con::before{left:-1px;top:-1px;border-width:2px 0 0 2px}.gq-con::after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}
.gq-row{grid-column:1/-1}
.gq-seg{display:flex;margin-top:.5rem;border:1px solid var(--lm)}
.gq-seg button{flex:1;background:none;border:0;border-right:1px solid var(--ln);padding:.6rem .4rem;cursor:pointer;color:var(--w45);display:flex;flex-direction:column;align-items:center;gap:.15rem;transition:background .3s,color .3s}
.gq-seg button:last-child{border-right:0}
.gq-seg b{font-family:var(--fd);font-weight:600;font-size:.88rem;letter-spacing:-.02em}.gq-seg em{font-style:normal;font-family:var(--fm);font-size:.6rem;letter-spacing:.08em}
.gq-seg button:hover{color:var(--ink)}.gq-seg button[aria-checked=true]{background:var(--gold);color:#120d04}
.gq-qty{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.2rem;align-items:center}
.gq-qty .gq-lab{grid-column:1/-1}
.gq-qin{display:flex;align-items:baseline;gap:.5rem;border-bottom:1px solid var(--gold)}
.gq-qin input{width:6.2rem;background:none;border:0;outline:none;color:var(--ink);font-family:var(--fd);font-weight:600;font-size:1.5rem;letter-spacing:-.03em;padding:.15rem 0;-moz-appearance:textfield}
.gq-qin input::-webkit-outer-spin-button,.gq-qin input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.gq-qin span{font-family:var(--fm);font-size:.6rem;letter-spacing:.1em;color:var(--w45)}
#gRng{-webkit-appearance:none;appearance:none;width:100%;height:22px;background:transparent;cursor:pointer;--p:30%}
#gRng::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,var(--gold) var(--p),var(--lm) var(--p))}
#gRng::-moz-range-track{height:2px;background:var(--lm)}#gRng::-moz-range-progress{height:2px;background:var(--gold)}
#gRng::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-7px;background:var(--gold);border:2px solid var(--void);box-shadow:0 0 0 1px var(--gold),0 0 14px rgba(var(--gold-rgb),.6);transform:rotate(45deg)}
#gRng::-moz-range-thumb{width:12px;height:12px;background:var(--gold);border:2px solid var(--void);border-radius:0;transform:rotate(45deg)}
.gq-res{grid-column:1}
.gq-amt{font-family:var(--fd);font-weight:700;letter-spacing:-.05em;line-height:1;color:var(--ink);font-size:clamp(2rem,min(4.1vw,8vh),3.7rem);margin:.35rem 0 .3rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.gq-amt s{text-decoration:none;color:var(--gold)}
.gq-calc{font-family:var(--fm);font-size:.64rem;letter-spacing:.06em;color:var(--w70)}
.gq-band{position:relative;display:flex;justify-content:space-between;margin-top:1rem;padding-top:.7rem;font-family:var(--fm);font-size:.58rem;letter-spacing:.04em;color:var(--w45)}
.gq-bar{position:absolute;left:0;right:0;top:0;height:2px;background:var(--lm)}
.gq-bar i{position:absolute;top:-4px;width:10px;height:10px;background:var(--gold);transform:translateX(-50%) rotate(45deg);transition:left .5s var(--ease)}
.gq-unit{margin-top:.8rem;font-family:var(--fm);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--w45);line-height:1.6}
.gq-gst{margin-top:.3rem;font-size:.76rem;color:var(--w70)}
.gq-cta{grid-column:2;display:flex;flex-direction:column;justify-content:space-between;gap:.8rem}
.gq-lad{width:100%;height:auto;max-height:15vh;overflow:visible}
.gq-lad rect{fill:rgba(var(--gold-rgb),.14);stroke:rgba(var(--gold-rgb),.45);transition:fill .4s,y .5s var(--ease),height .5s var(--ease)}
.gq-lad rect.on{fill:var(--gold);stroke:var(--gold-hi)}
.gq-lad text{font-family:var(--fm);font-size:7.5px;letter-spacing:.08em;fill:var(--w45);text-anchor:middle}.gq-lad text.on{fill:var(--gold-hi)}
.gq-lad line{stroke:rgba(var(--gold-rgb),.4)}
.gq-cta .btn{white-space:normal;text-align:center}

/* PROCESS */
.gq-proc{padding:clamp(5rem,10vh,7rem) 0 clamp(1.5rem,4vh,2.5rem);background:var(--void)}
.gq-steps{list-style:none;position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.4vw,2.4rem)}
.gq-steps::before{content:'';position:absolute;left:8%;right:8%;top:clamp(48px,8vh,70px);border-top:1px dashed rgba(var(--gold-rgb),.5);transform-origin:left;transform:scaleX(0);transition:transform 1.6s var(--ease) .3s}
.gq-proc.go .gq-steps::before{transform:scaleX(1)}
.gq-st{position:relative;padding:clamp(.8rem,2vh,1.4rem) clamp(.9rem,1.6vw,1.5rem) clamp(.9rem,2vh,1.5rem);border:1px solid var(--ln);background:linear-gradient(180deg,rgba(var(--gold-rgb),.05),transparent);opacity:0;transform:translateY(26px)}
.gq-proc.go .gq-st{animation:gqUp .8s var(--ease) both;animation-delay:calc(.2s + var(--i)*.28s);opacity:1;transform:none}
.gq-ic{display:block;width:clamp(96px,14vh,130px)}.gic{display:block;width:100%;height:auto;overflow:visible}
.gic .p-t{fill:rgba(255,255,255,.04);stroke:rgba(197,160,89,.3)}.gic .p-l,.gic .p-r{stroke:rgba(197,160,89,.18)}
.gic .ar{fill:none;stroke:var(--gold);stroke-width:1.4;stroke-linecap:round;animation:gqPulse 2s ease-in-out infinite;animation-delay:calc(var(--r)*.03s)}
@keyframes gqPulse{0%,100%{opacity:.25}50%{opacity:1}}
.gic .dt{fill:var(--gold-hi)}
.gq-n{position:absolute;right:1rem;top:.6rem;font-family:var(--fd);font-weight:700;font-size:clamp(2.2rem,4vw,3.4rem);letter-spacing:-.05em;line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--gold)}
.gq-st h3{font-family:var(--fd);font-weight:600;font-size:clamp(1.05rem,1.7vw,1.4rem);letter-spacing:-.03em;color:var(--ink);line-height:1.15;margin:clamp(.4rem,1.6vh,1rem) 0 .4rem}
.gq-st p{font-size:clamp(.8rem,1.6vh,.92rem);color:var(--w70);line-height:1.55}
.gq-fx{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1rem;margin-top:clamp(.9rem,3vh,1.8rem)}
.gq-fx ul{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}
.gq-fx li{position:relative;font-family:var(--fm);font-size:.62rem;letter-spacing:.08em;color:var(--ink);background:rgba(var(--gold-rgb),.09);border:1px solid var(--lm);padding:.4rem .7rem .4rem 1.3rem}
.gq-fx li::before{content:'';position:absolute;left:.6rem;top:50%;width:4px;height:4px;background:var(--gold);transform:translateY(-50%) rotate(45deg)}
.gq-disc{margin-top:clamp(.8rem,2.4vh,1.4rem);font-size:.78rem;line-height:1.6;color:var(--w45);max-width:90ch;border-left:2px solid var(--gold);padding-left:.9rem}.gq-disc b{color:var(--ink);font-weight:500}

/* FORM */
.gq-form{padding:clamp(5rem,10vh,7rem) 0 clamp(1.5rem,4vh,2.5rem);background:var(--ground)}
.gq-formg{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,5vw,6rem);align-items:center}
.gq-fl .ct-sub{max-width:44ch}
.gq-sum{border:1px solid var(--lm);background:rgba(var(--gold-rgb),.07);padding:1rem 1.2rem;margin-top:1.2rem;max-width:30rem}
.gq-sum[hidden]{display:none}
.gq-sumv{font-family:var(--fd);font-weight:700;font-size:1.6rem;letter-spacing:-.04em;color:var(--ink);margin:.25rem 0}
.gq-sumt{font-family:var(--fm);font-size:.6rem;letter-spacing:.06em;color:var(--w70)}
.gq-f{margin:0}
.ct-form h2{font-size:clamp(1.3rem,2.2vw,1.8rem);margin-bottom:clamp(.7rem,2vh,1.2rem)}
.ct-fg textarea{min-height:4.2rem}

/* FINALE */
.gq-fin{position:relative;justify-content:flex-start;border-bottom:0;padding:clamp(5.5rem,13vh,8rem) 0 clamp(150px,17vw,260px)}
.gq-fin::before{content:'';position:absolute;inset:0;background:radial-gradient(60% 50% at 70% 100%,rgba(var(--gold-rgb),.14),transparent 70%);pointer-events:none}
.ct-fin__in{position:relative;z-index:5}
.gq-fin h2{font-family:var(--fd);font-weight:700;letter-spacing:-.05em;line-height:.98;color:var(--ink);font-size:clamp(2.2rem,min(6.2vw,11vh),6.4rem)}
.gq-fin h2 .d{color:var(--w22)}.gq-fin h2 .gd{color:var(--gold)}
.gq-fin .sky{height:clamp(150px,17vw,260px)}
.gq-wa{position:fixed;right:clamp(.8rem,2vw,1.4rem);bottom:clamp(.8rem,2vw,1.4rem);z-index:70;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--void);color:var(--gold-hi);border:1px solid var(--gold);box-shadow:0 8px 24px rgba(0,0,0,.35);transition:background .3s,color .3s}
.gq-wa:hover{background:var(--gold);color:#120d04}
html[data-theme=light] .gq-wa{background:#fff}
html[data-theme=light] .gq-con{background:radial-gradient(70% 60% at 85% 100%,rgba(var(--gold-rgb),.2),transparent 70%),linear-gradient(rgba(23,27,32,.05) 1px,transparent 1px) 0 0/34px 34px,linear-gradient(90deg,rgba(23,27,32,.05) 1px,transparent 1px) 0 0/34px 34px,var(--s1)}
html[data-theme=light] .gs.on,html[data-theme=light] .gq-seg button[aria-checked=true]{color:#fff}html[data-theme=light] .gs.on i{color:#fff}
html[data-theme=light] .gq-lad rect.on{stroke:var(--gold)}
html[data-theme=light] .gqv .tag rect{fill:#fff}
html[data-theme=light] .gqv .p-t{fill:rgba(23,27,32,.045)}
html[data-theme=light] .gq-st{background:linear-gradient(180deg,rgba(var(--gold-rgb),.09),transparent)}
html[data-theme=light] #gRng::-webkit-slider-thumb{border-color:#fff}
.ct-tabs{display:none}

/* SHORT DESKTOP */
@media(min-width:901px) and (max-height:820px){
 .gq-est,.gq-proc,.gq-form{padding-top:4.75rem}
 .gq-list li{padding-top:.28rem;padding-bottom:.28rem}.gq-ind{font-size:.7rem}
 .gq-con{padding:1rem 1.3rem}.gq-amt{font-size:clamp(1.8rem,min(3.6vw,7vh),3rem)}
 .gq-st{padding:.7rem 1rem}.gq-ic{width:96px}.gq-st p{font-size:.78rem}
 .ct-fg textarea{min-height:3rem}
}
@media(min-width:901px) and (max-height:700px){
 .gq-desc{display:none}.gq-sum{display:none}.gq-fl .ct-sub{display:none}.gq-ic{width:80px}
 .gq-lad{max-height:11vh}.gq-ind{display:none}
}
/* TABLET / PHONE */
@media(max-width:1100px) and (min-width:901px){.gs{padding:.8rem .8rem;font-size:.82rem}.gq-st h3{font-size:1rem}}
@media(max-width:900px){
 .ct-sec{min-height:100svh}
 .ct-h2{font-size:clamp(1.8rem,8.6vw,3rem)}.gq-h2{font-size:clamp(1.8rem,8.6vw,3rem)}
 .gq-est,.gq-proc,.gq-form{padding:5.25rem 0 1.5rem;justify-content:flex-start}
 .gq-est .ct-in{display:block}
 .gq-svc{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:.6rem}
 .gs{flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .55rem;font-size:.7rem;white-space:normal;line-height:1.15}
 .ct-tabs{display:flex;gap:0;border:1px solid var(--lm);margin-bottom:.8rem}
 .ct-tabs button{flex:1;font-family:var(--fm);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:.7rem .5rem;background:none;border:0;color:var(--w45);cursor:pointer}
 .ct-tabs button[aria-selected=true]{background:var(--gold);color:#05070A;font-weight:500}
 html[data-theme=light] .ct-tabs button[aria-selected=true]{color:#fff}
 .gq-estg{grid-template-columns:minmax(0,1fr)}
 .gq-est .pn{display:none}.gq-est[data-tab=est] .pn-est{display:grid}.gq-est[data-tab=scope] .pn-scope{display:block}
 .gq-con{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:.9rem;row-gap:.6rem}
 .gq-res{grid-column:1}.gq-cta{grid-column:2}
 .gq-amt{font-size:clamp(1.7rem,8vw,2.6rem)}.gq-lad{max-height:14svh}
 .gq-unit{font-size:.5rem;margin-top:.5rem}.gq-gst{font-size:.7rem}
 .gq-steps{grid-template-columns:minmax(0,1fr);gap:.6rem}.gq-steps::before{display:none}
 .gq-st{display:grid;grid-template-columns:auto 1fr;column-gap:.9rem;align-items:center;padding:.6rem .8rem}
 .gq-ic{grid-row:1/3;width:72px}.gq-n{display:none}.gq-st h3{margin:0 0 .15rem;font-size:1rem}.gq-st p{font-size:.74rem;line-height:1.4}
 .gq-fx{margin-top:.8rem}.gq-fx li{font-size:.56rem;padding:.3rem .5rem .3rem 1.1rem}.gq-fx li::before{left:.45rem}
 .gq-disc{font-size:.7rem;line-height:1.5}
 .gq-formg{grid-template-columns:minmax(0,1fr);gap:.6rem}.gq-fl .ct-sub{font-size:.8rem;margin:.5rem 0}
 .gq-sum{margin-top:.5rem;padding:.6rem .8rem}.gq-sumv{font-size:1.2rem}
 .ct-form{padding:1rem}.ct-form h2{font-size:1.1rem;margin-bottom:.6rem}.ct-fg{gap:.5rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .ct-fg textarea{min-height:2.6rem}.ct-fg input,.ct-fg select,.ct-fg textarea{padding:.5rem .6rem;font-size:.84rem}.field label{font-size:.54rem;margin-bottom:.2rem}
 .form-legal{display:none}
 .gq-fin{padding:5.25rem 0 max(34vw,150px)}.gq-fin h2{font-size:clamp(2.1rem,10.6vw,3.6rem)}.gq-fin .sky{height:max(34vw,150px)}
 .gq-wa{width:42px;height:42px}
}
@media(max-width:700px){.ct-fg{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:900px) and (max-height:720px){
 .gq-ic{width:56px}.gq-st{padding:.4rem .7rem}.gq-st p{font-size:.68rem}.gq-fx{display:none}
 .gq-fl .ct-sub{display:none}.gq-sum{display:none}.ct-fg{gap:.35rem}.ct-form{padding:.7rem}.ct-fg textarea{min-height:2rem;height:2.2rem}.ct-fs{margin-top:.5rem}
 .gq-est .gq-head,.gq-form .ct-eye{margin-bottom:.4rem}
}
@media(prefers-reduced-motion:reduce){
 .gqv .svc,.gq-list li,.gq-proc.go .gq-st{animation:none}.gqv .svc .sc,.gqv .tag{transition:none}
 .fw::after{clip-path:none!important;animation:none!important}.fw{color:var(--ink);-webkit-text-stroke:0}.fw.g{color:var(--gold)}
 [data-rv]{opacity:1;transform:none}.sky .rise{opacity:1!important;animation:none!important}
 .gq-st{opacity:1;transform:none}.gq-steps::before{transform:none;transition:none}.gic .ar{animation:none}
}

/* FIXES 2 */
.gq-lad text{font-size:9.5px}
.gq-steps::before{display:none}
.gq-st:not(:last-child)::after{content:'→';position:absolute;right:calc(clamp(1rem,2.4vw,2.4rem)*-.5 - .45rem);top:clamp(46px,7vh,64px);font-family:var(--fm);font-size:.9rem;color:var(--gold);z-index:2;background:var(--void);padding:.1rem .15rem}
.gq-ic{width:clamp(104px,17vh,160px)}
.gq-st h3{font-size:clamp(1.1rem,1.9vw,1.55rem)}.gq-st p{font-size:clamp(.82rem,1.7vh,.95rem)}
.gq-nx{list-style:none;margin-top:1.4rem;border-top:1px solid var(--lm);max-width:30rem}
.gq-nx li{display:flex;gap:1rem;align-items:baseline;padding:.6rem 0;border-bottom:1px solid var(--ln);font-size:.86rem;color:var(--w70)}
.gq-nx b{font-family:var(--fm);font-weight:400;font-size:.6rem;letter-spacing:.1em;color:var(--gold)}
@media(min-width:901px) and (max-height:860px){.gq-nx{display:none}}
@media(max-width:900px){.gq-nx{display:none}.gq-st:not(:last-child)::after{display:none}}

/* FINAL OVERRIDES */
@media(min-width:901px) and (max-height:780px){
 .gq-form .ct-form{padding:.9rem 1.3rem}.gq-form .ct-form h2{font-size:1.15rem;margin-bottom:.5rem}.gq-form .ct-fg{gap:.45rem .8rem}
 .gq-form .ct-fg textarea{min-height:2.4rem}.gq-form .form-legal{display:none}.gq-form .ct-fs{margin-top:.6rem}.gq-form .field label{margin-bottom:.2rem}
 .gq-form .ct-fg input,.gq-form .ct-fg select,.gq-form .ct-fg textarea{padding-top:.5rem;padding-bottom:.5rem}
}
@media(max-width:900px){
 .gq-con{grid-template-columns:minmax(0,1fr)}.gq-res,.gq-cta{grid-column:1}.gq-lad{display:none}
 .gq-cta .btn{width:100%}
 .gq-unit{margin-top:.4rem}
 .gq-ic{width:72px}.gq-st h3{font-size:1rem}.gq-st p{font-size:.74rem}
}
@media(max-width:900px) and (max-height:700px){
 .gq-ic{width:52px}.gq-est .gq-head{margin-bottom:.4rem}.gq-unit{display:none}.gq-con{padding:.7rem;row-gap:.45rem}.gq-seg button{padding:.4rem .3rem}.gq-amt{font-size:1.7rem}
 .gq-calc{font-size:.58rem}.gq-band{margin-top:.6rem}.gq-gst{font-size:.66rem}.gq-disc{display:none}.gq-fx{display:none}
}
@media(max-width:900px) and (max-height:700px){
 .gq-band{display:none}.gq-calc{display:none}.gq-est .ct-tabs{margin-bottom:.5rem}.gq-svc{margin-bottom:.4rem}.gs{padding:.4rem .5rem}
 .gq-form .ct-form h2{display:none}.gq-form .ct-form{padding:.6rem}.gq-form .gq-h2{font-size:1.6rem}
}

/* HERO STAGE — site lattice, journey path, scan */
.gqv .fl path{stroke:rgba(197,160,89,.07);stroke-width:1;fill:none}
.gqv .jp{fill:none;stroke:rgba(197,160,89,.35);stroke-width:1;stroke-dasharray:4 5}
.gqv .jf{fill:none;stroke:none}
.gqv .nd{fill:none;stroke:var(--gold);stroke-width:1;opacity:.7}.gqv .nd2{fill:var(--gold)}
html[data-theme=light] .gqv .fl path{stroke:rgba(140,100,30,.1)}

/* HERO PODIUM */
.gqv .sl-t{fill:rgba(255,255,255,.035);stroke:none}
.gqv .sl-f{fill:#10151f;stroke:rgba(197,160,89,.4);stroke-width:1}
.gqv .sl-e{fill:#0b0f17;stroke:rgba(197,160,89,.3);stroke-width:1}
.gqv .sl-s{fill:rgba(0,0,0,.5);filter:url(#bl)}
.gqv .sl-r{fill:none;stroke:var(--gold);stroke-width:1.3;opacity:.85}
.gqv .sl-i{fill:none;stroke:rgba(197,160,89,.28);stroke-width:1;stroke-dasharray:2 6}
.gqv .sl-k{stroke:rgba(197,160,89,.5);stroke-width:1}
.gqv .bm{fill:url(#bmg);stroke:none}
.gqv .bmw{opacity:0;transition:opacity .6s}
.gqv .svc.on .bmw{opacity:1;animation:gqBm 3.2s ease-in-out infinite}
@keyframes gqBm{50%{opacity:.55}}
html[data-theme=light] .gqv .sl-t{fill:rgba(197,160,89,.08)}
html[data-theme=light] .gqv .sl-f{fill:#e4dcc9}html[data-theme=light] .gqv .sl-e{fill:#d3c9b1}
html[data-theme=light] .gqv .sl-s{fill:rgba(60,40,10,.3)}
@media(prefers-reduced-motion:reduce){.gqv .svc.on .bmw{animation:none}}



/* base slab: a plinth with depth, not an outlined box */
.gqv .sl-f{fill:url(#slfD)}.gqv .sl-e{fill:url(#sleD)}.gqv .sl-t{fill:url(#sltD)}
.gqv .sl-hl{fill:none;stroke:rgba(255,236,190,.38);stroke-width:1;stroke-linejoin:round}
.gqv .sl-r{opacity:.6;stroke-width:1}
.gqv .sl-k{stroke:rgba(197,160,89,.22)}
html[data-theme=light] .gqv .sl-f{fill:url(#slfL)}html[data-theme=light] .gqv .sl-e{fill:url(#sleL)}html[data-theme=light] .gqv .sl-t{fill:url(#sltL)}
html[data-theme=light] .gqv .sl-hl{stroke:rgba(255,255,255,.8)}
/* borewell plot: a cut-away of earth — topsoil, sand, clay, water-bearing sand */
.iso .gb{stroke:rgba(0,0,0,.2);stroke-width:.4}.iso .gt{stroke:rgba(255,236,190,.22);stroke-width:.6}
.iso .gs-l{fill:#3a2f22}.iso .gs-r{fill:#261e15}
.iso .gn-l{fill:#75653f}.iso .gn-r{fill:#54462d}
.iso .gc-l{fill:#5c4032}.iso .gc-r{fill:#3f2b22}
.iso .ga-l{fill:#4a4f52}.iso .ga-r{fill:#33383b}
.iso .gt{fill:#85744f}
.iso .gg{fill:rgba(60,45,25,.45);stroke:none}.iso .gg2{fill:rgba(255,236,190,.28);stroke:none}.iso .gst{fill:#6d6657;stroke:none}
.iso .glip{fill:none;stroke:rgba(255,236,190,.35);stroke-width:.8;stroke-linejoin:round}
.iso .mn0{fill:rgba(0,0,0,.28);stroke:none}.iso .mn1{fill:#9b8760;stroke:rgba(255,236,190,.3);stroke-width:.5}.iso .mn2{fill:#7d6a45;stroke:none}
.iso .cps{stroke:rgba(0,0,0,.35);stroke-width:4;stroke-linecap:round;fill:none}
.iso .cp{stroke:#aab1ba;stroke-width:3.4;stroke-linecap:round;fill:none}.iso .cpe{fill:#3b424b;stroke:#d5dae0;stroke-width:.5}
.iso .mth{fill:#10141a;stroke:var(--gold-hi);stroke-width:1.2}.iso .mth2{fill:#04070a;stroke:none}
.gqv .fvs{stroke:rgba(255,255,255,.75);stroke-width:.9;fill:none}
.gqv.k2 .w2{animation:wkIn var(--t,2.4s) var(--ease) var(--d,0s) both}
.gqv.k2 .w2 .bob{animation:bobk .44s ease-in-out var(--d,0s) var(--n,5)}
.gqv.k2 .w2 .fam.swg{animation:swg .8s ease-in-out 3.4s infinite alternate}
html[data-theme=light] .iso .gs-l{fill:#8a6e4a}html[data-theme=light] .iso .gs-r{fill:#6d5638}
html[data-theme=light] .iso .gn-l{fill:#dcc58e}html[data-theme=light] .iso .gn-r{fill:#bfa86f}
html[data-theme=light] .iso .gc-l{fill:#c28c6c}html[data-theme=light] .iso .gc-r{fill:#a2705a}
html[data-theme=light] .iso .ga-l{fill:#9aa0a0}html[data-theme=light] .iso .ga-r{fill:#7f8585}
html[data-theme=light] .iso .gt{fill:#e6d4a4}
html[data-theme=light] .iso .gg{fill:rgba(110,80,40,.35)}html[data-theme=light] .iso .gg2{fill:rgba(255,255,255,.55)}
html[data-theme=light] .iso .mth{fill:#2a2418}
@media(prefers-reduced-motion:reduce){.gqv.k2 .w2{animation:none;opacity:1}}


/* focus: active chapter lit, others recede */
.gqv .svc{transition:opacity .6s ease,filter .6s ease}
.gqv:has(.svc.on) .svc:not(.on){filter:brightness(.6) saturate(.7)}
.gqv .svc.on .p-t{stroke:rgba(197,160,89,.75)}
.gqv .svc.on .shd{fill:rgba(197,160,89,.2)}
html[data-theme=light] .gqv:has(.svc.on) .svc:not(.on){filter:saturate(.55) contrast(.88) brightness(1.03)}
html[data-theme=light] .gqv .svc.on .shd{fill:rgba(150,110,30,.22)}
/* chapter rates + pause */
.gq-ch button{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.55rem;row-gap:.2rem;align-items:baseline}
.gq-ch button small{grid-column:2;font:400 .68rem/1.2 var(--fm);letter-spacing:.02em;color:var(--w45);transition:color .3s}
.gq-ch button.on small,.gq-ch button:hover small{color:var(--gold-hi)}
.gq-cap{padding-right:3rem}
.gq-pz{position:relative;z-index:2;grid-column:2;grid-row:3;justify-self:end;align-self:start;width:44px;height:44px;margin-top:-.45rem;display:grid;place-items:center;background:none;border:0;color:var(--w45);cursor:pointer;transition:color .2s}
.gq-pz:hover{color:var(--ink)}.gq-pz:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}
.gq-pz svg{width:14px;height:14px;fill:currentColor}.gq-pz .pl{display:none}.gq-pz[aria-pressed=true] .pa{display:none}.gq-pz[aria-pressed=true] .pl{display:block}
.gq-ch.paused button.on::after{animation-play-state:paused}
@media(max-width:900px){.gq-pz{grid-column:1;grid-row:4}}
@media(max-width:700px){.gq-ch button small{display:none}}
@media(prefers-reduced-motion:reduce){.gq-pz{display:none}}

/* ───────── HERO STORY: one building → three trades ───────── */
.gqv .st{transition:transform 1.7s var(--ease),opacity 1s ease}
.gqv .st0{transform:translate(200px,59.5px);opacity:0}
.gqv .st2{transform:translate(-200px,-59.5px);opacity:0}
.gqv .st1{opacity:0;transition-delay:.45s}
.gqv.k1 .st{transform:none;opacity:1}
.gqv .bld{transition:opacity 1.1s ease,transform 1.3s var(--ease)}
.gqv.k1 .bld{opacity:0;transform:translateY(-16px)}
.gqv .jr{opacity:0;transition:opacity 1s .9s}.gqv.k1 .jr{opacity:1}
.gqv .sl,.gqv .bmw{transition:opacity .8s .9s}.gqv:not(.k1) .sl{opacity:0}
.gqv.rst *{transition-duration:.45s!important;transition-delay:0s!important}
/* rising work */
.gqv .rs{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(0);opacity:0;transition:transform .95s var(--ease) var(--d,0s),opacity .25s linear var(--d,0s)}
.gqv.k3 .r3,.gqv.k4 .r4{transform:none;opacity:1}
.gqv .dr{transform:translateY(-30px);opacity:0;transition:transform .9s cubic-bezier(.2,.9,.3,1.12) var(--d,0s),opacity .4s var(--d,0s)}
.gqv.k4 .dr{transform:none;opacity:1}
.gqv .paint{fill:rgba(197,160,89,.26)}.gqv .paint2{fill:rgba(197,160,89,.14)}
.gqv .lcone{fill:url(#lcg);opacity:0;transition:opacity 1.4s 6.4s}.gqv.k4 .lcone{opacity:1}
.gqv .brk{transform-origin:50% 50%}
/* vehicles */
.gqv .tmove,.gqv .cmove{opacity:0}
.gqv.k2 .vb .tmove,.gqv.k2 .vm .tmove{animation:vIn 2s var(--ease) .2s both}
.gqv.k3 .vc .cmove{animation:cIn 8.4s var(--ease) .1s both}
.gqv.k4 .vv .cmove{animation:vvIn 2s var(--ease) .1s both}
@keyframes vIn{from{transform:translate(62px,-36px);opacity:0}35%{opacity:1}to{transform:none;opacity:1}}
@keyframes vvIn{from{transform:translate(-56px,-32px);opacity:0}35%{opacity:1}to{transform:none;opacity:1}}
@keyframes cIn{0%{transform:translate(-56px,-32px);opacity:0}6%{opacity:1}24%,70%{transform:none;opacity:1}94%{opacity:1}100%{transform:translate(58px,33px);opacity:0}}
.gqv .tyr{fill:#080b10;stroke:rgba(197,160,89,.55);stroke-width:.9}.gqv .hub{fill:#8d9199}
.gqv .drm{stroke:rgba(255,236,190,.7);stroke-width:1.2;fill:none;animation:drmf .9s ease-in-out infinite}
.gqv .drm:nth-of-type(2n){animation-delay:-.3s}.gqv .drm:nth-of-type(3n){animation-delay:-.6s}
@keyframes drmf{50%{opacity:.15}}
.gqv .chute{display:none}
.gqv .bdr{fill:rgba(197,160,89,.5)}
/* rig */
.gqv .mstg{transform-box:fill-box;transform-origin:50% 100%;transform:scaleY(.05);opacity:0}
.gqv.k2 .mstg{animation:mstUp 1.1s var(--ease) 2.2s both}
@keyframes mstUp{from{transform:scaleY(.05);opacity:1}to{transform:none;opacity:1}}
.gqv .rod0{stroke:rgba(255,255,255,.75);stroke-width:1.5;fill:none}
.gqv .rod{stroke:var(--gold-hi);stroke-width:2.2;stroke-linecap:round;fill:none}
.gqv .bit{fill:var(--gold-hi)}
.gqv .rodg,.gqv .bitg,.gqv .bwg{transform-box:fill-box}
.gqv .rodg{transform-origin:50% 0;transform:scaleY(0)}
.gqv .bitg{transform:translateY(-12px);opacity:0}
.gqv .bwg{transform-origin:50% 100%;transform:scaleY(.02)}
.gqv .bw{fill:rgba(120,185,240,.9)}
.gqv.k2 .rodg{animation:rodD 4.4s ease-in-out 3.3s both}
.gqv.k2 .bitg{animation:bitD 4.4s ease-in-out 3.3s both}
.gqv.k2 .bwg{animation:bwU 2.2s var(--ease) 6.0s both}
@keyframes rodD{0%{transform:scaleY(0)}62%,74%{transform:scaleY(1)}100%{transform:scaleY(0)}}
@keyframes bitD{0%{transform:translateY(-12px);opacity:1}62%,74%{transform:none;opacity:1}99%{transform:translateY(-12px);opacity:1}100%{opacity:0}}
@keyframes bwU{to{transform:scaleY(1)}}
.gqv .aq{opacity:.45}.gqv.k2 .aq{animation:aqOn 1.4s ease 5.6s both}
@keyframes aqOn{to{opacity:1}}
.gqv .gz{fill:none;stroke:rgba(165,213,252,.98);stroke-width:2;stroke-linecap:round;stroke-dasharray:3 5;opacity:0}
.gqv.k2 .gz{animation:gzIn .5s ease 6.5s both,gzFl .75s linear 6.5s infinite;animation-delay:calc(6.5s + var(--q)*.07s)}
@keyframes gzIn{to{opacity:1}}@keyframes gzFl{to{stroke-dashoffset:-16}}
.gqv .pud,.gqv .pud2{fill:rgba(120,185,240,.5);transform-box:fill-box;transform-origin:center;transform:scale(0)}
.gqv .pud2{fill:rgba(190,225,250,.45)}
.gqv.k2 .pud{animation:pudG 2.8s var(--ease) 6.7s both}.gqv.k2 .pud2{animation:pudG 2.2s var(--ease) 7.1s both}
@keyframes pudG{to{transform:scale(1)}}
/* people */
.gqv .wk{opacity:0}
.gqv.k3 .w3,.gqv.k4 .w4{animation:wkIn var(--t,2.4s) var(--ease) var(--d,0s) both}
.gqv.k3 .w3 .bob,.gqv.k4 .w4 .bob{animation:bobk .44s ease-in-out var(--d,0s) var(--n,6)}
@keyframes wkIn{from{transform:translate(var(--fx),var(--fy));opacity:0}14%{opacity:1}to{transform:none;opacity:1}}
@keyframes bobk{50%{transform:translateY(-1.6px)}}
.gqv .fv{fill:var(--gold)}.gqv .fs{fill:#e8e2d3}.gqv .fh{fill:var(--gold-hi)}.gqv .fh2{stroke:var(--gold-hi);stroke-width:1.2}
.gqv .fhr{fill:#2a2420}.gqv .fsk{fill:#d4bd9c}
.gqv .flg,.gqv .fam{stroke:rgba(236,229,213,.8);stroke-width:1.5;stroke-linecap:round;fill:none}
.gqv .fsh{fill:rgba(0,0,0,.45)}
.gqv .fam.swg{transform-box:fill-box;transform-origin:0 0}
.gqv.k3 .w3 .fam.swg,.gqv.k4 .w4 .fam.swg{animation:swg .7s ease-in-out 3s infinite alternate}
@keyframes swg{to{transform:rotate(-38deg)}}
html[data-theme=light] .gqv .fs{fill:#2a3340}
html[data-theme=light] .gqv .flg,html[data-theme=light] .gqv .fam{stroke:#2a3340}
html[data-theme=light] .gqv .tyr{fill:#2a2418}
html[data-theme=light] .gqv .fsh{fill:rgba(60,40,10,.3)}
html[data-theme=light] .gqv .paint{fill:rgba(197,160,89,.4)}
html[data-theme=light] .gqv .bw{fill:rgba(60,130,200,.85)}
@media(prefers-reduced-motion:reduce){
.gqv *{animation:none!important;transition:none!important}
.gqv.k5 .wk,.gqv.k5 .tmove{opacity:1}.gqv.k5 .mstg{transform:none;opacity:1}.gqv.k5 .bwg{transform:none}.gqv.k5 .w2{opacity:1}.gqv.k5 .aq{opacity:1}.gqv.k5 .gz{opacity:1}.gqv.k5 .pud,.gqv.k5 .pud2{transform:none}
}
@media(max-width:480px) and (max-height:700px){.gq-scope .gq-list li{padding:.32rem 0;font-size:.8rem}.gq-scope .gq-desc{font-size:.8rem;line-height:1.45}.gq-ind{font-size:.7rem}}

.gqv .sl{font-size:11px;letter-spacing:.2em;dominant-baseline:central}.gqv .sn{font-size:12px}
.gqv .sl{fill:rgba(236,229,213,.74)}.gqv .svc.on .sl{fill:var(--gold-hi)}
html[data-theme=light] .gqv .sl{fill:rgba(40,30,10,.72)}html[data-theme=light] .gqv .svc.on .sl{fill:var(--gold)}
.gqv .sl-k{display:none}
html[data-theme=light] .gqv .shd{fill:rgba(60,40,10,.16)}

.iso .bk-l{fill:#6f4739}.iso .bk-r{fill:#4b2f27}.iso .bk-t{fill:#85594a}
.iso .wd-l{fill:#7b5633}.iso .wd-r{fill:#50371f}.iso .wd-t{fill:#8f6942}
.iso .lob-l{fill:#0a0d13}.iso .lob-r{fill:#06080c}.iso .lob-t{fill:#10151d}
.iso .rail{fill:rgba(160,200,230,.2);stroke:rgba(200,222,240,.35);stroke-width:.6}
.iso .wl2{fill:#9fb7d0;opacity:.55}
html[data-theme=light] .iso .bk-l{fill:#c28a72}html[data-theme=light] .iso .bk-r{fill:#a2705a}html[data-theme=light] .iso .bk-t{fill:#d29d86}
html[data-theme=light] .iso .wd-l{fill:#b88a58}html[data-theme=light] .iso .wd-r{fill:#98703f}html[data-theme=light] .iso .wd-t{fill:#c99d6a}
html[data-theme=light] .iso .lob-l{fill:#4a4234}html[data-theme=light] .iso .lob-r{fill:#38311f}html[data-theme=light] .iso .lob-t{fill:#5a5140}
html[data-theme=light] .iso .rail{fill:rgba(70,110,150,.18);stroke:rgba(40,70,100,.4)}

.gqv .tsh{fill:rgba(0,0,0,.4)}.gqv .ttk{stroke:#4a3826;stroke-width:2.2;fill:none}
.gqv .tc1{fill:#1b3a2d}.gqv .tc2{fill:#2c5a40}
html[data-theme=light] .gqv .tsh{fill:rgba(60,40,10,.2)}html[data-theme=light] .gqv .tc1{fill:#5d8a5c}html[data-theme=light] .gqv .tc2{fill:#7fae78}
