/* ============================ process — sticky ============================ */
.proc{padding:clamp(50px,7vh,90px) var(--gut) clamp(100px,14vh,180px);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,5vw,90px)}
.proc .proc-l{position:sticky;top:16vh;align-self:start}
.proc .proc-l h2{font-family:var(--f-disp);font-weight:370;letter-spacing:-.02em;line-height:1.02;font-size:clamp(1.8rem,4.05vw,3.75rem);max-width:12ch;margin-top:28px}
.proc .proc-l h2.tr-ne{font-size:clamp(1.62rem,3.65vw,3.38rem)}   /* NE 10% smaller */
.proc .proc-l h2 em{font-style:italic;color:var(--tr)}
body.lang-ne .proc-l h2{line-height:1.26}
.proc .proc-l p{margin-top:24px;max-width:36ch;color:var(--gr);font-size:.98rem}
.proc .pstep{padding:clamp(30px,5vh,50px) 0;border-top:1px solid var(--hl);display:grid;grid-template-columns:70px 1fr;gap:clamp(14px,2vw,30px)}
.proc .pstep:last-child{border-bottom:1px solid var(--hl)}
.proc .pstep .pn{font-family:var(--f-mono);font-size:.72rem;color:var(--tr);letter-spacing:.1em;padding-top:8px}
.proc .pstep:nth-child(even) .pn{color:var(--blu)}
.proc .pstep h3{font-family:var(--f-disp);font-weight:410;font-size:clamp(1.13rem,1.95vw,1.73rem);line-height:1.08;letter-spacing:-.01em}
.proc .pstep p{margin-top:12px;font-size:.9rem;color:var(--gr);max-width:44ch}
@media(max-width:840px){.proc{grid-template-columns:1fr}.proc .proc-l{position:static}}

/* ============================ insights marquee + links ============================ */
.mq{padding:clamp(45px,6.5vh,85px) 0 clamp(90px,13vh,170px);overflow:hidden}
.mq .lbl{display:block;padding:0 var(--gut);margin-bottom:clamp(40px,6vh,70px)}
.mq .mq-row{display:flex;white-space:nowrap;will-change:transform;font-family:var(--f-disp);font-weight:370;letter-spacing:-.02em;
  font-size:clamp(2.6rem,6.4vw,6rem);line-height:1.22;color:var(--ink2)}
.mq .mq-row+.mq-row{margin-top:.1em}
.mq .mq-row.alt{color:transparent;-webkit-text-stroke:1.2px #AFC2D6;font-style:italic}
.mq .mq-row.dv{font-family:var(--f-dev);font-weight:600;font-size:clamp(2rem,5vw,4.6rem)}
.mq .mq-row span{padding-right:.7em}
.mq .mq-row span i{font-style:normal;color:var(--amb);font-family:var(--f-mono);font-size:.32em;vertical-align:.85em;letter-spacing:.1em;padding-right:.6em}
.mq .mq-links{padding:clamp(50px,8vh,90px) var(--gut) 0;display:flex;flex-direction:column}
.mq .mql{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:22px 0;border-top:1px solid var(--hl);color:var(--ink2);position:relative;overflow:hidden}
.mq .mql:last-child{border-bottom:1px solid var(--hl)}
.mq .mql .t{font-family:var(--f-disp);font-weight:410;font-size:clamp(.9rem,1.65vw,1.35rem);letter-spacing:-.01em;transition:transform .5s var(--ease)}
.mq .mql .m{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blu);flex:0 0 auto}
.mq .mql::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--blu);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.mq .mql:hover .t{transform:translateX(14px)}
.mq .mql:hover::after{transform:scaleX(1)}
.mq .mq-all{margin:26px var(--gut) 0;display:inline-flex;align-items:center;gap:12px;
  font-family:var(--f-mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gr)}
.mq .mq-all::after{content:"↗";color:var(--tr);transition:transform .35s var(--ease)}
.mq .mq-all:hover::after{transform:translate(3px,-3px)}
@media(max-width:840px){.mq .mql{flex-direction:column;align-items:flex-start;gap:8px}}

/* ============================ finale / contact (light) ============================
   Light drafting-paper plate. Two ambient CSS animations live behind the content:
   a slow-panning blueprint grid (::before) and a breathing brass/blue glow (::after).
   Content sits above them via z-index; footer is now a separate element below. */
