@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#080909;--fg:#f2f0e9;--muted:#a4a49c;--gold:#d6b66d;--line:#282925}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--fg);font-family:'DM Sans',sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:7px}.skip-link{position:fixed;top:-80px;left:16px;z-index:9;background:var(--gold);color:#080909;padding:15px}.skip-link:focus{top:16px}.header{height:116px;margin:0 5.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:2}.brand{display:flex;flex-direction:column;gap:5px}.wordmark{font-family:Manrope,sans-serif;font-size:30px;font-weight:800;letter-spacing:-1.8px}.brand-dot{color:var(--gold)}.brand-caption{font-size:10px;letter-spacing:1.8px;color:#a8a697}nav{display:flex;gap:42px;font-size:14px}nav a:hover{color:var(--gold)}nav span{color:var(--gold);margin-left:10px}.hero{position:relative;min-height:730px;height:calc(100svh - 116px);max-height:1050px;overflow:hidden}.art{position:absolute;inset:0;pointer-events:none}.art canvas{width:100%;height:100%;display:block}.sphere-fallback{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.8}.art.ready .sphere-fallback{opacity:0}.hero-copy{position:relative;padding:100px 5.5% 120px;z-index:1;max-width:900px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;color:var(--gold);margin:0 0 28px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif}h1{font-size:clamp(58px,6.9vw,110px);font-weight:500;letter-spacing:-.067em;line-height:1.075;margin-bottom:32px}em{font-style:normal;color:var(--gold)}.hero-description{color:#b0b0a7;line-height:1.7;max-width:470px;font-size:17px}.primary-link{margin-top:24px;display:inline-flex;align-items:center;gap:50px;padding:17px 0 15px;border-bottom:1px solid var(--gold);font-size:15px;font-weight:500}.primary-link span{font-size:24px;color:var(--gold);transition:transform .2s}.primary-link:hover span{transform:translate(3px,3px)}.hero-bottom{position:absolute;bottom:26px;left:5.5%;right:5.5%;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#99998e;font-size:11px;letter-spacing:1.5px}.hero-bottom button{background:#11120fb3;border:1px solid #3c3b30;color:#c6c2b4;border-radius:30px;padding:10px 16px;cursor:pointer;font-size:12px;letter-spacing:0}.hero-bottom button span{margin-left:12px;color:var(--gold)}.section{margin:0 5.5%;padding:92px 0;border-top:1px solid var(--line)}.section-label{display:flex;align-items:center;gap:25px;color:var(--gold);font-size:12px;letter-spacing:1.8px;margin-bottom:50px}.short-line{height:1px;width:70px;background:#454236}.about-body{display:grid;grid-template-columns:1.2fr 1fr;gap:12%}h2{font-size:clamp(36px,4vw,62px);line-height:1.17;letter-spacing:-.045em;font-weight:500}.muted{color:#8d9089}.about-copy{padding-top:5px;max-width:450px;color:#b0b0a7;font-size:17px;line-height:1.8}.about-copy p{margin-bottom:20px}.signature{width:220px;height:98px;overflow:hidden;position:relative;margin-top:20px}.signature img{position:absolute;width:240px;height:auto;top:-34px;left:-10px;mix-blend-mode:screen}.work-heading{display:flex;justify-content:space-between;align-items:baseline;gap:25px;margin-bottom:32px}.work-heading h2{margin-bottom:0}.work-heading p{color:var(--muted);font-size:15px}.project{border-top:1px solid #4a4739;border-bottom:1px solid var(--line);padding:45px 0;display:grid;grid-template-columns:60px 1.25fr 1fr;gap:28px}.project-number{font-family:Manrope;font-size:15px;color:#89897d;padding-top:5px}.project .eyebrow{font-size:11px;margin-bottom:15px}.project h3{font-size:46px;letter-spacing:-2px;font-weight:500;margin-bottom:12px}.project-subtitle{font-size:19px;color:#e1ded4}.project-description{color:#9c9f95;line-height:1.75;max-width:420px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}.tags span{border:1px solid #34362f;color:#b9b9a9;border-radius:30px;padding:7px 12px;font-size:12px}.project-note{background:linear-gradient(125deg,#181911,#0c0e0b);border:1px solid #303125;padding:30px;display:flex;flex-direction:column;min-height:280px}.note-label,.note-bottom{font-size:10px;letter-spacing:2px;color:#9f9b80}.project-note p{font-size:27px;line-height:1.35;color:#ded7bd;margin:23px 0}.signal{display:flex;align-items:center;gap:7px;height:55px;margin:auto 0 26px}.signal i{height:8px;background:#bca363;width:2px}.signal i:nth-child(3n){height:32px}.signal i:nth-child(4n){height:50px}.signal i:nth-child(5n){height:21px}.closing{text-align:center;padding:95px 0 100px}.closing h2{font-size:clamp(44px,5vw,76px);margin-bottom:25px}.closing>p:last-child{color:var(--muted)}footer{padding:30px 5.5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:12px;color:#9b9c91}.footer-brand{color:var(--fg);font-family:Manrope;font-weight:800;font-size:21px;letter-spacing:-1px}footer a:last-child:hover{color:var(--gold)}
@media(min-width:1600px){.hero-copy{padding-top:130px}.header,.section{margin-left:auto;margin-right:auto;max-width:1500px}.header{padding:0 20px}.hero-copy{margin-left:calc((100vw - 1500px)/2);padding-left:20px}}
@media(max-width:900px){.hero{height:auto;min-height:780px}.hero-copy{padding-top:100px;max-width:700px}h1{font-size:76px}.art{opacity:.67}.about-body{gap:7%}.project{grid-template-columns:35px 1fr}.project-note{grid-column:2}.work-heading{display:block}.work-heading p{margin-top:20px}}
@media(max-width:600px){.header{height:96px;margin:0 6%}.wordmark{font-size:25px}.brand-caption{font-size:9px}nav{gap:22px;font-size:13px}nav span{display:none}.hero{min-height:800px}.hero-copy{padding:64px 6% 180px}.hero-copy .eyebrow{font-size:10px;margin-bottom:25px}h1{font-size:clamp(45px,10.8vw,65px);letter-spacing:-.06em}.hero-description{font-size:16px;max-width:310px}.desktop-break{display:none}.art{top:265px;left:-80%;width:180%;height:570px;opacity:.7}.primary-link{margin-top:10px}.hero-bottom{left:6%;right:6%;font-size:9px;letter-spacing:1px;align-items:flex-end}.hero-bottom>span{max-width:150px;line-height:1.6}.hero-bottom button{font-size:11px;white-space:nowrap}.section{margin:0 6%;padding:60px 0}.section-label{margin-bottom:30px;font-size:10px}.about-body{display:block}.about-copy{margin-top:30px;font-size:16px}.project{grid-template-columns:1fr;gap:22px;padding:30px 0}.project-number{display:none}.project-note{grid-column:auto}.project h3{font-size:38px}.project-subtitle{font-size:18px}.closing{padding:70px 0}footer{flex-wrap:wrap;padding:26px 6%}footer span{order:3;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.brand-title{font-weight:600;font-size:clamp(95px,13vw,200px);letter-spacing:-.08em;line-height:1.1;margin-left:-.065em}.brand-title span{color:var(--gold)}.hero-copy{padding-top:155px}.hero{min-height:690px}.hero-description{max-width:400px}.brand-caption{font-size:9px;letter-spacing:1.4px}nav a[aria-current]{color:var(--gold)}@media(max-width:600px){.hero-copy{padding-top:85px}.brand-title{font-size:clamp(76px,19vw,115px)}.hero{min-height:750px}.brand-caption{font-size:8px;letter-spacing:.7px}}

.about-title{font-size:clamp(36px,4vw,62px);line-height:1.17;letter-spacing:-.045em;font-weight:500}

.art video{width:100%;height:100%;display:block;object-fit:cover;object-position:center;mix-blend-mode:screen}.art{background:#000}.hero{background:#000}.hero-bottom{z-index:2}@media(max-width:900px){.art{opacity:1}}

/* GIBSEC / Threads identity */
.gibsec-logo{width:174px;height:auto;display:block}.header{height:112px;border-bottom-color:#29251b}.footer-brand .gibsec-logo{width:115px}.hero{height:calc(100svh - 112px)}.product-copy{padding-top:140px;max-width:860px}.presentation{font-size:15px;letter-spacing:3px;color:#b9ac8d;display:flex;gap:15px;align-items:center;margin-bottom:17px}.presentation span{font-weight:600;color:#e0c68a;letter-spacing:5px}.threads-title{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-size:clamp(100px,12.8vw,194px);font-weight:400;letter-spacing:-.075em;line-height:1.12;margin:0 0 20px -.035em;color:#f0e6ce}.title-stop{color:#d6b66d}.product-line{font-family:Manrope,sans-serif;font-size:clamp(22px,2.25vw,33px);font-weight:400;letter-spacing:-.035em;margin-bottom:18px}.product-copy .hero-description{font-size:16px;line-height:1.8;max-width:415px;color:#aaa89e}.product-copy .primary-link{margin-top:12px}.hero-bottom>span{color:#b8a983;font-size:10px;letter-spacing:2px}
@media(max-width:900px){.product-copy{padding-top:130px}.threads-title{font-size:120px}}
@media(max-width:600px){.header{height:94px}.gibsec-logo{width:139px}nav{font-size:12px}.product-copy{padding-top:64px}.threads-title{font-size:clamp(88px,22vw,125px);margin-bottom:18px}.presentation{font-size:12px;letter-spacing:2px;gap:10px;margin-bottom:14px}.presentation span{letter-spacing:3px}.product-copy .hero-description{font-size:15px;max-width:300px}.product-line{font-size:24px}.hero{min-height:790px}.art{top:300px}.hero-bottom>span{font-size:9px;letter-spacing:1px;max-width:190px}}

/* A bold maker's mark, a fluid product signature, one connected investigation. */
.hero-brand{font-family:Manrope,sans-serif;font-size:clamp(72px,8.7vw,138px);font-weight:800;letter-spacing:-.065em;line-height:1;margin:0;background:linear-gradient(115deg,#a47b37 0%,#f6dfa2 29%,#cba24f 53%,#f4dda0 78%,#b28940);color:#dfbd70;background-clip:text;-webkit-text-fill-color:transparent;width:fit-content}
.product-copy{padding-top:76px;max-width:850px}.presentation{width:310px;gap:17px;margin:22px 0 8px;color:#b7a376;font-size:10px;letter-spacing:5px}.presentation-line{height:1px;background:linear-gradient(90deg,transparent,#a68548);flex:1}.presentation-line:last-child{transform:rotate(180deg)}
.threads-title{font-size:clamp(110px,12.2vw,188px);line-height:1.06;letter-spacing:-.065em;margin:0 0 25px -.025em;background:linear-gradient(135deg,#f8eacb,#dfb965 65%,#9c7739);background-clip:text;-webkit-text-fill-color:transparent;color:#e9cd8f}.product-line{font-size:clamp(20px,2vw,28px);letter-spacing:-.025em;margin-bottom:15px}.product-copy .hero-description{font-size:16px;line-height:1.75;color:#aaa69a}.product-copy .primary-link{margin-top:0;gap:50px}.hero{min-height:790px}.art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0009,transparent 55%);pointer-events:none}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.concept-copy{max-width:490px;color:#aaa89e;font-size:18px;line-height:1.8}.concept-copy .primary-link{color:#e9ddc1;margin-top:0}.evidence-chain{display:flex;align-items:center;gap:24px;margin-top:65px;color:#d7bf89;font-size:12px;letter-spacing:2px;text-transform:uppercase}.evidence-chain span:before{content:"";display:inline-block;width:5px;height:5px;border:1px solid #c9a45b;border-radius:50%;margin:0 12px 2px 0}.evidence-chain i{height:1px;flex:1;background:linear-gradient(90deg,#6c532c,#bda16666,#443722)}
@media(min-width:1600px){.product-copy{padding-top:95px}}
@media(max-width:900px){.hero-brand{font-size:85px}.product-copy{padding-top:80px}.threads-title{font-size:125px}.hero{min-height:790px}}
@media(max-width:600px){.product-copy{padding-top:48px}.hero-brand{font-size:clamp(62px,19vw,100px)}.presentation{width:235px;margin:18px 0 8px;font-size:9px;letter-spacing:4px}.threads-title{font-size:clamp(94px,26vw,140px);margin-bottom:22px}.product-line{font-size:20px;max-width:320px}.product-copy .hero-description{font-size:14px}.hero{min-height:940px}.art{top:430px;height:470px}.art:after{background:linear-gradient(#000 0%,transparent 22%)}.concept-grid{grid-template-columns:1fr;gap:5px}.concept-copy{font-size:16px}.evidence-chain{gap:12px;flex-wrap:wrap;margin-top:42px;font-size:9px;letter-spacing:1px}.evidence-chain span:before{margin-right:5px}.evidence-chain i{min-width:10px}.evidence-chain i:last-of-type{display:none}.evidence-chain span:last-child{width:100%;margin-top:15px}}

/* The signature and sphere share a single travelling filament. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero-brand{background:none;-webkit-text-fill-color:initial;width:clamp(285px,31vw,470px)}.hero-brand img{display:block;width:100%;height:auto}.threads-title{background:none;-webkit-text-fill-color:initial;width:clamp(340px,40vw,610px);margin:0 0 12px -12px;line-height:0}.thread-lettering{display:block;width:100%;height:auto;overflow:visible}.presentation{margin-top:20px;margin-bottom:0}.connecting-thread{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible;fill:none;stroke-linecap:round}.thread-base{stroke:#c59b4e;stroke-width:.65;opacity:.34}.thread-current{stroke:#f7dc99;stroke-width:1.25;stroke-dasharray:80 920;stroke-dashoffset:1000;filter:drop-shadow(0 0 3px #ce9b4b80)}.hero.is-threading .thread-current{animation:thread-arrival 2.6s cubic-bezier(.35,0,.45,1) forwards}.hero.is-alive .thread-current{animation:thread-flow 9s linear infinite}.hero.motion-paused .thread-current{animation-play-state:paused}.hero.motion-paused .connecting-thread{opacity:.3}@keyframes thread-arrival{to{stroke-dashoffset:560}}@keyframes thread-flow{from{stroke-dashoffset:560}to{stroke-dashoffset:-440}}@media(max-width:600px){.hero-brand{width:270px;max-width:100%}.threads-title{width:calc(100% + 8px);max-width:380px;margin-left:-8px;margin-top:4px;margin-bottom:20px}.product-copy{padding-top:48px}.presentation{margin-top:20px}.connecting-thread{opacity:.65}}@media(prefers-reduced-motion:reduce){.connecting-thread{display:none}}

/* Weave the name, then wake the left-hand filaments. No orbit. */
.threads-title{width:clamp(350px,42vw,620px);margin-top:4px;margin-bottom:22px}.woven-letter{clip-path:inset(0 0 0 0)}.hero.is-writing .woven-letter{animation:weave-letter .72s cubic-bezier(.3,0,.3,1) both;animation-delay:calc(var(--letter)*.32s)}@keyframes weave-letter{from{clip-path:inset(0 100% 0 0);opacity:0}20%{opacity:1}to{clip-path:inset(0 0 0 0);opacity:1}}
.ignition-thread{stroke:#e8c785;stroke-width:.8;stroke-dasharray:1000;stroke-dashoffset:1000;opacity:0}.hero.is-igniting .ignition-thread{opacity:.8;animation:ignite .7s ease-in forwards}.hero.is-alive .ignition-thread{stroke-dashoffset:0;opacity:0;transition:opacity .8s}.awaken-strand{stroke:#e2bd75;stroke-width:.65;stroke-dasharray:1000;stroke-dashoffset:1000;opacity:0}.hero.is-alive .awaken-strand{animation:awaken 1.5s ease-out both;animation-delay:calc(var(--strand)*.035s)}@keyframes ignite{to{stroke-dashoffset:0}}@keyframes awaken{0%{stroke-dashoffset:1000;opacity:0}20%{opacity:.65}75%{stroke-dashoffset:0;opacity:.3}100%{stroke-dashoffset:0;opacity:0}}.hero.motion-paused .woven-letter,.hero.motion-paused .ignition-thread,.hero.motion-paused .awaken-strand{animation-play-state:paused}@media(max-width:600px){.threads-title{width:calc(100% + 12px);margin-top:12px;margin-bottom:24px}.connecting-thread{opacity:.65}}@media(prefers-reduced-motion:reduce){.woven-letter{animation:none!important;opacity:1!important;clip-path:none!important}.connecting-thread{display:none}}

.hero.is-writing .woven-letter path{stroke-dasharray:260;animation:draw-filament .7s ease-out both;animation-delay:calc(var(--letter)*.32s)}@keyframes draw-filament{from{stroke-dashoffset:260}to{stroke-dashoffset:0}}.hero.motion-paused .woven-letter path{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.woven-letter path{animation:none!important}}

.thread-lettering{filter:brightness(1.65)}

/* GIBSEC is the independent parent identity; gold belongs to Threads. */
.header .gibsec-logo{width:184px}.footer-brand .gibsec-logo{width:130px}.hero-brand{width:clamp(300px,33vw,470px);margin-bottom:0}.hero-brand img{width:100%;height:auto}.header{border-bottom-color:#25292b}.presentation{margin-top:30px;color:#a0a6a7;letter-spacing:4px}.presentation-line{background:linear-gradient(90deg,transparent,#697173)}.brand:hover{opacity:.8}.brand{transition:opacity .2s ease}@media(max-width:600px){.header .gibsec-logo{width:145px}.hero-brand{width:285px;max-width:100%}.presentation{margin-top:24px}}
