/* A continuous scroll story, from two sculptural forms to one signature. */
body:has(.thread-prologue) main{position:relative}.thread-prologue{position:relative}.thread-hero h1>span,.thread-hero h1>em{display:block}.thread-stage{background:radial-gradient(ellipse at 52% 46%,#ece5d9 0%,#f6f2e9 55%,#f7f4ee 85%);border:0;border-radius:0;isolation:isolate;overflow:visible}.thread-stage>img{animation:none;transition:none;inset:auto;left:50%;top:50%;width:auto;height:auto;max-width:100%;max-height:100%;transform:translate(-50%,-50%) perspective(1100px) rotateX(var(--art-lean-x,0deg)) rotateY(var(--art-lean-y,0deg));transform-origin:center;mix-blend-mode:multiply;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}.thread-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;opacity:0;transition:opacity .3s}.thread-stage[data-rendered=true] canvas{opacity:var(--sculpture-handover,0)}.thread-stage[data-rendered=true]>img{opacity:calc(1 - var(--sculpture-handover,0));visibility:visible}.thread-stage .image-label{left:24px;top:14px;z-index:2}.thread-stage .image-label span:last-child{font-size:12px;letter-spacing:1.6px;color:var(--muted)}.thread-stage .image-caption{left:24px;bottom:68px}.thread-phase{font:italic 22px/1.4 var(--serif);color:var(--heart)}.thread-motion{position:absolute;z-index:3;bottom:14px;left:24px;background:transparent;border:0;border-bottom:1px solid #9baeb0;font-size:14px;letter-spacing:.1px;padding:5px 0;color:var(--muted);min-height:44px}.thread-motion[hidden]{display:none}.thread-exit{position:absolute;left:82%;bottom:0;width:1px;height:1px}.thread-cue p{margin:0;font-size:14px}.thread-cue p>span{display:inline-block;margin-left:12px;color:var(--heart)}
.thread-active .thread-prologue{height:calc(190svh - 100px);min-height:1120px}.thread-active .thread-hero{position:sticky;top:100px;min-height:620px;height:calc(100svh - 100px);max-height:1000px;grid-template-rows:minmax(0,1fr) auto;padding-top:20px;gap:0 4%;align-items:center;overflow:hidden}.thread-hero .hero-copy{padding-top:0}.thread-active .thread-stage{min-height:0;height:100%;max-height:660px;align-self:center}.thread-active .thread-hero h1{font-size:clamp(50px,5.3vw,82px);line-height:1.02;margin-bottom:22px}.thread-active .thread-hero .lead{font-size:16px;line-height:1.75}.thread-active .hero-actions{margin-top:22px}.thread-active .hero-note{margin-bottom:10px}.thread-active .thread-cue{padding:14px 0 22px;align-self:end}.thread-active .thread-hero .eyebrow{margin-bottom:20px}.thread-active .thread-cue{border-top:1px solid #cbd7d570}
.thread-trail{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:4;pointer-events:none;contain:layout style}.thread-trail path{fill:none;stroke-linecap:round;stroke-linejoin:round}.thread-trail .trail-shadow{stroke:#422b1922;stroke-width:6;transform:translate(1px,2px)}.thread-trail .trail-body{stroke:url(#rida-thread-metal);stroke-width:3.5}.thread-trail .trail-shine{stroke:#f5dec49e;stroke-width:1;transform:translate(-.6px,-.7px)}.thread-trail .trail-tip{fill:#ba7652;stroke:#fff1dc;stroke-width:1.5;filter:drop-shadow(0 1px 2px #6d402b66)}
.thread-signature{position:relative;background:#e7eeeb;text-align:center;padding:135px 6% 80px;overflow:hidden}.thread-signature .eyebrow{display:block;color:var(--muted);font-size:12px;letter-spacing:2px;margin-bottom:35px}.thread-signature h2{margin:0;font-weight:400;color:var(--mind);line-height:1}.signature-rida{display:block;font:clamp(110px,17vw,240px)/.96 var(--serif);letter-spacing:-.085em;padding-right:.09em;padding-bottom:20px}.signature-rahma{display:block;font:500 22px/1.5 'DM Sans',sans-serif;letter-spacing:.56em;padding-left:.56em}.signature-note{font:normal 28px/1.6 var(--serif);color:var(--mind);margin:30px 0 0}.thread-active .thread-signature h2,.thread-active .thread-signature .signature-note{opacity:var(--signature-reveal,0);transform:translateY(calc((1 - var(--signature-reveal,0))*28px));clip-path:inset(0 calc((1 - var(--signature-reveal,0))*100%) 0 0)}.thread-static .thread-signature h2,.thread-static .thread-signature .signature-note{opacity:1;transform:none;clip-path:none}
:lang(ml) .thread-hero h1{font:500 clamp(34px,3.6vw,51px)/1.55 system-ui,sans-serif;letter-spacing:normal}:lang(ml) .thread-phase{font:16px/1.7 system-ui,sans-serif}:lang(ml) .thread-signature .signature-rida{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.085em!important}:lang(ml) .thread-signature .eyebrow{font-size:14px;letter-spacing:normal}:lang(ml) .signature-note{font:18px/1.9 system-ui,sans-serif}
@media(max-width:1000px) and (min-width:761px){.thread-active .thread-hero h1{font-size:clamp(48px,6vw,60px)}.thread-active .thread-hero .hero-actions{gap:14px;flex-wrap:wrap}.thread-stage .image-label{left:10px}.thread-stage .image-caption,.thread-stage .thread-motion{left:10px}}
@media(max-width:760px){.thread-prologue .hero{padding:24px 6% 28px;gap:12px;display:grid;grid-template-columns:1fr}.thread-hero .hero-copy{display:contents}.thread-hero .eyebrow{grid-row:1;margin:0!important;font-size:12px;letter-spacing:1.1px}.thread-hero h1{grid-row:2;font-size:clamp(27px,7.9vw,42px)!important;line-height:1.2!important;letter-spacing:-1.3px;margin:0}.thread-hero h1 br{display:none!important}.thread-hero h1 br:after{content:' '}.thread-hero h1>span,.thread-hero h1>em{white-space:normal}.thread-stage{grid-row:3;height:220px;min-height:0;aspect-ratio:auto}.thread-hero .lead{grid-row:4;margin:0;font-size:15px;line-height:1.55;max-width:none}.thread-hero .hero-actions{grid-row:5;margin:0;gap:15px;flex-wrap:wrap}.thread-hero .hero-actions .button{padding:12px 17px;min-height:46px}.thread-hero .hero-actions .text-link{font-size:14px}.thread-hero .hero-note{display:none}.thread-hero .hero-lead-secondary{display:none!important}.thread-cue{grid-row:6;display:flex!important;padding:10px 0 0!important;font-size:11px}.thread-cue p{font-size:12px}.thread-cue>span{display:none}.thread-stage .image-label{left:0;top:6px;font-size:12px;line-height:1.6;letter-spacing:1px}.thread-stage .image-label span:last-child{font-size:12px;letter-spacing:.6px}.thread-stage .image-caption{left:0;bottom:54px}.thread-stage .thread-phase{font-size:16px}.thread-stage .thread-motion{left:0;bottom:0;font-size:14px;min-height:44px}.thread-active .thread-prologue{height:calc(190svh + 300px);min-height:1520px}.thread-active .thread-hero{top:78px;height:calc(100svh - 78px);min-height:640px;max-height:none;grid-template-rows:auto auto minmax(160px,1fr) auto auto auto;align-items:start;gap:11px;padding-top:16px;padding-bottom:20px}.thread-active .thread-stage{height:100%;max-height:230px;width:100%;min-height:160px}.thread-active .thread-hero .lead{font-size:15px;line-height:1.55}.thread-active .thread-hero .hero-actions{margin:0}.thread-active .thread-hero h1{margin:0}.thread-active .thread-cue{width:100%;padding-bottom:0!important}.thread-signature{padding:120px 6% 70px}.thread-signature .eyebrow{font-size:12px;letter-spacing:1.4px}.signature-rida{font-size:140px;padding-bottom:20px}.signature-rahma{font-size:20px}.signature-note{font-size:25px}.thread-trail .trail-body{stroke-width:2.5}.thread-trail .trail-shadow{stroke-width:4}:lang(ml) .thread-hero h1{font-size:clamp(24px,6.2vw,32px)!important;line-height:1.5!important}:lang(ml) .thread-hero .lead{line-height:1.7;font-size:16px}:lang(ml) .thread-hero .eyebrow{font-size:12px}:lang(ml) .thread-active .thread-hero{min-height:735px}:lang(ml) .thread-stage .image-label{display:none}:lang(ml) .thread-phase{font-size:13px}}
@media(prefers-reduced-motion:reduce){:root:not(.thread-active) .thread-prologue .thread-hero{position:relative;height:auto;max-height:none}:root:not(.thread-active) .thread-prologue{height:auto!important;min-height:0!important}:root:not(.thread-active) .thread-trail{display:none}.thread-stage>img,.thread-stage canvas{transition:none!important}:root:not(.thread-active) .thread-signature h2,:root:not(.thread-active) .thread-signature .signature-note{opacity:1!important;transform:none!important;clip-path:none!important}}
/* A quiet, dimensional closing scene. The copper loop becomes the signature. */
.thread-signature{padding:0;overflow:visible;background:#153d43}
.signature-panel{position:relative;isolation:isolate;overflow:hidden;padding:110px 6% 100px;background:radial-gradient(ellipse at 51% 38%,#2a5559 0%,#1b444a 43%,#12353c 100%);color:#fff2df}
.signature-panel:after{content:'';position:absolute;inset:22px;border:1px solid #c7b19526;pointer-events:none;z-index:2}
.signature-light{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 23% 15%,#caa16e13,transparent 47%),radial-gradient(ellipse at 70% 63%,#06252f40,transparent 60%);transform:translateY(calc(var(--signature-progress,1)*-12px));opacity:calc(.6 + var(--signature-progress,1)*.4)}
.thread-signature .eyebrow{position:relative;z-index:1;color:#d0dbd8;font-size:12px;line-height:1.8;letter-spacing:2px;margin:0 0 55px}
.thread-signature .eyebrow:after{content:'';display:block;width:32px;height:1px;margin:17px auto 0;background:#ce9b70}
.thread-signature h2,.thread-signature .signature-note{color:#fff2df;opacity:1;transform:none;clip-path:none}
.signature-rida{text-shadow:0 3px 1px #081e2440,0 18px 28px #051b2440}
.signature-rahma{font-size:20px;letter-spacing:.38em;padding-left:.38em;color:#edd4b6}
.signature-note{font-size:28px;margin-top:45px}
.signature-translation{position:relative;z-index:1;font:16px/1.8 system-ui,sans-serif;color:#d2ddd9;margin:20px 0 0}
.signature-endpoint{position:absolute;bottom:36px;left:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:#e5ba89;box-shadow:0 0 0 7px #e5ba890d,0 0 18px #e5ba891f;opacity:calc(.35 + var(--signature-progress,1)*.65)}
.thread-signature[data-writing=true] .signature-panel{height:calc(100svh - 100px);min-height:620px;padding:0}
.thread-active .thread-signature[data-writing=true]{height:calc(100svh + 620px)}
.thread-active .thread-signature[data-writing=true] .signature-panel{position:sticky;top:100px}
.thread-signature[data-writing=true] .eyebrow{position:absolute;top:42px;left:8%;right:8%;margin:0}
.thread-signature[data-writing=true] .signature-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.thread-signature[data-writing=true] .signature-translation{position:absolute;top:86%;left:8%;right:8%;margin:0}
.signature-writing{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none}
.signature-writing path,.signature-writing ellipse{fill:none;stroke-linecap:round;stroke-linejoin:round}
.signature-typeset .type-letterforms{filter:drop-shadow(0 2px 1px #071f2b66) drop-shadow(0 12px 16px #041b234d)}
.signature-typeset .type-fill{stroke:none;fill:url(#signature-ivory)}
.signature-typeset .type-by{fill:#edd4b6}
.signature-typeset .type-tagline{fill:#f7eddf}
.signature-typeset .type-loop-guide{stroke:#ddb3832b;stroke-width:1}
.signature-typeset .type-echo{stroke:#acd0c22b;stroke-width:1}
.signature-typeset .type-trace{fill:none;stroke:url(#signature-copper);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.signature-typeset .type-arrival{stroke-width:2.7}
.signature-typeset .type-loop{stroke-width:2.2;filter:drop-shadow(0 2px 2px #061e2b99)}
.signature-typeset .type-bridge{stroke-width:1.1;stroke:#c99c74}
.signature-typeset .type-finish{stroke-width:1.5}
.signature-typeset .type-tip{fill:#ffe0b5;stroke:#8b5434;stroke-width:1;filter:drop-shadow(0 0 4px #efb77e80)}
@media(max-width:760px){
 .signature-panel{padding:105px 8% 100px}
 .signature-panel:after{inset:15px}
 .thread-signature .eyebrow{font-size:12px;letter-spacing:1.6px}
 .thread-signature[data-writing=true] .signature-panel{height:calc(100svh - 138px);min-height:580px}
 .thread-active .thread-signature[data-writing=true]{height:calc(100svh + 740px)}
 .thread-active .thread-signature[data-writing=true] .signature-panel{top:78px}
 .thread-signature[data-writing=true] .eyebrow{top:35px;left:14%;right:14%;max-width:260px;margin-inline:auto}
 .thread-signature[data-writing=true] .signature-translation{top:87%;font-size:14px;left:10%;right:10%}
 .signature-typeset .type-trace{stroke-width:1.5}
 .signature-typeset .type-arrival{stroke-width:2.1}
 .signature-typeset .type-loop{stroke-width:1.8}
 .signature-endpoint{bottom:32px}
}
@media(prefers-reduced-motion:reduce){.signature-light{transform:none}}
@media(forced-colors:active){
 .signature-panel{background:Canvas;color:CanvasText}
 .thread-signature .eyebrow,.thread-signature h2,.thread-signature .signature-note,.signature-rahma,.signature-translation{color:CanvasText}
 .signature-typeset .type-fill{fill:CanvasText;filter:none}
 .signature-typeset .type-trace{stroke:CanvasText}
 .signature-light,.signature-endpoint,.type-atmosphere{display:none}
}