.fin{position:relative;isolation:isolate;overflow:hidden;color:var(--ink2);
  background:linear-gradient(175deg,#FBF8F2 0%,var(--paper) 62%,#EFEAE1 100%);
  padding:clamp(60px,9vh,110px) var(--gut) clamp(80px,12vh,120px)}
/* ambient blueprint grid — slowly pans down-right, forever */
.fin::before{content:"";position:absolute;inset:-60px;z-index:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(29,59,90,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(29,59,90,.06) 1px,transparent 1px);
  background-size:46px 46px,46px 46px;animation:finGrid 34s linear infinite}
/* breathing glow — brass warmth top-left, engineering blue drifting */
.fin::after{content:"";position:absolute;z-index:0;pointer-events:none;
  top:-20%;left:-10%;width:70%;height:80%;border-radius:50%;filter:blur(70px);opacity:.5;
  background:radial-gradient(circle,rgba(201,141,46,.28),transparent 68%);
  animation:finGlow 13s ease-in-out infinite}
@keyframes finGrid{to{background-position:46px 46px,46px 46px}}
@keyframes finGlow{0%,100%{transform:translate(0,0) scale(1);opacity:.42}
  50%{transform:translate(6%,4%) scale(1.14);opacity:.62}}
.no-motion .fin::before,.no-motion .fin::after{animation:none}
/* keep all content above the ambient layers */
.fin>*{position:relative;z-index:1}
.fin .lbl{color:var(--gr)}
.fin h2{font-family:var(--f-disp);font-weight:370;letter-spacing:-.025em;line-height:.98;font-size:clamp(2.55rem,8.25vw,8.25rem);margin-top:34px}
.fin h2.tr-ne{font-size:clamp(2.3rem,7.43vw,7.43rem)}   /* NE 10% smaller */
.fin h2 em{font-style:italic;color:transparent;-webkit-text-stroke:1.5px rgba(16,20,24,.82)}
.fin h2 .dot{color:var(--tr2)}
body.lang-ne .fin h2{line-height:1.2}
.fin .fin-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(30px,6vw,110px);margin-top:clamp(60px,10vh,110px);padding-bottom:clamp(40px,7vh,80px)}
.fin .fin-l p{color:#4b5058;font-size:1rem;max-width:38ch}
.fin .fin-l .fl{margin-top:34px;display:flex;flex-direction:column;gap:0}
/* info rows — hairline separators; nudge right on hover for a touch of life */
.fin .fin-l .fl div{padding:16px 4px 16px 0;border-top:1px solid var(--hl);font-family:var(--f-mono);font-size:.7rem;letter-spacing:.08em;color:var(--gr);display:flex;gap:16px;
  transition:transform .4s var(--ease),border-color .4s,color .4s}
.fin .fin-l .fl div:hover{transform:translateX(6px);border-color:var(--tr);color:var(--ink2)}
.fin .fin-l .fl b{color:var(--ink2);font-weight:500;min-width:110px}
.fin form .ff{position:relative;margin-bottom:34px}
/* focus: red line draws in from the left; label warms up */
.fin form .ff::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--tr2);
  transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}
.fin form .ff:focus-within::after{transform:scaleX(1)}
.fin form .ff:focus-within label{color:var(--ink2)}
.fin form label{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gr);display:block;margin-bottom:6px;transition:color .3s}
.fin form input,.fin form select,.fin form textarea{appearance:none;width:100%;background:none;border:0;border-bottom:1px solid var(--gr2);
  color:var(--ink2);font-family:var(--f-disp);font-weight:410;font-size:clamp(1.15rem,1.8vw,1.5rem);padding:8px 0 14px;border-radius:0;transition:border-color .3s}
.fin form select{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center}
.fin form select option{color:var(--ink2);font-family:var(--f-body);font-size:1rem}
.fin form input::placeholder,.fin form textarea::placeholder{color:rgba(16,20,24,.28)}
.fin form input:focus,.fin form select:focus,.fin form textarea:focus{outline:0;border-color:var(--ink2)}
.fin form .frow2{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.fin form button{appearance:none;background:none;border:1px solid rgba(16,20,24,.55);border-radius:99px;color:var(--ink2);
  font-family:var(--f-mono);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;padding:20px 44px;cursor:pointer;
  transition:background .4s var(--ease),color .4s,border-color .4s,opacity .3s;margin-top:6px}
.fin form button:hover{border-color:var(--tr);color:#fff}
.fin form button:not(.bfill):hover{background:var(--tr)}
.fin form button:active{background:var(--tr);border-color:var(--tr);color:#fff}
.fin form button[disabled]{opacity:.45;pointer-events:none}
/* sending state — label dims, mono dots tick */
.fin form button.busy{color:var(--gr)}
.fin form button.busy::after{content:"···";display:inline-block;margin-left:10px;animation:bdots .9s steps(3,end) infinite}
@keyframes bdots{0%{content:"·"}34%{content:"··"}67%{content:"···"}}
.fin .hp{position:absolute;left:-9999px;top:-9999px;height:0;overflow:hidden}
.fin .fin-privacy{margin-top:18px;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.06em;color:rgba(16,20,24,.4);line-height:1.9}
.fin .fin-err{display:none;margin-top:16px;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.06em;color:var(--tr)}
.fin .fin-r.err .fin-err{display:block}
.fin .thanks2{display:none;padding:20px 0 60px}
.fin .thanks2 h3{font-family:var(--f-disp);font-weight:370;font-size:clamp(1.35rem,2.55vw,2.25rem);line-height:1.1}
.fin .thanks2 h3 em{font-style:italic;color:var(--tr2)}
.fin .thanks2 p{margin-top:16px;color:var(--gr);max-width:40ch}
.fin .fin-r.sent form{display:none}
.fin .fin-r.sent .thanks2{display:block}
@media(max-width:840px){.fin .fin-grid{grid-template-columns:1fr}.fin form .frow2{grid-template-columns:1fr}}

/* footer — standalone strip under insights, on the light page background */
.ft{border-top:1px solid var(--hl);padding:34px var(--gut) 40px;display:flex;flex-wrap:wrap;gap:14px 34px;justify-content:space-between;align-items:center}
.ft span,.ft a{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.1em;color:var(--gr);text-transform:uppercase}
.ft a:hover{color:var(--ink2)}
.ft .ft-dev{font-family:var(--f-dev);text-transform:none;letter-spacing:.05em;font-size:.72rem;color:var(--ink2)}
