:root{
  --bg:#0d0f10;
  --bg2:#121416;
  --bg3:#181a1d;
  --panel:#111315;
  --line:rgba(255,255,255,.11);
  --line2:rgba(255,255,255,.18);
  --text:#f0f1ef;
  --muted:#989da2;
  --dim:#666b70;
  --mx:50vw;
  --my:50vh;
  --pad:clamp(24px,4vw,72px);
  --display:"Space Grotesk",sans-serif;
  --body:"Manrope",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-weight:400;overflow-x:hidden;cursor:none}
a,button{color:inherit;font:inherit}
a{text-decoration:none}
button{border:0;background:none;padding:0;cursor:none}
img{display:block;max-width:100%}
::selection{background:#e9e9e9;color:#111}
.noise{position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.pointer-light{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(620px circle at var(--mx) var(--my),rgba(255,255,255,.055),transparent 58%);mix-blend-mode:screen}
.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:10000;background:rgba(255,255,255,.035)}
.progress i{display:block;height:100%;width:100%;background:#f1f1ef;transform:scaleX(0);transform-origin:left center}
.cursor{position:fixed;left:0;top:0;width:48px;height:48px;border:1px solid rgba(255,255,255,.48);border-radius:50%;z-index:10001;pointer-events:none;transform:translate(-50%,-50%);display:grid;place-items:center;transition:width .2s,height .2s,background .2s,border-color .2s;mix-blend-mode:difference}
.cursor::after{content:"";width:4px;height:4px;background:#fff;border-radius:50%}
.cursor span{position:absolute;font:600 9px/1 var(--display);letter-spacing:.12em;opacity:0;white-space:nowrap}
.cursor.active{width:78px;height:78px;background:#fff;border-color:#fff;color:#111;mix-blend-mode:normal}
.cursor.active::after{opacity:0}.cursor.active span{opacity:1}
.boot{position:fixed;inset:0;background:#0b0d0e;z-index:12000;display:grid;place-items:center;transition:opacity .75s ease,visibility .75s ease}
.boot img{width:min(34vw,360px);opacity:0;animation:bootin 1.15s cubic-bezier(.2,.8,.2,1) .15s forwards}
.boot.done{opacity:0;visibility:hidden}
@keyframes bootin{0%{opacity:0;transform:translateY(16px);filter:blur(8px)}100%{opacity:.9;transform:none;filter:blur(0)}}
.header{position:fixed;top:0;left:0;right:0;height:82px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;z-index:9000;border-bottom:1px solid transparent;transition:background .35s,border-color .35s,backdrop-filter .35s}
.header.scrolled{background:rgba(13,15,16,.72);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.08)}
.signature{width:158px;opacity:.94}.signature img{width:100%}
.nav{display:flex;align-items:center;gap:26px}.nav a{font:600 10px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:#b3b7ba;position:relative}.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:#fff;transition:right .25s}.nav a:hover{color:#fff}.nav a:hover::after{right:0}
.menu{display:none;width:38px;height:38px;position:relative}.menu span{position:absolute;left:7px;right:7px;height:1px;background:#fff;transition:.3s}.menu span:first-child{top:15px}.menu span:last-child{top:23px}.menu.active span:first-child{transform:translateY(4px) rotate(45deg)}.menu.active span:last-child{transform:translateY(-4px) rotate(-45deg)}
.scene{position:relative;z-index:1}
.section-pad{padding:140px var(--pad)}
.section-label{display:flex;align-items:center;gap:16px;font:600 10px/1 var(--display);letter-spacing:.16em;text-transform:uppercase;color:#c6c9ca}.section-label::after{content:"";width:72px;height:1px;background:var(--line2)}.section-label span{color:#686d72}.section-label b{font-weight:600}
.overline{font:600 10px/1.4 var(--display);letter-spacing:.18em;color:#9ba0a5;text-transform:uppercase}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.18,.7,.2,1)}.reveal.visible{opacity:1;transform:none}
.split-in{opacity:0;transform:translateY(26px);filter:blur(5px);animation:splitin .9s cubic-bezier(.2,.78,.2,1) forwards}.hero-kicker{animation-delay:.9s}.hero-name:nth-child(1){animation-delay:1s}.hero-name:nth-child(2){animation-delay:1.08s}.hero-statement{animation-delay:1.18s}.hero-roles{animation-delay:1.28s}
@keyframes splitin{to{opacity:1;transform:none;filter:blur(0)}}
.image-reveal{overflow:hidden;position:relative}.image-reveal::after{content:"";position:absolute;inset:0;background:#222528;transform:scaleY(1);transform-origin:bottom;transition:transform 1.1s cubic-bezier(.7,0,.2,1)}.image-reveal.visible::after{transform:scaleY(0)}

/* HERO */
.hero{min-height:100svh;padding:110px var(--pad) 48px;background:linear-gradient(145deg,#121416 0%,#0d0f10 54%,#101214 100%);overflow:hidden;border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;width:52vw;height:52vw;right:-20vw;top:-18vw;border:1px solid rgba(255,255,255,.06);border-radius:50%;box-shadow:0 0 0 10vw rgba(255,255,255,.01),0 0 0 20vw rgba(255,255,255,.008)}
.hero-grid{min-height:calc(100svh - 158px);display:grid;grid-template-columns:74px minmax(0,1.05fr) minmax(360px,.72fr) 130px;grid-template-rows:1fr auto;gap:28px;align-items:center;position:relative}
.hero-side{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:15px;color:#6e7478;font:600 8px/1 var(--display);letter-spacing:.18em;text-transform:uppercase}.hero-side-left{border-right:1px solid var(--line);padding-right:18px}.hero-side-right{border-left:1px solid var(--line);padding-left:18px;align-items:flex-start}.hero-side-right span{writing-mode:vertical-rl;transform:rotate(180deg);margin:0 auto 6px}
.hero-copy{position:relative;z-index:3;align-self:center}.hero-kicker{font:600 10px/1 var(--display);letter-spacing:.23em;color:#989da0;margin:0 0 22px}
.hero h1{margin:0;font-family:var(--display);font-weight:600;font-size:clamp(78px,10.4vw,188px);line-height:.76;letter-spacing:-.08em;text-transform:uppercase}.hero-name{display:block;white-space:nowrap}.hero-name-outline{color:transparent;-webkit-text-stroke:1.4px rgba(240,241,239,.78);margin-left:5vw}
.hero-statement{max-width:680px;font-size:clamp(16px,1.25vw,21px);line-height:1.58;color:#c7cacb;margin:40px 0 30px;padding-left:20px;border-left:1px solid var(--line2)}
.hero-roles{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:#8f9498;font:500 10px/1 var(--display);letter-spacing:.1em;text-transform:uppercase}.hero-roles i{width:22px;height:1px;background:var(--line2)}
.hero-image{height:min(72vh,760px);align-self:center;display:flex;align-items:center;justify-content:center;min-width:0}.hero-image img{width:100%;height:100%;object-fit:contain;object-position:center;filter:grayscale(1) contrast(1.03) brightness(.91);transform:scale(1.01)}.hero-image::after{background:#111315}.hero-image figcaption{position:absolute;left:18px;bottom:18px;font:600 8px/1 var(--display);letter-spacing:.18em;color:#868b8e}
.hero-stats{grid-column:2/4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);padding-top:18px;gap:18px}.hero-stats div{display:flex;align-items:baseline;gap:10px}.hero-stats b{font:500 clamp(24px,2vw,38px)/1 var(--display);letter-spacing:-.05em}.hero-stats span{font:600 8px/1.25 var(--display);letter-spacing:.13em;color:#777d81}
.scroll-cue{position:absolute;right:var(--pad);bottom:28px;display:flex;gap:14px;align-items:center;color:#777d81;font:600 8px/1 var(--display);letter-spacing:.17em}.scroll-cue i{width:44px;height:1px;background:#8f9498;position:relative;overflow:hidden}.scroll-cue i::after{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-100%);animation:scan 2s ease-in-out infinite}@keyframes scan{50%{transform:translateX(100%)}100%{transform:translateX(100%)}}
.hero-note{position:absolute;left:calc(var(--pad) + 102px);bottom:22px;margin:0;font-size:9px;color:#555b60}

/* MANIFEST */
.manifest{height:220vh;background:#141618;border-bottom:1px solid var(--line)}
.manifest-sticky{position:sticky;top:0;height:100svh;display:grid;place-items:center;overflow:hidden;padding:100px var(--pad)}
.manifest-sticky>.overline{position:absolute;top:124px;left:var(--pad)}
.manifest-core{width:min(70vw,800px);aspect-ratio:1;border:1px solid var(--line);border-radius:50%;position:relative;display:grid;place-items:center;transform:scale(var(--manifest-scale,1)) rotate(var(--manifest-rot,0deg));transition:transform .08s linear}
.manifest-core::before,.manifest-core::after{content:"";position:absolute;border:1px solid rgba(255,255,255,.07);border-radius:50%;inset:12%;}.manifest-core::after{inset:25%}
.manifest-name{text-align:center;font:600 clamp(48px,7vw,112px)/.84 var(--display);letter-spacing:-.08em;z-index:3}
.manifest-orbit{position:absolute;inset:0}.manifest-orbit span{position:absolute;left:50%;top:50%;transform:rotate(var(--a)) translateX(calc(min(35vw,400px) - 16px)) rotate(calc(var(--a) * -1));transform-origin:0 0;font:600 10px/1 var(--display);letter-spacing:.14em;color:#9ca1a5;text-transform:uppercase;padding:7px 9px;background:#141618}
.manifest-copy{position:absolute;bottom:72px;right:var(--pad);max-width:430px;text-align:right;font-size:14px;line-height:1.7;color:#8f9498}

/* FULL CHAIN */
.chain{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);background:#0f1112;border-bottom:1px solid var(--line)}
.chain-sticky{position:sticky;top:0;height:100svh;padding:120px var(--pad);align-self:start;overflow:hidden;background:linear-gradient(180deg,#101214,#0e1011)}
.chain-sticky::after{content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(255,255,255,.045);border-radius:50%;left:-120px;bottom:-180px}
.chain-word{position:absolute;left:var(--pad);top:50%;transform:translateY(-50%);width:calc(100% - var(--pad)*2);overflow:hidden}.chain-word span{display:block;font:600 clamp(72px,10vw,168px)/.8 var(--display);letter-spacing:-.085em;color:#eceeec;transform:translateY(0);opacity:1;transition:.35s}.chain-word.changing span{transform:translateY(42px);opacity:0;filter:blur(10px)}
.chain-sticky>p{position:absolute;left:var(--pad);bottom:86px;margin:0;color:#7b8084;font-size:12px}.chain-progress{position:absolute;left:var(--pad);bottom:52px;width:calc(100% - var(--pad)*2);height:1px;background:var(--line)}.chain-progress i{display:block;width:16.66%;height:100%;background:#ddd;transition:width .45s cubic-bezier(.2,.8,.2,1)}
.chain-steps{border-left:1px solid var(--line);padding:22vh var(--pad) 22vh}
.chain-step{min-height:88vh;display:flex;flex-direction:column;justify-content:center;opacity:.26;filter:blur(1px);transition:opacity .5s,filter .5s,transform .5s;transform:scale(.98)}.chain-step.active{opacity:1;filter:none;transform:none}.chain-step>span{font:600 9px/1 var(--display);letter-spacing:.17em;color:#858b8f;text-transform:uppercase;margin-bottom:28px}.chain-step h2{font:500 clamp(36px,4.4vw,72px)/1.02 var(--display);letter-spacing:-.055em;margin:0 0 28px;max-width:900px}.chain-step p{font-size:clamp(15px,1.15vw,19px);line-height:1.75;color:#a5a9ac;max-width:760px;margin:0}

/* KINETIC RIVERS */
.credit-river{background:#1a1c1f;padding:26px 0;border-bottom:1px solid var(--line);overflow:hidden}.river{display:flex;width:max-content;white-space:nowrap;font:500 clamp(18px,2vw,32px)/1 var(--display);letter-spacing:-.025em;color:#c6c9c9}.river>div{padding-right:32px;animation:river 35s linear infinite}.river-b{margin-top:18px;color:#61676b;font-size:clamp(12px,1.2vw,19px)}.river-b>div{animation-direction:reverse;animation-duration:44s}@keyframes river{to{transform:translateX(-100%)}}

/* CATALOGUE */
.catalogue{background:#151719;overflow:hidden;border-bottom:1px solid var(--line)}
.catalogue-layout{display:grid;grid-template-columns:.58fr .8fr 1.08fr;gap:clamp(28px,4vw,72px);align-items:center;margin-top:80px}.catalogue-number strong{font:600 clamp(110px,15vw,260px)/.72 var(--display);letter-spacing:-.11em}.catalogue-number strong span{font-size:.34em;vertical-align:top;margin-left:4px;color:#8f9599}.catalogue-number small{display:block;margin-top:34px;font:600 9px/1.6 var(--display);letter-spacing:.16em;color:#777c81}
.catalogue-photo{min-height:560px;display:flex;align-items:center}.catalogue-photo img{width:100%;height:100%;max-height:700px;object-fit:contain;filter:grayscale(1) brightness(.86) contrast(1.04)}.catalogue-photo figcaption{position:absolute;left:14px;bottom:14px;font:600 8px/1 var(--display);letter-spacing:.15em;color:#747a7e}
.catalogue-copy h2{font:500 clamp(42px,5vw,84px)/.98 var(--display);letter-spacing:-.06em;margin:16px 0 26px}.catalogue-copy h2 span{color:#7e8488}.catalogue-copy>p:not(.overline){font-size:16px;line-height:1.8;color:#a5aaad;max-width:660px}.dialects{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 34px}.dialects span{padding:8px 10px;border:1px solid var(--line);border-radius:99px;font:600 8px/1 var(--display);letter-spacing:.13em;color:#8f9498}
.portal-button{width:min(620px,100%);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:20px 0;display:grid;grid-template-columns:1fr auto;gap:8px;text-align:left;position:relative;overflow:hidden}.portal-button::before{content:"";position:absolute;inset:0;background:#eee;transform:translateY(102%);transition:transform .35s cubic-bezier(.2,.8,.2,1)}.portal-button:hover::before{transform:none}.portal-button>*{position:relative;z-index:1;transition:color .3s}.portal-button:hover>*{color:#111}.portal-button .portal-index{grid-column:1;font:600 8px/1 var(--display);letter-spacing:.16em;color:#797e82}.portal-button strong{grid-column:1;font:600 13px/1.1 var(--display);letter-spacing:.04em}.portal-button i{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;font-size:23px}
.song-field{display:flex;flex-wrap:wrap;gap:11px;margin-top:88px;padding-top:26px;border-top:1px solid var(--line)}.song-field span{font:500 clamp(15px,1.4vw,22px)/1 var(--display);letter-spacing:-.02em;color:#6f7579}.song-field span::after{content:" /";color:#3e4347}

/* ECOSYSTEM */
.ecosystem{background:#0e1011}.ecosystem-head h2{font:500 clamp(46px,6vw,104px)/.94 var(--display);letter-spacing:-.065em;margin:70px 0 0;max-width:1200px}.ecosystem-head h2 span{color:#6f7579}.eco-panel{min-height:88svh;border-top:1px solid var(--line);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding:80px var(--pad);position:relative;overflow:hidden}.eco-panel:nth-of-type(odd){background:#131517}.eco-panel:nth-of-type(even){background:#181a1d}.eco-ghost{position:absolute;left:var(--pad);top:50%;transform:translateY(-50%);font:700 clamp(110px,18vw,330px)/.72 var(--display);letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.055);white-space:nowrap;pointer-events:none}.eco-copy{position:relative;z-index:2;max-width:720px}.eco-copy>span{font:600 9px/1 var(--display);letter-spacing:.16em;color:#898e92}.eco-copy h3{font:600 clamp(58px,8vw,132px)/.82 var(--display);letter-spacing:-.08em;margin:22px 0 36px}.eco-copy p{max-width:620px;font-size:16px;line-height:1.8;color:#a1a6a9}.eco-stats{display:flex;gap:42px;margin:36px 0}.eco-stats b{font:600 34px/1 var(--display);letter-spacing:-.05em}.eco-stats small{display:block;margin-top:8px;font:600 8px/1 var(--display);letter-spacing:.14em;color:#73797d}.line-link{display:inline-block;margin-top:30px;border-bottom:1px solid var(--line2);padding-bottom:7px;font:600 10px/1 var(--display);letter-spacing:.14em}.line-link:hover{border-color:#fff}.eco-image{height:72vh;justify-self:end;max-width:630px}.eco-image img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) brightness(.83)}.eco-symbol{font:500 min(24vw,360px)/1 var(--display);color:rgba(255,255,255,.055);justify-self:center}.dandara-lines{height:320px;width:min(42vw,620px);display:flex;align-items:center;justify-content:center;gap:18px}.dandara-lines i{display:block;width:1px;height:var(--h,80%);background:linear-gradient(transparent,#7b8084,transparent);animation:pulse 2.6s ease-in-out infinite}.dandara-lines i:nth-child(1){--h:45%}.dandara-lines i:nth-child(2){--h:80%;animation-delay:-.4s}.dandara-lines i:nth-child(3){--h:100%;animation-delay:-.9s}.dandara-lines i:nth-child(4){--h:72%;animation-delay:-1.3s}.dandara-lines i:nth-child(5){--h:38%;animation-delay:-1.8s}@keyframes pulse{50%{transform:scaleY(.35);opacity:.35}}

/* DIRECTION */
.direction{background:#17191b;border-bottom:1px solid var(--line);overflow:hidden}.direction-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,7vw,120px);align-items:center;margin-top:80px;position:relative;min-height:78vh}.direction-type{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;z-index:0}.direction-type span{font:700 clamp(120px,18vw,310px)/.72 var(--display);letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.055)}.direction-type span:last-child{text-align:right}.direction-photo{z-index:1;height:72vh;display:flex;align-items:center}.direction-photo img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) contrast(1.04) brightness(.87)}.direction-copy{z-index:2;max-width:740px;padding:60px 0}.direction-copy h2{font:500 clamp(46px,5.6vw,98px)/.95 var(--display);letter-spacing:-.065em;margin:16px 0 30px}.direction-copy>p:not(.overline){font-size:16px;line-height:1.8;color:#a5a9ac;max-width:620px}.direction-actions{margin-top:38px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}

/* PORTRAIT BREAK */
.portrait-break{min-height:92vh;background:#0f1112;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);align-items:center;padding:0 var(--pad);gap:6vw}.portrait-break-image{height:78vh}.portrait-break-image img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) brightness(.82)}.portrait-break-copy span{font:600 9px/1 var(--display);letter-spacing:.16em;color:#777d81}.portrait-break-copy h2{font:500 clamp(52px,6.5vw,112px)/.9 var(--display);letter-spacing:-.07em;margin:26px 0}

/* TIMELINE */
.timeline{height:620vh;background:#151719;display:grid;grid-template-columns:.34fr .66fr;border-bottom:1px solid var(--line)}.timeline-sticky{position:sticky;top:0;height:100svh;padding:120px var(--pad);border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.timeline-sticky h2{font:600 clamp(50px,6vw,96px)/.83 var(--display);letter-spacing:-.07em;margin:0}.timeline-sticky h2 span{color:#73797d}.timeline-sticky>p{font-size:12px;color:#767c80}.timeline-track-wrap{position:sticky;top:0;height:100svh;overflow:hidden}.timeline-track{height:100%;display:flex;align-items:center;width:max-content;gap:0;transform:translateX(var(--timeline-x,0));will-change:transform}.timeline-track article{width:min(54vw,760px);height:68vh;border-right:1px solid var(--line);padding:52px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,rgba(255,255,255,.018),transparent)}.timeline-track time{font:600 clamp(54px,7vw,112px)/1 var(--display);letter-spacing:-.07em;color:#dfdfdc}.timeline-track h3{font:500 clamp(28px,3vw,48px)/1.05 var(--display);letter-spacing:-.04em;margin:32px 0 18px}.timeline-track p{font-size:15px;line-height:1.75;color:#959a9e;max-width:520px}

/* PRESS */
.press{background:#0e1011}.press-head{display:grid;grid-template-columns:1.15fr .5fr;gap:40px;align-items:end;margin:68px 0}.press-head h2{font:500 clamp(48px,6vw,100px)/.93 var(--display);letter-spacing:-.065em;margin:0}.press-head h2 span{color:#747a7e}.press-head p{font-size:14px;line-height:1.7;color:#8c9296;margin:0 0 10px}.press-index{border-top:1px solid var(--line)}.press-row{display:grid;grid-template-columns:110px 1fr 1fr auto;gap:26px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);transition:padding .25s,background .25s}.press-row:hover{padding-left:14px;padding-right:14px;background:rgba(255,255,255,.025)}.press-row>span{font:600 8px/1 var(--display);letter-spacing:.15em;color:#70767a}.press-row>b{font:500 clamp(18px,2vw,30px)/1 var(--display);letter-spacing:-.03em}.press-row>em{font-style:normal;font:600 8px/1 var(--display);letter-spacing:.14em;color:#71777b}.press-row>i{font-style:normal;font-size:18px;color:#888e92}

/* CLOSING */
.closing{min-height:100svh;background:#17191b;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:120px var(--pad) 36px;overflow:hidden}.closing-words{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-around;pointer-events:none}.closing-words span{font:700 clamp(110px,18vw,310px)/.7 var(--display);letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.05);white-space:nowrap}.closing-words span:nth-child(2){text-align:right}.closing-center{position:relative;z-index:2}.closing-center img{width:min(46vw,540px);margin:0 auto 28px}.closing-center p{font:500 12px/1.7 var(--display);letter-spacing:.08em;color:#8d9296}.closing-links{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;margin-top:40px}.closing-links a{font:600 9px/1 var(--display);letter-spacing:.14em;border-bottom:1px solid var(--line2);padding-bottom:6px}.closing footer{position:absolute;bottom:28px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;font:600 8px/1 var(--display);letter-spacing:.13em;color:#676d71}

/* MODAL */
.playlist-modal{width:min(1100px,92vw);padding:0;border:1px solid rgba(255,255,255,.15);background:#101214;color:#fff;box-shadow:0 34px 120px rgba(0,0,0,.65)}.playlist-modal::backdrop{background:rgba(4,5,6,.78);backdrop-filter:blur(12px)}.modal-close{position:absolute;right:20px;top:15px;z-index:3;width:42px;height:42px;border:1px solid var(--line2);border-radius:50%;font-size:24px;color:#bbb}.modal-head{padding:28px 70px 24px 28px;border-bottom:1px solid var(--line)}.modal-head span{font:600 8px/1 var(--display);letter-spacing:.17em;color:#73797d}.modal-head h2{font:500 clamp(28px,3vw,48px)/1 var(--display);letter-spacing:-.04em;margin:8px 0 0}.modal-player{aspect-ratio:16/9;background:#08090a}.modal-player iframe{width:100%;height:100%;border:0}.modal-external{display:block;padding:18px 28px;border-top:1px solid var(--line);font:600 9px/1 var(--display);letter-spacing:.15em;color:#a2a7aa}

/* RESPONSIVE */
@media(max-width:1100px){
  body{cursor:auto}.cursor{display:none}.header{height:72px}.nav{position:fixed;inset:72px 0 auto 0;background:rgba(12,14,15,.97);padding:24px var(--pad) 32px;display:grid;gap:20px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .35s}.nav.open{transform:none}.menu{display:block}.hero{padding-top:88px}.hero-grid{grid-template-columns:38px 1fr minmax(300px,.62fr);gap:18px}.hero-side-right{display:none}.hero-image{height:58vh}.hero-stats{grid-column:2/4}.hero h1{font-size:clamp(72px,12vw,138px)}.hero-note{left:calc(var(--pad) + 54px)}
  .manifest-core{width:min(78vw,700px)}
  .catalogue-layout{grid-template-columns:.55fr 1fr}.catalogue-photo{grid-column:1;grid-row:2}.catalogue-number{grid-column:1}.catalogue-copy{grid-column:2;grid-row:1/3}.catalogue-photo{min-height:440px}
  .eco-panel{grid-template-columns:1fr .72fr}.eco-image{height:58vh}.dandara-lines{width:34vw}
  .timeline{grid-template-columns:.38fr .62fr}.timeline-track article{width:62vw}
}
@media(max-width:760px){
  :root{--pad:22px}.section-pad{padding:96px var(--pad)}
  .signature{width:125px}.header{height:66px}.nav{top:66px}
  .hero{min-height:auto;padding-top:92px;padding-bottom:66px}.hero-grid{min-height:auto;display:block}.hero-side{display:none}.hero-copy{position:relative;z-index:4}.hero-kicker{font-size:8px;margin-bottom:18px}.hero h1{font-size:clamp(72px,22vw,130px);line-height:.78}.hero-name-outline{margin-left:8vw}.hero-statement{font-size:15px;margin:26px 0 22px;max-width:90%}.hero-roles{font-size:8px;gap:8px}.hero-image{height:54vh;margin-top:-5vh;justify-content:flex-end;opacity:.9}.hero-image img{object-position:right center}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:6px;gap:8px}.hero-stats div{display:block}.hero-stats b{font-size:24px}.hero-stats span{display:block;margin-top:5px;font-size:7px}.hero-note{position:static;margin:14px 0 0}.scroll-cue{display:none}
  .manifest{height:170vh}.manifest-sticky{padding-top:90px}.manifest-sticky>.overline{top:95px}.manifest-core{width:82vw}.manifest-orbit span{transform:rotate(var(--a)) translateX(calc(41vw - 14px)) rotate(calc(var(--a) * -1));font-size:7px}.manifest-name{font-size:16vw}.manifest-copy{left:var(--pad);right:var(--pad);bottom:42px;text-align:left;font-size:12px}
  .chain{display:block}.chain-sticky{position:sticky;height:52svh;z-index:2;padding:84px var(--pad) 38px;border-bottom:1px solid var(--line);background:rgba(15,17,18,.96);backdrop-filter:blur(18px)}.chain-word{top:58%}.chain-word span{font-size:22vw}.chain-sticky>p{bottom:40px}.chain-progress{bottom:22px}.chain-steps{border:0;padding:10vh var(--pad)}.chain-step{min-height:72vh}.chain-step h2{font-size:11vw}.chain-step p{font-size:14px}
  .credit-river{padding:20px 0}.river{font-size:18px}
  .catalogue-layout{display:flex;flex-direction:column;align-items:stretch;margin-top:55px}.catalogue-number{display:flex;align-items:flex-end;gap:20px}.catalogue-number strong{font-size:34vw}.catalogue-number small{margin-bottom:4vw}.catalogue-photo{min-height:0;height:55vh;order:3}.catalogue-copy{order:2}.catalogue-copy h2{font-size:13vw}.song-field{margin-top:48px}.song-field span{font-size:13px}
  .ecosystem-head h2{font-size:13vw}.eco-panel{min-height:86svh;display:flex;flex-direction:column;justify-content:center;align-items:stretch;padding:86px var(--pad);gap:28px}.eco-ghost{top:20%;font-size:34vw}.eco-copy h3{font-size:20vw}.eco-copy p{font-size:14px}.eco-image{height:46vh;width:100%;align-self:center}.eco-symbol{font-size:42vw}.dandara-lines{width:100%;height:180px}.eco-stats{gap:22px}
  .direction-layout{display:flex;flex-direction:column;margin-top:55px;gap:10px}.direction-type{opacity:.7}.direction-photo{height:54vh;width:100%}.direction-copy{padding:24px 0}.direction-copy h2{font-size:13vw}.direction-copy>p:not(.overline){font-size:14px}
  .portrait-break{min-height:auto;grid-template-columns:1fr;padding:80px var(--pad);gap:30px}.portrait-break-image{height:55vh}.portrait-break-copy h2{font-size:13vw}
  .timeline{height:auto;display:block}.timeline-sticky{position:relative;height:auto;padding:96px var(--pad) 44px;border-right:0;border-bottom:1px solid var(--line);gap:48px}.timeline-sticky h2{font-size:13vw}.timeline-track-wrap{position:relative;height:auto;overflow:visible}.timeline-track{display:block;width:auto;transform:none!important}.timeline-track article{width:auto;height:auto;min-height:54vh;border-right:0;border-bottom:1px solid var(--line);padding:60px var(--pad)}.timeline-track time{font-size:17vw}
  .press-head{display:block;margin:48px 0}.press-head h2{font-size:13vw}.press-head p{margin-top:26px}.press-row{grid-template-columns:80px 1fr auto;gap:12px;padding:20px 0}.press-row>em{display:none}.press-row>b{font-size:18px}
  .closing{min-height:86svh}.closing-center img{width:76vw}.closing-center p{font-size:9px}.closing-links{gap:14px}.closing footer{display:block;text-align:left;line-height:1.8}.closing footer span:last-child{display:none}
  .playlist-modal{width:96vw}.modal-head{padding:24px 62px 20px 20px}.modal-external{padding:16px 20px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal,.split-in{opacity:1!important;transform:none!important;filter:none!important}.boot{display:none}.image-reveal::after{display:none}.river>div{animation:none}.timeline{height:auto}.timeline-sticky,.timeline-track-wrap{position:relative;height:auto}.timeline-track{transform:none!important;display:block}.timeline-track article{width:auto}.manifest{height:auto}.manifest-sticky{position:relative;height:100vh}.cursor{display:none}}
.production-index{margin-top:28px;border-top:1px solid var(--line);padding-top:24px;display:grid;grid-template-columns:210px 1fr;gap:30px}.production-index small{font:600 8px/1.5 var(--display);letter-spacing:.15em;color:#777d81}.production-index p{margin:0;font:500 11px/1.8 var(--display);letter-spacing:.055em;color:#8f9498}.production-index i{font-style:normal;color:#494f53;padding:0 7px}.visual-names{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.visual-names span{border:1px solid var(--line);padding:7px 9px;border-radius:99px;font:600 8px/1 var(--display);letter-spacing:.13em;color:#898f93}.profile-facts{display:flex;flex-wrap:wrap;gap:10px;margin:-34px 0 44px}.profile-facts span{padding:9px 12px;border:1px solid var(--line);font:600 8px/1 var(--display);letter-spacing:.13em;color:#777d81}
@media(max-width:760px){.production-index{grid-template-columns:1fr;gap:10px}.production-index p{font-size:9px}.profile-facts{margin:-18px 0 34px}.profile-facts span{font-size:7px}}

/* =========================================================
   V5 — SCROLL ART DIRECTION
   ========================================================= */
:root{
  --graphite:#17191c;
  --graphite2:#1c1f22;
  --smoke:#202327;
  --scroll-velocity:0;
}
.sr-only-img{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}

/* Scroll HUD */
.scroll-hud{position:fixed;right:18px;top:50%;z-index:8500;transform:translateY(-50%);display:grid;grid-template-columns:auto auto;align-items:center;gap:7px 9px;pointer-events:none;mix-blend-mode:difference;color:#fff}
.scroll-hud>span,.scroll-hud>b{font:600 7px/1 var(--display);letter-spacing:.18em}.scroll-hud>span{color:#969b9f}.scroll-hud>b{font-weight:600;max-width:90px;text-align:right}.scroll-hud>i{grid-column:1/-1;justify-self:end;width:1px;height:54px;background:rgba(255,255,255,.22);position:relative;overflow:hidden}.scroll-hud>i::after{content:"";position:absolute;left:0;top:0;width:100%;height:22%;background:#fff;transform:translateY(var(--hud-y,0%));transition:transform .16s linear}

/* Cursor trail: subtle motion, not a gimmick */
.cursor-trail{position:fixed;inset:0;z-index:9998;pointer-events:none;mix-blend-mode:difference}.cursor-trail i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.48;will-change:transform}.cursor-trail i:nth-child(2){opacity:.32}.cursor-trail i:nth-child(3){opacity:.22}.cursor-trail i:nth-child(4){opacity:.14}.cursor-trail i:nth-child(5){opacity:.08}

/* HERO — portrait enters as a cinematic scan, not a generic reveal */
.hero{background:linear-gradient(145deg,#17191b 0%,#101214 58%,#151719 100%)}
.hero-copy{transform:translate3d(var(--hero-copy-x,0),var(--hero-copy-y,0),0)}
.hero h1{transform:skewX(var(--hero-skew,0deg));transform-origin:left center;transition:transform .08s linear}
.hero-name:first-child{transform:translateX(var(--hero-name-a,0))}
.hero-name-outline{transform:translateX(var(--hero-name-b,0));-webkit-text-stroke-color:rgba(240,241,239,.88)}
.hero-cinema{height:min(74vh,780px);position:relative;overflow:visible}
.hero-photo-stage{position:relative;width:100%;height:100%;display:grid;place-items:center;isolation:isolate;clip-path:polygon(var(--hero-cut,8%) 0,100% 0,100% 100%,0 100%,0 11%);transition:clip-path .08s linear}
.hero-photo-stage::before{content:"";position:absolute;inset:7% 4% 6% 8%;border:1px solid rgba(255,255,255,.13);z-index:-1;transform:translate3d(var(--hero-frame-x,18px),var(--hero-frame-y,18px),0)}
.hero-photo-stage img{width:100%;height:100%;object-fit:contain;object-position:center;filter:grayscale(1) contrast(1.04) brightness(.94);transform:translate3d(var(--hero-img-x,0),var(--hero-img-y,0),0) scale(var(--hero-scale,1.02));will-change:transform}
.hero-scan{position:absolute;top:6%;bottom:6%;width:9%;background:url("assets/img/hero.webp") center/auto 100% no-repeat;filter:grayscale(1) contrast(1.08) brightness(1.15);opacity:.16;mix-blend-mode:screen;pointer-events:none;z-index:3;border-left:1px solid rgba(255,255,255,.12);border-right:1px solid rgba(255,255,255,.05)}
.hs-1{left:8%;transform:translateY(var(--hero-s1,0))}.hs-2{left:46%;width:5%;transform:translateY(var(--hero-s2,0))}.hs-3{right:7%;width:7%;transform:translateY(var(--hero-s3,0))}
.hero-cross{position:absolute;width:14px;height:14px;z-index:4;opacity:.55}.hero-cross::before,.hero-cross::after{content:"";position:absolute;background:#d4d5d2}.hero-cross::before{width:14px;height:1px;left:0;top:6px}.hero-cross::after{width:1px;height:14px;left:6px;top:0}.hc-a{left:7%;top:10%;transform:rotate(var(--hero-cross-r,0deg))}.hc-b{right:7%;bottom:11%;transform:rotate(calc(var(--hero-cross-r,0deg) * -1))}
.hero-cinema figcaption{position:absolute;left:10px;right:8px;bottom:8px;display:flex;justify-content:space-between;gap:20px;font:600 7px/1 var(--display);letter-spacing:.16em;color:#8f9498}.hero-cinema figcaption b{font-weight:600;color:#c5c8c9}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:scaleX(var(--hero-line,0));transform-origin:center}

/* MANIFEST: stronger depth while scrolling */
.manifest{background:linear-gradient(180deg,#181a1d,#141619)}
.manifest-sticky::before{content:"";position:absolute;width:120vmax;height:1px;background:rgba(255,255,255,.08);transform:rotate(var(--manifest-axis,0deg))}.manifest-sticky::after{content:"";position:absolute;height:120vmax;width:1px;background:rgba(255,255,255,.055);transform:rotate(var(--manifest-axis2,0deg))}
.manifest-core{box-shadow:0 0 0 12vw rgba(255,255,255,.007),0 0 0 24vw rgba(255,255,255,.005)}
.manifest-name{transform:rotate(var(--manifest-name-r,0deg)) scale(var(--manifest-name-scale,1));transition:transform .08s linear}

/* KINETIC BRIDGE — a full scroll choreography */
.kinetic-bridge{height:220vh;background:#1a1c1f;border-bottom:1px solid var(--line)}
.bridge-sticky{height:100svh;position:sticky;top:0;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:1.5vh}
.bridge-line{display:flex;width:max-content;white-space:nowrap;font:700 clamp(74px,12.8vw,230px)/.72 var(--display);letter-spacing:-.09em;text-transform:uppercase;will-change:transform}
.bridge-line span{padding-right:4vw}.bridge-line-a{transform:translateX(var(--bridge-a,-18vw));color:#edf0ee}.bridge-line-b{transform:translateX(var(--bridge-b,-46vw));color:transparent;-webkit-text-stroke:1px rgba(239,240,238,.46)}.bridge-line-c{transform:translateX(var(--bridge-c,-4vw));color:#777d81}
.bridge-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(var(--bridge-rot,0deg));width:min(28vw,360px);aspect-ratio:1;border:1px solid rgba(255,255,255,.16);border-radius:50%;display:grid;place-items:center;background:rgba(18,20,22,.42);backdrop-filter:blur(10px)}
.bridge-core::before,.bridge-core::after{content:"";position:absolute;background:rgba(255,255,255,.1)}.bridge-core::before{height:1px;width:160vw}.bridge-core::after{width:1px;height:160vh}.bridge-core b{font:600 8px/1.4 var(--display);letter-spacing:.2em;text-align:center;width:120px}.bridge-core i{position:absolute;width:6px;height:6px;border-radius:50%;background:#fff}.bridge-core i:first-child{top:-3px}.bridge-core i:last-child{bottom:-3px}

/* Catalogue — layered editorial image stack */
.catalogue{background:linear-gradient(180deg,#101214,#17191c 55%,#121416)}
.writing-shards{position:relative;min-height:680px;overflow:visible;background:none!important;isolation:isolate}
.writing-shards::before{content:"";position:absolute;inset:7% 12% 10% 10%;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.008));transform:translate3d(var(--write-frame-x,0),var(--write-frame-y,0),0) rotate(-4deg);box-shadow:0 22px 60px rgba(0,0,0,.18)}
.writing-shards::after{content:"WORDS / MELODY / IDEA";position:absolute;right:0;top:-18px;font:600 8px/1 var(--display);letter-spacing:.24em;color:rgba(255,255,255,.32)}
.writing-shard{position:absolute;background-image:url("assets/img/writing.webp");background-repeat:no-repeat;border:1px solid rgba(255,255,255,.1);border-radius:22px;box-shadow:0 28px 90px rgba(0,0,0,.35);will-change:transform;overflow:hidden}
.writing-shard::after{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.10),transparent 34%,transparent 58%,rgba(255,255,255,.05));mix-blend-mode:screen;pointer-events:none}
.ws-1{left:16%;top:8%;width:54%;height:76%;background-size:cover;background-position:center 38%;filter:grayscale(1) contrast(1.05) brightness(.92);transform:translate3d(var(--write-x1,0),var(--write-y1,0),0) rotate(var(--write-r1,-2deg)) scale(var(--write-s1,1));z-index:3}
.ws-2{left:2%;top:18%;width:38%;height:55%;background-size:180% auto;background-position:16% 38%;filter:grayscale(1) contrast(1.08) brightness(.82);opacity:.55;transform:translate3d(var(--write-x2,0),var(--write-y2,0),0) rotate(var(--write-r2,4deg)) scale(var(--write-s2,1));z-index:1}
.ws-3{right:0;bottom:4%;width:32%;height:42%;background-size:210% auto;background-position:57% 82%;filter:grayscale(1) contrast(1.08) brightness(.94);transform:translate3d(var(--write-x3,0),var(--write-y3,0),0) rotate(var(--write-r3,3deg)) scale(var(--write-s3,1));z-index:4}
.writing-axis{position:absolute;left:-25px;top:9%;bottom:4%;display:flex;flex-direction:column;align-items:center;z-index:5;gap:12px;font:600 7px/1 var(--display);letter-spacing:.17em;color:#8c9296}.writing-axis>span{writing-mode:vertical-rl;transform:rotate(180deg)}.writing-axis>i{width:1px;flex:1;background:linear-gradient(transparent,rgba(255,255,255,.35),transparent)}.writing-axis>b{font-weight:600}.writing-shards figcaption{position:absolute;right:0;bottom:-28px;font:600 7px/1 var(--display);letter-spacing:.16em;color:#6f757a}
.catalogue-number strong{transform:translateX(var(--cat-num-x,0));display:block}.catalogue-copy h2 span{display:inline-block;transform:translateY(var(--cat-word-y,0));color:#f0f1ef}

/* ECOSYSTEM — stacked chapters */
.ecosystem{background:#111315;padding-bottom:18vh}.ecosystem-head{background:#111315;position:relative;z-index:6}.eco-panel{min-height:calc(100svh - 92px);height:calc(100svh - 92px);position:sticky;top:82px;margin:0 18px 16vh;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:70px clamp(28px,5vw,88px);box-shadow:0 30px 80px rgba(0,0,0,.28);transform:scale(var(--eco-scale,1)) translateY(var(--eco-y,0));transform-origin:center top;backdrop-filter:blur(12px)}
.eco-replay{background:#1d2023!important;z-index:2}.eco-solo{background:#171a1d!important;z-index:3;top:96px}.eco-dandara{background:#202225!important;z-index:4;top:110px;margin-bottom:0}
.eco-ghost{opacity:.8;transform:translateY(-50%) translateX(var(--eco-ghost-x,0))}
.eco-copy{transform:translateY(var(--eco-copy-y,0))}
.studio-triptych{height:68vh;position:relative;max-width:700px;width:100%;overflow:visible;isolation:isolate}
.studio-triptych::before{content:"";position:absolute;inset:6% 11% 8% 8%;border:1px solid rgba(255,255,255,.08);transform:translate3d(var(--studio-frame-x,0),var(--studio-frame-y,0),0) rotate(-4deg)}
.studio-triptych::after{content:"REPLAY / PRODUCTION / DISTRIBUTION";position:absolute;left:0;bottom:-18px;font:600 8px/1 var(--display);letter-spacing:.22em;color:rgba(255,255,255,.28)}
.studio-panel{position:absolute;background-image:url("assets/img/studio.webp");background-repeat:no-repeat;border:1px solid rgba(255,255,255,.1);border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.34);will-change:transform;overflow:hidden}
.studio-panel::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 36%,transparent 60%,rgba(255,255,255,.03));mix-blend-mode:screen}
.sp-1{left:0;top:18%;width:30%;height:46%;background-size:230% auto;background-position:14% center;filter:grayscale(1) contrast(1.04) brightness(.82);transform:translate3d(var(--studio-x1,0),var(--studio-y1,0),0) rotate(var(--studio-r1,-7deg));z-index:2}
.sp-2{left:17%;top:8%;width:58%;height:76%;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.06) brightness(.9);transform:translate3d(var(--studio-x2,0),var(--studio-y2,0),0) rotate(var(--studio-r2,0deg));z-index:3}
.sp-3{right:0;bottom:6%;width:32%;height:40%;background-size:220% auto;background-position:100% center;filter:grayscale(1) contrast(1.04) brightness(.92);transform:translate3d(var(--studio-x3,0),var(--studio-y3,0),0) rotate(var(--studio-r3,6deg));z-index:4}
.studio-triptych figcaption{position:absolute;right:0;bottom:-16px;font:600 7px/1 var(--display);letter-spacing:.16em;color:#7e8488}
.eco-symbol{transform:rotate(var(--solo-rot,0deg)) scale(var(--solo-scale,1));transition:transform .08s linear}.dandara-lines{transform:skewX(var(--dandara-skew,0deg)) scaleX(var(--dandara-scale,1));transition:transform .08s linear}

/* DIRECTION — immersive image window */
.direction{background:linear-gradient(180deg,#151719,#1b1d20)}
.direction-layout{min-height:115vh;align-items:center}.direction-photo{height:80vh;position:relative;overflow:visible;isolation:isolate;perspective:1200px}
.direction-photo::before{content:"";position:absolute;inset:4% 6% 8% 0;border:1px solid rgba(255,255,255,.08);transform:translate3d(var(--ap-frame-x,0),var(--ap-frame-y,0),0) rotate(-5deg)}
.aperture-window{position:absolute;inset:7%;clip-path:inset(var(--ap-inset,6%) round 26px);transition:clip-path .08s linear;overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:26px;background:rgba(255,255,255,.02);box-shadow:0 28px 90px rgba(0,0,0,.32)}
.aperture-window::after{content:"";position:absolute;inset:-12% -30%;background:linear-gradient(92deg,transparent 35%,rgba(255,255,255,.18) 50%,transparent 65%);transform:translateX(var(--ap-sweep,-30%)) rotate(8deg);mix-blend-mode:screen;pointer-events:none}
.aperture-window img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) contrast(1.04) brightness(.92);transform:translate3d(var(--ap-x,0),var(--ap-y,0),0) scale(var(--ap-scale,1.04)) rotate(var(--ap-tilt,0deg));will-change:transform}
.aperture-ring{position:absolute;left:50%;top:50%;pointer-events:none;transform:translate(-50%,-50%) rotate(var(--ap-ring-r,0deg));border:1px solid rgba(255,255,255,.16)}
.ar-1{width:88%;height:82%;border-radius:30px}.ar-2{width:58%;height:54%;border-radius:20px;border-style:dashed;opacity:.5}
.aperture-label{position:absolute;left:2%;bottom:2%;font:600 7px/1 var(--display);letter-spacing:.17em;color:#8d9397;transform:translateX(var(--ap-label-x,0))}
.direction-type{transform:translateX(var(--direction-type-x,0));transition:transform .08s linear}

/* Portrait — sculpted portrait field */
.portrait-break{background:#121416;min-height:108vh}.portrait-slices{height:84vh;position:relative;overflow:visible;isolation:isolate}
.portrait-slices::before{content:"";position:absolute;inset:0;background:url("assets/img/portrait.webp") center/contain no-repeat;filter:grayscale(1) contrast(1.05) brightness(.91);transform:translateY(var(--pt-main-y,0)) scale(var(--pt-main-scale,1.02));will-change:transform}
.portrait-slices::after{content:"AUTHOR";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:700 clamp(120px,18vw,320px)/.8 var(--display);letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.06);pointer-events:none}
.portrait-slices>span{position:absolute;background-image:url("assets/img/portrait.webp");background-repeat:no-repeat;border:1px solid rgba(255,255,255,.09);border-radius:18px;box-shadow:0 22px 60px rgba(0,0,0,.28);filter:grayscale(1) contrast(1.04) brightness(.9);will-change:transform}
.ps-1{left:1%;top:12%;width:17%;height:26%;background-size:250% auto;background-position:18% 18%;transform:translate3d(var(--ps1x,0),var(--ps1y,0),0) rotate(var(--ps1r,-8deg))}
.ps-2{right:3%;top:10%;width:22%;height:32%;background-size:185% auto;background-position:80% 16%;transform:translate3d(var(--ps2x,0),var(--ps2y,0),0) rotate(var(--ps2r,7deg));opacity:.9}
.ps-3{left:8%;bottom:8%;width:20%;height:24%;background-size:230% auto;background-position:32% 86%;transform:translate3d(var(--ps3x,0),var(--ps3y,0),0) rotate(var(--ps3r,5deg))}
.ps-4{right:14%;bottom:3%;width:18%;height:28%;background-size:250% auto;background-position:72% 84%;transform:translate3d(var(--ps4x,0),var(--ps4y,0),0) rotate(var(--ps4r,-6deg))}
.ps-5{left:50%;bottom:1%;width:22%;height:20%;background-size:200% auto;background-position:50% 100%;transform:translate3d(var(--ps5x,0),var(--ps5y,0),0) rotate(var(--ps5r,-2deg)) translateX(-50%);opacity:.6}
.portrait-slices figcaption{position:absolute;right:8px;bottom:8px;background:rgba(13,15,16,.7);padding:8px 10px;font:600 7px/1 var(--display);letter-spacing:.15em;color:#9da2a5;backdrop-filter:blur(8px)}
.portrait-break-copy{transform:translateY(var(--portrait-copy-y,0))}.portrait-break-copy h2{transform:skewX(var(--portrait-skew,0deg));transform-origin:left}

/* Timeline — cards react to center position */
.timeline-track article{transform:perspective(1000px) translateZ(var(--card-z,0)) rotateY(var(--card-ry,0deg)) scale(var(--card-scale,1));opacity:var(--card-opacity,1);transition:opacity .08s linear,transform .08s linear;transform-origin:center center}.timeline-track time{transform:translateX(var(--card-time-x,0));display:block}.timeline-track article::after{content:"";position:absolute;left:52px;right:52px;bottom:36px;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.22),transparent);transform:scaleX(var(--card-line,0));transform-origin:left}

/* Press — alternating scroll drift */
.press{background:#151719}.press-row{transform:translateX(var(--press-x,0)) skewX(var(--press-skew,0deg));will-change:transform}.press-row>b{transition:letter-spacing .25s}.press-row:hover>b{letter-spacing:.01em}.press-head h2{transform:translateX(var(--press-head-x,0))}

/* Closing — moving outline words react to scroll */
.closing{background:#1a1c1f}.closing-words span:nth-child(1){transform:translateX(var(--close-a,0))}.closing-words span:nth-child(2){transform:translateX(var(--close-b,0))}.closing-words span:nth-child(3){transform:translateX(var(--close-c,0))}.closing-center{transform:scale(var(--close-scale,1)) rotate(var(--close-rot,0deg))}

/* Brightness / pacing: dark, but not crushed */
.catalogue,.direction,.press,.closing,.ecosystem-head,.kinetic-bridge{box-shadow:inset 0 1px rgba(255,255,255,.025)}

@media(max-width:1100px){
  .scroll-hud{display:none}.cursor-trail{display:none}
  .eco-panel{margin-left:10px;margin-right:10px}
  .writing-shards{min-height:520px}
}
@media(max-width:760px){
  .hero-photo-stage::before{inset:9% 0 5% 8%}.hero-scan{display:none}.hero-cinema figcaption{font-size:6px}
  .kinetic-bridge{height:170vh}.bridge-line{font-size:22vw}.bridge-core{width:54vw}.bridge-line-a{transform:translateX(var(--bridge-a,-12vw))}.bridge-line-b{transform:translateX(var(--bridge-b,-75vw))}.bridge-line-c{transform:translateX(var(--bridge-c,-24vw))}
  .writing-shards{height:58vh;min-height:0;margin:28px 0 38px}.ws-1{left:14%;width:60%;height:74%}.ws-2{left:0;width:42%;height:50%;top:22%}.ws-3{right:2%;width:36%;height:38%}.writing-axis{left:-10px}
  .eco-panel{position:relative!important;top:auto!important;height:auto;min-height:90svh;margin:0 8px 18px;border-radius:14px;transform:none!important;padding:76px var(--pad)}.ecosystem{padding-bottom:40px}.studio-triptych{height:50vh;max-width:none}.sp-1{width:32%;height:42%}.sp-2{left:14%;width:62%;height:74%}.sp-3{width:34%;height:34%}.direction-layout{min-height:0}.direction-photo{height:62vh}.aperture-window{inset:3%}.portrait-slices{height:58vh}.ps-1,.ps-2,.ps-3,.ps-4,.ps-5{width:26%;height:20%}.portrait-break{min-height:auto}.timeline-track article{transform:none!important;opacity:1!important}
  .press-row{transform:none!important}.closing-center{transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  .hero-photo-stage img,.hero-scan,.bridge-line,.bridge-core,.writing-shard,.eco-panel,.studio-panel,.direction-photo,.aperture-window,.portrait-slices>span,.press-row,.closing-words span,.closing-center{transform:none!important}.aperture-window{clip-path:inset(0 round 0)!important}.kinetic-bridge{height:auto}.bridge-sticky{position:relative;height:100svh}.cursor-trail,.scroll-hud{display:none}
}
/* V5 small compatibility fixes */
.hc-b{transform:rotate(var(--hero-cross-rb,0deg))}
.timeline-track article{position:relative}

/* =========================================================
   V7 — luxury simplification / whole-image treatment
   ========================================================= */
body{cursor:auto}
a,button{cursor:pointer}
.pointer-light,.cursor,.cursor-trail{display:none!important}

.hero{background:
  radial-gradient(70vw 70vw at 78% 18%,rgba(255,255,255,.06),transparent 58%),
  linear-gradient(145deg,#17191b 0%,#101214 58%,#151719 100%)}
.hero::before{width:58vw;height:58vw;right:-18vw;top:-20vw;border-color:rgba(255,255,255,.05);box-shadow:0 0 0 8vw rgba(255,255,255,.012),0 0 0 18vw rgba(255,255,255,.008)}
.hero-copy{max-width:760px}
.hero-kicker{color:#b6bbbe;letter-spacing:.18em}
.hero h1{font-size:clamp(92px,11.6vw,204px);font-weight:700;letter-spacing:-.095em}
.hero-name-outline{-webkit-text-stroke:1.25px rgba(240,241,239,.74)}
.hero-statement{max-width:620px;font-size:clamp(17px,1.35vw,23px);line-height:1.62;color:#d3d6d7;border-left-color:rgba(255,255,255,.22)}
.hero-roles{margin-top:8px;color:#b3b7ba;gap:10px 12px}.hero-roles span{padding:9px 12px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.028)}.hero-roles i{width:10px;opacity:.25}
.hero-cinema{height:min(78vh,860px)}
.hero-photo-stage{position:relative;width:100%;height:100%;display:grid;place-items:center;isolation:isolate;padding:26px 24px 56px;border:1px solid rgba(255,255,255,.12);border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.018));box-shadow:0 42px 120px rgba(0,0,0,.38);clip-path:none!important;overflow:visible}
.hero-photo-stage::before{content:"";position:absolute;inset:16px;border:1px solid rgba(255,255,255,.06);border-radius:26px;transform:translate3d(var(--hero-frame-x,10px),var(--hero-frame-y,10px),0)}
.hero-photo-stage img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:grayscale(1) contrast(1.04) brightness(.96);transform:translate3d(var(--hero-img-x,0),var(--hero-img-y,0),0) scale(var(--hero-scale,1.01));will-change:transform}
.hero-mini-card{position:absolute;left:-3%;bottom:8%;width:35%;max-width:220px;aspect-ratio:4/5;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:0 28px 80px rgba(0,0,0,.34);transform:translateY(var(--hero-card-y,0)) rotate(-6deg);z-index:4;backdrop-filter:blur(12px)}
.hero-mini-card::after{content:"PROCESS";position:absolute;left:16px;bottom:-18px;font:600 7px/1 var(--display);letter-spacing:.18em;color:#8c9296}
.hero-mini-card img{width:100%;height:100%;object-fit:contain;border-radius:18px;filter:grayscale(1) contrast(1.05) brightness(.94)}
.hero-scan,.hero-cross{display:none!important}
.hero-cinema figcaption{left:16px;right:16px;bottom:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.hero-side{color:#81878b}.hero-side-left,.hero-side-right{border-color:rgba(255,255,255,.08)}
.hero-stats{padding-top:20px;border-top-color:rgba(255,255,255,.08)}
.hero-stats b{font-weight:600}.hero-stats span{color:#92989c}
.hero-note{color:#70757a}

.catalogue-photo,.eco-image,.direction-photo,.portrait-break-image{min-width:0}
.writing-shards,.studio-triptych,.portrait-slices{border-radius:30px}
.writing-shards{min-height:700px;padding:26px 22px 72px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#16191c,#111315);box-shadow:0 24px 80px rgba(0,0,0,.24)}
.writing-shards::before{inset:18px;border-radius:24px;transform:translate3d(var(--write-frame-x,0),var(--write-frame-y,0),0);background:none;box-shadow:none}
.writing-shards::after{right:22px;top:auto;bottom:20px;letter-spacing:.18em}
.ws-1{left:12%;top:7%;width:76%;height:82%;background-size:contain;background-position:center;background-color:#0f1112;border-radius:28px;transform:translate3d(var(--write-x1,0),var(--write-y1,0),0) rotate(var(--write-r1,-1deg)) scale(var(--write-s1,1));z-index:3}
.ws-2,.ws-3{display:none}
.writing-axis{left:18px;top:24px;bottom:24px}
.writing-shards figcaption{right:22px;bottom:48px}

.studio-triptych{height:72vh;max-width:720px;padding:20px 20px 60px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#171a1d,#111315);box-shadow:0 24px 80px rgba(0,0,0,.24)}
.studio-triptych::before{inset:18px;border-radius:24px;transform:translate3d(var(--studio-frame-x,0),var(--studio-frame-y,0),0)}
.studio-triptych::after{left:22px;bottom:18px;right:22px;white-space:nowrap;letter-spacing:.17em;color:rgba(255,255,255,.34)}
.sp-2{left:12%;top:7%;width:76%;height:82%;background-size:contain;background-position:center;background-color:#0f1112;border-radius:28px;transform:translate3d(var(--studio-x2,0),var(--studio-y2,0),0) rotate(var(--studio-r2,0deg));z-index:3}
.sp-1,.sp-3{display:none}
.studio-triptych figcaption{right:22px;bottom:44px}

.direction{background:linear-gradient(180deg,#151719,#1a1d20)}
.direction-photo{height:84vh}
.direction-photo::before{inset:3% 4% 7% 0;border-radius:28px;transform:translate3d(var(--ap-frame-x,0),var(--ap-frame-y,0),0) rotate(-3deg)}
.aperture-window{inset:5%;clip-path:none!important;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.016));box-shadow:0 32px 90px rgba(0,0,0,.34)}
.aperture-window img{object-fit:contain;object-position:center bottom}
.ar-1{width:94%;height:90%;border-radius:34px;opacity:.55}.ar-2{display:none}
.aperture-label{left:16px;bottom:16px;padding:8px 10px;background:rgba(12,14,15,.54);border:1px solid rgba(255,255,255,.08);border-radius:999px}

.portrait-break{align-items:center}
.portrait-slices{height:86vh;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#15181a,#101214);box-shadow:0 24px 80px rgba(0,0,0,.26);overflow:hidden}
.portrait-slices::before{inset:6% 6% 8%;background-size:contain;background-position:center bottom;transform:translateY(var(--pt-main-y,0)) scale(var(--pt-main-scale,1.01))}
.portrait-slices::after{content:"EHAB GHAITH";left:18px;top:18px;bottom:auto;transform:none;font:600 8px/1 var(--display);letter-spacing:.2em;color:#8f9599;-webkit-text-stroke:0}
.portrait-slices>span{display:none}
.portrait-slices figcaption{right:18px;bottom:18px}
.portrait-break-copy h2{font-size:clamp(42px,6.4vw,108px);line-height:.9}

.eco-panel{overflow:visible}
.eco-copy p,.direction-copy p,.catalogue-copy p,.press-head p{color:#a4aaae}
.visual-names span,.profile-facts span,.dialects span{background:rgba(255,255,255,.025)}

@media(max-width:1100px){
  .hero h1{font-size:clamp(86px,11vw,150px)}
  .hero-mini-card{width:32%;left:-1%;bottom:10%}
  .writing-shards,.studio-triptych,.portrait-slices{border-radius:24px}
}
@media(max-width:760px){
  .hero{padding-top:92px}
  .hero h1{font-size:clamp(74px,22vw,124px)}
  .hero-statement{max-width:100%;padding-left:16px}
  .hero-photo-stage{padding:18px 14px 54px;border-radius:24px}
  .hero-photo-stage::before{inset:10px;border-radius:18px}
  .hero-mini-card{width:38vw;max-width:none;left:-2%;bottom:7%;padding:8px;border-radius:18px}
  .hero-mini-card img{border-radius:12px}
  .hero-cinema{height:58vh}
  .writing-shards{min-height:0;height:58vh;padding:14px 14px 58px}.ws-1{left:8%;width:84%;height:78%}.writing-axis{left:12px}
  .studio-triptych{height:52vh;padding:12px 12px 54px}.sp-2{left:8%;width:84%;height:78%}.studio-triptych::after{font-size:6px;left:14px;right:14px}
  .direction-photo{height:64vh}.aperture-window{inset:4%}.direction-photo::before{inset:4% 2% 8% 0}
  .portrait-slices{height:60vh}
}

/* =========================================================
   V8 — cleaner image art / richer scroll reveals
   ========================================================= */

/* The Full Chain: keep every stage readable on every width */
.chain-word{overflow:visible}
.chain-word span{font-size:clamp(68px,9.2vw,154px);max-width:100%;white-space:nowrap}

/* Catalogue — one cinematic image field that changes while scrolling */
.catalogue-reel{position:relative;min-height:700px;overflow:visible;isolation:isolate;background:none!important}
.catalogue-stage{position:absolute;inset:3% 0 7% 4%;overflow:hidden;background:#111315;box-shadow:0 34px 110px rgba(0,0,0,.28);clip-path:polygon(0 7%,92% 0,100% 91%,8% 100%);transform:translate3d(var(--cat-stage-x,0),var(--cat-stage-y,0),0) scale(var(--cat-stage-scale,1));will-change:transform}
.catalogue-stage::before{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(100deg,rgba(15,17,18,.28),transparent 32%,transparent 76%,rgba(15,17,18,.34));pointer-events:none}
.catalogue-stage::after{content:"";position:absolute;left:var(--cat-scan,10%);top:0;bottom:0;width:1px;background:linear-gradient(transparent,rgba(255,255,255,.58),transparent);box-shadow:0 0 28px rgba(255,255,255,.12);z-index:5;pointer-events:none}
.catalogue-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;filter:grayscale(1) contrast(1.05) brightness(.94);will-change:transform,opacity}
.catalogue-img-a{opacity:var(--cat-a,1);transform:translate3d(var(--cat-a-x,0),var(--cat-a-y,0),0) scale(var(--cat-a-scale,1.02))}
.catalogue-img-b{opacity:var(--cat-b,0);transform:translate3d(var(--cat-b-x,0),var(--cat-b-y,0),0) scale(var(--cat-b-scale,1.05))}
.catalogue-focus{position:absolute;left:8%;bottom:7%;width:62px;height:62px;border-left:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28);z-index:6;opacity:.7}
.catalogue-focus::before{content:"";position:absolute;left:-1px;bottom:0;width:26px;height:1px;background:#e6e8e8}.catalogue-focus::after{content:"";position:absolute;left:0;bottom:-1px;width:1px;height:26px;background:#e6e8e8}
.catalogue-reel-meta{position:absolute;right:1%;bottom:0;display:flex;align-items:center;gap:18px;font:600 8px/1 var(--display);letter-spacing:.16em;color:#747b7f}.catalogue-reel-meta b{font-weight:600;color:#b6bbbe}

/* Replay — a live before/after wipe between two moments, not another framed portrait */
.replay-canvas{height:74vh;position:relative;max-width:760px;width:100%;overflow:visible;isolation:isolate}
.replay-stage{position:absolute;inset:2% 0 8% 2%;overflow:hidden;clip-path:polygon(5% 0,100% 0,94% 100%,0 92%);background:#111315;box-shadow:0 32px 100px rgba(0,0,0,.3);transform:translate3d(var(--replay-x,0),var(--replay-y,0),0) rotate(var(--replay-r,0deg));will-change:transform}
.replay-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;filter:grayscale(1) contrast(1.04) brightness(.92)}
.replay-image-a{transform:scale(var(--replay-scale-a,1.02)) translateY(var(--replay-img-a-y,0))}
.replay-image-b{clip-path:inset(0 calc(100% - var(--replay-wipe,0%)) 0 0);transform:scale(var(--replay-scale-b,1.05)) translateY(var(--replay-img-b-y,0));filter:grayscale(1) contrast(1.07) brightness(.96)}
.replay-wipe{position:absolute;top:0;bottom:0;left:var(--replay-wipe,0%);width:1px;background:rgba(255,255,255,.55);box-shadow:0 0 30px rgba(255,255,255,.14);z-index:4;transform:translateX(-1px)}
.replay-canvas figcaption{position:absolute;left:5%;right:1%;bottom:0;display:flex;justify-content:space-between;font:600 8px/1 var(--display);letter-spacing:.16em;color:#7e8589}.replay-canvas figcaption b{font-weight:600;color:#aeb3b6}

/* Direction — an image opens like a projected field, with no repeated box treatment */
.direction-photo{height:86vh;overflow:visible}
.direction-photo::before{display:none}
.aperture-window{inset:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;overflow:hidden;clip-path:inset(var(--dir-inset,12%) 0 var(--dir-inset,12%) 0)!important;mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 91%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 91%,transparent 100%)}
.aperture-window::after{inset:-10% -40%;background:linear-gradient(95deg,transparent 40%,rgba(255,255,255,.14) 50%,transparent 60%);transform:translateX(var(--ap-sweep,-30%)) rotate(6deg)}
.aperture-window img{object-fit:contain;object-position:center bottom;transform:translate3d(var(--ap-x,0),var(--ap-y,0),0) scale(var(--ap-scale,1.05)) rotate(0deg)}
.aperture-ring{display:none!important}
.aperture-label{left:auto;right:0;bottom:5%;background:none;border:0;padding:0;color:#83898d}
.direction-type span{-webkit-text-stroke-color:rgba(255,255,255,.045)}

/* Author image — full image, edge-faded, floating against the section instead of living in a card */
.portrait-slices{height:88vh;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;overflow:visible!important}
.portrait-slices::before{inset:1% -4% 1% 0;background-size:contain;background-position:center bottom;filter:grayscale(1) contrast(1.05) brightness(.93);mask-image:linear-gradient(to right,transparent 0,#000 12%,#000 88%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 12%,#000 88%,transparent 100%);transform:translate3d(var(--pt-main-x,0),var(--pt-main-y,0),0) scale(var(--pt-main-scale,1.03));filter:grayscale(1) contrast(1.05) brightness(.92) drop-shadow(0 28px 54px rgba(0,0,0,.38))}
.portrait-slices::after{left:3%;top:12%;font-size:7px;letter-spacing:.22em}
.portrait-slices figcaption{right:2%;bottom:8%;background:none;border:0;padding:0;backdrop-filter:none;color:#8b9195}
.portrait-break-copy{position:relative;z-index:2}

/* Press / Profiles — no newspaper list; a graphic field of interactive source portals */
.press{overflow:hidden;background:linear-gradient(180deg,#151719,#101214)}
.press-head{position:relative;z-index:2}
.press-gallery{display:grid;grid-template-columns:1.25fr .75fr .85fr;grid-auto-rows:minmax(190px,1fr);gap:14px;margin-top:62px;perspective:1200px}
.press-card{position:relative;min-height:210px;padding:24px 24px 22px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transform:translate3d(var(--press-x,0),var(--press-y,0),0) rotate(var(--press-r,0deg));transition:background .35s,border-color .35s,transform .35s;will-change:transform}
.press-card::before{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(255,255,255,.06);border-radius:50%;right:-70px;top:-80px;transition:transform .5s,border-color .35s}.press-card::after{content:"";position:absolute;left:24px;right:24px;bottom:52px;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.22),transparent)}
.press-card:hover{background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.018));border-color:rgba(255,255,255,.2);transform:translate3d(var(--press-x,0),calc(var(--press-y,0) - 5px),18px) rotate(var(--press-r,0deg))}.press-card:hover::before{transform:scale(1.16) rotate(28deg);border-color:rgba(255,255,255,.12)}
.press-card>span{font:600 8px/1 var(--display);letter-spacing:.17em;color:#757b7f}.press-card>strong{font:600 clamp(26px,3.1vw,54px)/.9 var(--display);letter-spacing:-.055em}.press-card>em{font-style:normal;font:600 8px/1.35 var(--display);letter-spacing:.12em;color:#858b8f;max-width:75%}.press-card>i{position:absolute;right:24px;bottom:22px;font-style:normal;color:#a9aeb1}.press-card-xl{grid-row:span 2;min-height:434px}.press-card-xl strong{font-size:clamp(42px,5.3vw,88px)}.press-card-tall{grid-row:span 2}.press-card-wide{grid-column:span 2}.press-card-archive{background:transparent}.press-card-archive strong{font-size:clamp(54px,6vw,98px);color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.28)}

@media(max-width:1100px){
  .press-gallery{grid-template-columns:1fr 1fr}.press-card-wide{grid-column:span 1}.press-card-xl,.press-card-tall{grid-row:span 1;min-height:250px}
}
@media(max-width:760px){
  .chain-word span{font-size:19vw}
  .catalogue-reel{height:60vh;min-height:0;margin-top:24px}.catalogue-stage{inset:2% 0 8% 0;clip-path:polygon(0 4%,96% 0,100% 94%,4% 100%)}.catalogue-reel-meta{font-size:6px}
  .replay-canvas{height:54vh}.replay-stage{inset:0 0 10% 0}.replay-canvas figcaption{font-size:6px}
  .direction-photo{height:68vh}.aperture-window{clip-path:inset(var(--dir-inset,8%) 0 var(--dir-inset,8%) 0)!important}.aperture-label{font-size:6px}
  .portrait-slices{height:62vh}.portrait-slices::before{inset:0 -12% 0 -8%}
  .press-gallery{grid-template-columns:1fr;gap:10px}.press-card,.press-card-xl,.press-card-tall,.press-card-wide{grid-column:auto;grid-row:auto;min-height:190px}.press-card>strong{font-size:10vw}.press-card-xl strong{font-size:12vw}
}

/* =========================================================
   V9 — final text cleanup / richer image choreography
   ========================================================= */
html,body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{overscroll-behavior-y:none}
.nav a:last-child{display:none}

/* HERO — less boxy, more sculptural */
.hero-grid{gap:34px}
.hero-copy{max-width:780px}
.hero-kicker{color:#c0c4c7;letter-spacing:.2em}
.hero h1{font-size:clamp(96px,11.9vw,214px);line-height:.74}
.hero-statement{max-width:650px}
.hero-cinema{height:min(79vh,880px)}
.hero-photo-stage{padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;overflow:visible!important;isolation:isolate}
.hero-photo-stage::before{content:"";position:absolute;inset:-7% -10% -3% -8%;border:0!important;border-radius:48% 52% 42% 58% / 32% 48% 52% 68%;background:radial-gradient(circle at 56% 34%,rgba(255,255,255,.19),rgba(255,255,255,.06) 18%,rgba(255,255,255,.02) 34%,transparent 61%),radial-gradient(circle at 45% 55%,rgba(255,255,255,.07),transparent 58%);filter:blur(3px);transform:translate3d(var(--hero-halo-x,0),var(--hero-halo-y,0),0) rotate(var(--hero-halo-r,-5deg));opacity:.92}
.hero-photo-stage::after{content:"";position:absolute;left:10%;right:6%;bottom:2%;height:12%;background:radial-gradient(closest-side,rgba(0,0,0,.52),transparent 70%);filter:blur(14px);opacity:.82;z-index:1}
.hero-photo-stage img{width:100%;height:100%;object-fit:contain;object-position:center bottom;mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 14%,#000 90%,transparent 100%);filter:grayscale(1) contrast(1.05) brightness(.98) drop-shadow(0 28px 70px rgba(0,0,0,.52));transform:translate3d(var(--hero-img-x,0),var(--hero-img-y,0),0) scale(var(--hero-scale,1.015));z-index:2}
.hero-mini-card{left:auto;right:-4%;bottom:12%;width:29%;max-width:198px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.018));box-shadow:0 22px 60px rgba(0,0,0,.28);transform:translateY(var(--hero-card-y,0)) rotate(11deg);backdrop-filter:blur(14px)}
.hero-mini-card::after{left:14px;bottom:-16px;color:#9aa0a4}
.hero-mini-card img{aspect-ratio:1/1;object-fit:cover;border-radius:999px}
.hero-cinema figcaption{left:0;right:0;bottom:-6px;border-top:0;padding-top:0;display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.hero-cinema figcaption span{padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.hero-cinema figcaption b{display:block;max-width:240px;text-align:right;color:#aeb4b7}

/* Catalogue — fluid panel reveal */
.catalogue-stage{border-radius:34px;clip-path:polygon(0 12%,88% 0,100% 87%,11% 100%);background:linear-gradient(180deg,#15181b,#0f1112);box-shadow:0 42px 120px rgba(0,0,0,.34)}
.catalogue-stage::before{background:linear-gradient(104deg,rgba(255,255,255,.08),transparent 24%,transparent 70%,rgba(255,255,255,.05));mix-blend-mode:screen}
.catalogue-stage::after{left:var(--cat-scan,10%);width:2px;box-shadow:0 0 36px rgba(255,255,255,.18)}
.catalogue-img{object-position:center bottom}
.catalogue-focus{left:auto;right:7%;top:8%;bottom:auto;width:84px;height:84px;border-left:0;border-bottom:0;border-top:1px solid rgba(255,255,255,.28);border-right:1px solid rgba(255,255,255,.28);border-radius:0 18px 0 0}
.catalogue-focus::before{left:auto;right:-1px;top:0;bottom:auto;width:28px;height:1px}.catalogue-focus::after{left:auto;right:0;top:-1px;bottom:auto;width:1px;height:28px}
.catalogue-reel-meta{right:3%;bottom:2%}

/* Replay — stacked wave wipe */
.replay-stage{clip-path:polygon(7% 0,100% 5%,93% 100%,0 94%);border-radius:32px;background:linear-gradient(180deg,#15181a,#0f1112);box-shadow:0 38px 118px rgba(0,0,0,.34)}
.replay-stage::before{content:"";position:absolute;inset:7% 5% 10% 7%;border:1px solid rgba(255,255,255,.07);border-radius:28px;transform:translate3d(var(--replay-inner-x,0),var(--replay-inner-y,0),0) rotate(-2deg)}
.replay-stage::after{content:"";position:absolute;left:-10%;top:-12%;width:45%;height:35%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.1),transparent 70%);opacity:.75;transform:translate3d(var(--replay-glow-x,0),var(--replay-glow-y,0),0)}
.replay-image-a,.replay-image-b{object-position:center bottom}
.replay-image-b{clip-path:inset(0 calc(100% - var(--replay-wipe,0%)) 0 0 round 0 24px 24px 0)}
.replay-wipe{width:2px;box-shadow:0 0 38px rgba(255,255,255,.2)}

/* Direction — projected curtain reveal */
.direction-photo{height:88vh}
.aperture-window{clip-path:inset(var(--dir-top,14%) 0 var(--dir-bottom,14%) 0)!important}
.aperture-window::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to right,rgba(255,255,255,.02) 0 1px,transparent 1px 6%);mix-blend-mode:screen;opacity:.45;pointer-events:none;z-index:2}
.aperture-window img{filter:grayscale(1) contrast(1.06) brightness(.95)}
.aperture-label{right:1%;bottom:6%;letter-spacing:.2em}

/* Credentials strip replacing press */
.credentials-strip{padding:10px var(--pad) 100px;background:linear-gradient(180deg,#111315,#17191b);border-top:1px solid rgba(255,255,255,.06)}
.credentials-wrap{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center}
.credentials-wrap span{padding:12px 16px;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:rgba(255,255,255,.03);font:600 10px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:#b7bcc0}

/* Closing */
.closing-center p{display:none!important}
.closing-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 14px;margin-top:26px}
.closing-links a{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.028);color:#d6d8d9;transition:transform .24s ease,background .24s ease,border-color .24s ease}
.closing-links a:hover{transform:translateY(-2px);background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16)}
.closing-links svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.92}
.closing-links a span{font:600 10px/1 var(--display);letter-spacing:.12em;text-transform:uppercase}

/* Better mobile / iPad behavior */
@media(max-width:1100px){
  .hero-cinema{height:66vh}
  .hero-photo-stage::before{inset:-2% -6% 2% -4%}
  .hero-mini-card{right:-2%;bottom:8%;width:31%}
  .credentials-strip{padding-bottom:72px}
}
@media(max-width:760px){
  .hero-grid{gap:18px}
  .hero h1{font-size:clamp(78px,21vw,118px)}
  .hero-cinema{height:60vh}
  .hero-photo-stage::before{inset:6% -10% 0 -10%;border-radius:45% 55% 48% 52% / 32% 44% 56% 68%}
  .hero-mini-card{right:1%;bottom:8%;width:30vw;min-width:96px;padding:7px}
  .hero-cinema figcaption{bottom:0;font-size:6px}.hero-cinema figcaption b{max-width:148px}
  .catalogue-stage{inset:1% 0 8% 0;clip-path:polygon(0 8%,94% 0,100% 92%,8% 100%);border-radius:22px}
  .catalogue-focus{width:58px;height:58px;right:6%;top:7%}
  .replay-stage{inset:0 0 10% 0;border-radius:22px}
  .direction-photo{height:68vh}.aperture-window{clip-path:inset(var(--dir-top,10%) 0 var(--dir-bottom,10%) 0)!important}
  .credentials-wrap span{font-size:8px;padding:10px 12px;text-align:center}
  .closing-links{gap:10px}.closing-links a{padding:10px 12px}.closing-links a span{font-size:9px}
}

/* =========================================================
   V10 — immersive scroll / distinct image systems
   ========================================================= */

/* HERO: sculptural portrait + orbiting process moments */
.hero-photo-stage{overflow:visible!important;perspective:1400px}
.hero-photo-stage::before{inset:-10% -14% -5% -10%;border-radius:46% 54% 42% 58% / 34% 46% 54% 66%;background:
  radial-gradient(circle at 54% 31%,rgba(255,255,255,.22),rgba(255,255,255,.07) 19%,rgba(255,255,255,.025) 38%,transparent 62%),
  radial-gradient(circle at 65% 72%,rgba(255,255,255,.07),transparent 54%);
  filter:blur(2px);opacity:.96;transform:translate3d(var(--hero-halo-x,0),var(--hero-halo-y,0),0) rotate(var(--hero-halo-r,-4deg)) scale(var(--hero-halo-s,1))}
.hero-photo-stage::after{left:5%;right:0;bottom:-2%;height:18%;filter:blur(18px);opacity:.92}
.hero-photo-stage>img{transform:translate3d(var(--hero-img-x,0),var(--hero-img-y,0),0) scale(var(--hero-scale,1.015)) rotateY(var(--hero-yaw,0deg));transform-origin:54% 58%;transition:filter .08s linear}
.hero-orbit-card{position:absolute;z-index:5;border-radius:999px;background:rgba(18,20,22,.7);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px);box-shadow:0 22px 64px rgba(0,0,0,.34);display:grid;place-items:center;will-change:transform,opacity;pointer-events:none}
.hero-orbit-card img{width:100%;height:100%;object-fit:cover;border-radius:999px;filter:grayscale(1) contrast(1.06) brightness(.95)}
.hero-orbit-card span{position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);font:600 7px/1 var(--display);letter-spacing:.18em;color:#8f969a;white-space:nowrap}
.hero-orbit-a{width:142px;aspect-ratio:1;left:-7%;bottom:8%;padding:8px;transform:translate3d(var(--orb-a-x,0),var(--orb-a-y,0),0) rotate(var(--orb-a-r,-8deg)) scale(var(--orb-a-s,1));opacity:var(--orb-a-o,1)}
.hero-orbit-b{width:96px;aspect-ratio:1;right:-4%;top:14%;padding:6px;transform:translate3d(var(--orb-b-x,0),var(--orb-b-y,0),0) rotate(var(--orb-b-r,8deg)) scale(var(--orb-b-s,.92));opacity:var(--orb-b-o,.68)}
.hero-cinema figcaption{bottom:-12px}

/* YouTube portals: unmistakable and animated without breaking monochrome */
.youtube-portal{width:min(680px,100%);grid-template-columns:auto 1fr auto!important;align-items:center;gap:18px!important;padding:19px 18px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.018));box-shadow:0 20px 60px rgba(0,0,0,.18);overflow:visible!important}
.youtube-portal::before{border-radius:18px;background:#f0f1ef!important;transform:scaleX(0)!important;transform-origin:left center!important;transition:transform .42s cubic-bezier(.2,.8,.2,1)!important}
.youtube-portal:hover::before{transform:scaleX(1)!important}
.youtube-portal .youtube-mark{grid-column:1!important;grid-row:1!important;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);background:#0e1011;position:relative;isolation:isolate}
.youtube-portal .youtube-mark::before,.youtube-portal .youtube-mark::after{content:"";position:absolute;inset:-8px;border:1px solid rgba(255,255,255,.09);border-radius:50%;animation:ytpulse 2.4s ease-out infinite}.youtube-portal .youtube-mark::after{inset:-16px;animation-delay:1.2s}
.youtube-portal svg{width:28px;height:28px;fill:none;stroke:#f2f3f1;stroke-width:1.7}.youtube-portal svg path{fill:#f2f3f1;stroke:none}
.youtube-portal .portal-copy{grid-column:2!important;grid-row:1!important;display:grid;gap:7px;text-align:left}
.youtube-portal .portal-copy small{font:600 7px/1.2 var(--display);letter-spacing:.17em;color:#8d9397}
.youtube-portal .portal-copy strong{grid-column:auto!important;font:600 14px/1.1 var(--display);letter-spacing:.035em}
.youtube-portal>i{grid-column:3!important;grid-row:1!important;font-size:23px}
.youtube-portal:hover .youtube-mark{background:#111}.youtube-portal:hover svg{stroke:#111}.youtube-portal:hover svg path{fill:#111}.youtube-portal:hover .portal-copy small{color:#555b60}
@keyframes ytpulse{0%{transform:scale(.88);opacity:.45}70%,100%{transform:scale(1.28);opacity:0}}

/* CATALOGUE: 3D page-turn, whole images, no cross-fade */
.catalogue-reel{perspective:1500px;min-height:720px}
.catalogue-stage{inset:1% 2% 6% 4%;overflow:visible;clip-path:none!important;border-radius:0!important;background:none!important;box-shadow:none!important;transform:translate3d(var(--cat-stage-x,0),var(--cat-stage-y,0),0) scale(var(--cat-stage-scale,1));transform-style:preserve-3d}
.catalogue-stage::before{content:"";position:absolute;left:11%;right:4%;top:4%;bottom:5%;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.055),transparent 42%),linear-gradient(180deg,#181b1e,#0f1112);border-radius:32px;box-shadow:0 32px 100px rgba(0,0,0,.34);z-index:-2;transform:translate3d(26px,22px,-120px) rotate(3deg)}
.catalogue-stage::after{content:"";position:absolute;left:13%;top:8%;bottom:8%;width:1px;background:linear-gradient(transparent,rgba(255,255,255,.24),transparent);z-index:4;box-shadow:0 0 24px rgba(255,255,255,.08)}
.catalogue-img{left:12%;right:auto;top:4%;bottom:auto;width:78%;height:88%;object-fit:contain;object-position:center;background:#0e1011;border-radius:28px;box-shadow:0 34px 110px rgba(0,0,0,.4);backface-visibility:hidden;transform-style:preserve-3d}
.catalogue-img-a{opacity:var(--cat-a-o,1);transform-origin:10% 50%;transform:perspective(1400px) translate3d(var(--cat-a-x,0),var(--cat-a-y,0),var(--cat-a-z,0)) rotateY(var(--cat-a-ry,0deg)) rotateZ(var(--cat-a-rz,-2deg)) scale(var(--cat-a-scale,1))}
.catalogue-img-b{opacity:var(--cat-b-o,1);transform-origin:90% 50%;transform:perspective(1400px) translate3d(var(--cat-b-x,0),var(--cat-b-y,0),var(--cat-b-z,-90px)) rotateY(var(--cat-b-ry,8deg)) rotateZ(var(--cat-b-rz,2deg)) scale(var(--cat-b-scale,.93));z-index:-1}
.catalogue-focus{display:none}
.catalogue-reel-meta{right:4%;bottom:2%;z-index:6}

/* REPLAY: depth exchange, not wipe */
.replay-canvas{height:76vh;perspective:1500px;max-width:790px}
.replay-stage{inset:0 0 8% 0;overflow:visible;clip-path:none!important;border-radius:0!important;background:none!important;box-shadow:none!important;transform-style:preserve-3d;transform:translate3d(var(--replay-x,0),var(--replay-y,0),0)}
.replay-stage::before{content:"";position:absolute;inset:6% 4% 8% 8%;border-radius:40px;background:radial-gradient(circle at 40% 20%,rgba(255,255,255,.06),transparent 48%),linear-gradient(180deg,#171a1d,#0f1112);filter:blur(.1px);z-index:-3;transform:translate3d(var(--replay-bg-x,0),var(--replay-bg-y,0),-140px) rotate(-4deg)}
.replay-stage::after{content:"";position:absolute;right:4%;top:6%;width:120px;height:120px;border:1px solid rgba(255,255,255,.08);border-radius:50%;z-index:6;transform:translate3d(var(--replay-ring-x,0),var(--replay-ring-y,0),0) scale(var(--replay-ring-s,1))}
.replay-image{width:72%;height:88%;top:4%;bottom:auto;object-fit:contain;object-position:center;background:#0f1112;border-radius:28px;box-shadow:0 34px 110px rgba(0,0,0,.38);backface-visibility:hidden;will-change:transform,opacity;clip-path:none!important}
.replay-image-a{left:3%;right:auto;opacity:var(--replay-a-o,1);transform:perspective(1400px) translate3d(var(--replay-a-x,0),var(--replay-a-y,0),var(--replay-a-z,0)) rotateY(var(--replay-a-ry,0deg)) rotateZ(var(--replay-a-rz,-3deg)) scale(var(--replay-a-s,1))}
.replay-image-b{left:auto;right:1%;opacity:var(--replay-b-o,.75);transform:perspective(1400px) translate3d(var(--replay-b-x,0),var(--replay-b-y,0),var(--replay-b-z,-120px)) rotateY(var(--replay-b-ry,-7deg)) rotateZ(var(--replay-b-rz,4deg)) scale(var(--replay-b-s,.88))}
.replay-wipe{display:none!important}
.replay-canvas figcaption{left:3%;right:3%;bottom:0}

/* DIRECTION: lens-focus reveal, no frame */
.direction-photo{height:88vh;perspective:1200px}
.aperture-window{inset:-2% -4% 0 0!important;clip-path:none!important;mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 91%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 9%,#000 91%,transparent 100%);overflow:visible!important}
.aperture-window::before{content:"";position:absolute;inset:0;z-index:3;background:radial-gradient(circle at var(--dir-light-x,58%) var(--dir-light-y,40%),rgba(255,255,255,.18),rgba(255,255,255,.05) 12%,transparent 34%);mix-blend-mode:screen;pointer-events:none}
.aperture-window::after{content:"";position:absolute;left:4%;right:0;bottom:4%;height:18%;background:radial-gradient(closest-side,rgba(0,0,0,.48),transparent 72%);filter:blur(16px);transform:none!important;pointer-events:none}
.aperture-window img{width:100%;height:100%;object-fit:contain;object-position:center bottom;transform:translate3d(var(--dir-x,0),var(--dir-y,0),0) scale(var(--dir-scale,1.05)) rotateY(var(--dir-yaw,0deg));filter:grayscale(1) contrast(1.06) brightness(var(--dir-bright,.9)) blur(var(--dir-blur,5px));will-change:transform,filter;filter-origin:center}
.aperture-label{right:1%;bottom:7%}
.direction-type{transform:translateX(var(--direction-type-x,0)) scale(var(--direction-type-s,1));transform-origin:center}

/* Brand marks inside the ecosystem */
.eco-brand-mark{position:absolute;right:clamp(26px,5vw,80px);top:50%;transform:translateY(-50%) scale(var(--brand-scale,1)) rotate(var(--brand-rot,0deg));opacity:.08;max-height:64%;max-width:38%;object-fit:contain;pointer-events:none;filter:grayscale(1) brightness(1.4);will-change:transform,opacity}
.replay-mark{opacity:.075}.solofm-mark{opacity:.08;max-width:28%}.dandara-mark{opacity:.08;max-width:28%}
.eco-copy{position:relative;z-index:4}.eco-image,.eco-symbol,.dandara-lines{position:relative;z-index:3}

/* Social grid: compact and clear */
.social-grid{max-width:850px;margin-left:auto;margin-right:auto}
.social-grid a{min-width:116px;justify-content:center}
.social-grid .email-link{min-width:210px}
.social-grid a:hover svg{transform:scale(1.08)}
.social-grid svg{transition:transform .22s ease}

/* Mobile and iPad: keep scroll effects alive, reduce travel rather than disabling them */
@media(max-width:1100px){
  .hero-orbit-a{width:118px;left:-2%;bottom:9%}.hero-orbit-b{width:82px;right:0;top:12%}
  .catalogue-reel{min-height:620px}.catalogue-img{width:82%;left:9%;height:86%}
  .replay-image{width:76%;height:84%}.eco-brand-mark{max-width:34%;opacity:.065}
  .direction-photo{height:78vh}
}
@media(max-width:760px){
  .hero-cinema{height:62vh}.hero-orbit-a{width:88px;left:0;bottom:7%}.hero-orbit-b{width:64px;right:1%;top:15%}
  .hero-orbit-card span{font-size:6px;bottom:-16px}.hero-cinema figcaption{bottom:-4px}
  .youtube-portal{padding:14px 13px!important;gap:12px!important;border-radius:16px}.youtube-portal .youtube-mark{width:44px;height:44px}.youtube-portal .youtube-mark::before,.youtube-portal .youtube-mark::after{display:none}.youtube-portal .portal-copy small{font-size:6px}.youtube-portal .portal-copy strong{font-size:11px}.youtube-portal>i{font-size:18px}
  .catalogue-reel{height:62vh;min-height:0}.catalogue-stage{inset:2% 0 7% 0}.catalogue-img{left:7%;width:86%;height:84%;border-radius:20px}.catalogue-stage::before{left:6%;right:4%;border-radius:22px}
  .replay-canvas{height:58vh}.replay-stage{inset:0 0 9% 0}.replay-image{width:78%;height:82%;border-radius:20px}.replay-image-a{left:1%}.replay-image-b{right:0}.replay-stage::before{inset:5% 3% 8% 6%;border-radius:24px}.replay-stage::after{width:72px;height:72px}
  .direction-photo{height:70vh}.aperture-window{inset:-1% -8% 0 -8%!important}.aperture-label{font-size:6px}
  .eco-brand-mark{right:16px;top:18%;transform:scale(.86);max-height:30%;max-width:34%;opacity:.055}.eco-solo .eco-brand-mark,.eco-dandara .eco-brand-mark{top:22%}
  .social-grid{display:grid;grid-template-columns:1fr 1fr;width:100%;max-width:430px}.social-grid a,.social-grid .email-link{min-width:0;width:100%}.social-grid .email-link{grid-column:1/-1}
  .timeline-track article{opacity:0!important;transform:translateY(36px) scale(.97)!important;transition:opacity .65s ease,transform .75s cubic-bezier(.2,.8,.2,1)!important}.timeline-track article.mobile-visible{opacity:1!important;transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  .hero-orbit-card,.catalogue-img,.replay-image,.aperture-window img,.eco-brand-mark{transform:none!important;filter:none!important;opacity:1!important}
  .youtube-portal .youtube-mark::before,.youtube-portal .youtube-mark::after{animation:none!important}
}

/* === V11 refinement overrides === */
.hero-roles{display:flex;flex-wrap:wrap;gap:10px 12px;max-width:720px}
.hero-roles i{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.28);align-self:center}
.hero-roles span{font:600 11px/1 var(--display);letter-spacing:.13em;text-transform:uppercase;color:#c9ced2}
.hero-photo-stage{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;overflow:visible!important;isolation:isolate}
.hero-photo-stage::before{content:"";position:absolute;inset:-6% -8% 0 -8%;border-radius:44px;background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.01) 38%,transparent 72%),radial-gradient(circle at 50% 28%,rgba(255,255,255,.12),transparent 42%),radial-gradient(circle at 50% 84%,rgba(0,0,0,.6),transparent 58%);filter:blur(2px);opacity:.92;transform:translate3d(var(--hero-halo-x,0),var(--hero-halo-y,0),0)}
.hero-photo-stage::after{content:"";position:absolute;inset:4% 5% 8%;border:1px solid rgba(255,255,255,.08);border-radius:32px;mask:linear-gradient(180deg,#000 0 72%,transparent 100%);pointer-events:none}
.hero-photo-stage img{width:100%;height:100%;object-fit:contain;object-position:center bottom;mask-image:linear-gradient(to bottom,transparent 0,#000 11%,#000 92%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 11%,#000 92%,transparent 100%);filter:grayscale(1) contrast(1.06) brightness(.99) drop-shadow(0 32px 74px rgba(0,0,0,.5));transform:translate3d(var(--hero-img-x,0),var(--hero-img-y,0),0) scale(var(--hero-scale,1.02));z-index:2}
.hero-cinema figcaption{left:0;right:0;bottom:-8px;display:flex;justify-content:space-between;gap:16px;background:none;padding:0;border:0;font:600 8px/1 var(--display);letter-spacing:.18em;color:#8e9498}
.hero-orbit-card{display:none!important}
.manifest-tags{position:absolute;inset:0;pointer-events:none}
.manifest-tags .mt{position:absolute;font:600 9px/1 var(--display);letter-spacing:.18em;color:#aeb3b7;background:rgba(18,20,22,.7);padding:10px 12px;border:1px solid rgba(255,255,255,.08);border-radius:999px;opacity:var(--manifest-tag-o,0);transform:translateY(var(--manifest-tag-shift,26px));backdrop-filter:blur(10px);box-shadow:0 16px 44px rgba(0,0,0,.25)}
.manifest-tags .mt-1{left:10%;top:22%}.manifest-tags .mt-2{right:12%;top:20%}.manifest-tags .mt-3{left:4%;top:50%}.manifest-tags .mt-4{right:6%;top:50%}.manifest-tags .mt-5{left:16%;bottom:18%}.manifest-tags .mt-6{right:16%;bottom:16%}
.line-link.cta-link{display:inline-flex;align-items:center;gap:10px;margin-top:34px;padding:15px 22px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));font:600 12px/1 var(--display);letter-spacing:.16em;color:#f2f3f4;box-shadow:0 18px 42px rgba(0,0,0,.24);transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease}
.line-link.cta-link:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.3);background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.05));box-shadow:0 24px 56px rgba(0,0,0,.32)}
.portal-button.youtube-portal{width:min(720px,100%);padding:24px 0;border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.portal-button .youtube-mark{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.portal-button .youtube-mark svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7}
.portal-button .portal-copy small{display:block;margin-bottom:8px;font:600 9px/1 var(--display);letter-spacing:.18em;color:#8c9296}
.portal-button .portal-copy strong{font:600 18px/1.08 var(--display);letter-spacing:.01em}
.portal-button i{font-size:28px}
.catalogue-stage{inset:0 2% 6% 2%!important;overflow:hidden!important;clip-path:none!important;border-radius:34px!important;background:linear-gradient(180deg,#16191b,#0f1112)!important;box-shadow:0 42px 120px rgba(0,0,0,.34)!important;transform:translate3d(0,var(--cat-stage-y,0),0) scale(var(--cat-stage-scale,1));}
.catalogue-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 25%,transparent 70%,rgba(255,255,255,.03));z-index:3;pointer-events:none}
.catalogue-stage::after{content:"";position:absolute;inset:auto 8% 3% 8%;height:12%;background:radial-gradient(closest-side,rgba(0,0,0,.52),transparent 70%);filter:blur(14px);z-index:0}
.catalogue-img{position:absolute;inset:7% 7% 10%!important;width:auto!important;height:auto!important;border-radius:26px;object-fit:contain;object-position:center bottom;filter:grayscale(1) contrast(1.05) brightness(.95);box-shadow:0 28px 70px rgba(0,0,0,.28)}
.catalogue-img-a{opacity:var(--cat-a-o,1)!important;transform:translate3d(0,var(--cat-a-y,0),0) scale(var(--cat-a-scale,1))!important;z-index:2}
.catalogue-img-b{opacity:var(--cat-b-o,.3)!important;transform:translate3d(0,var(--cat-b-y,26px),0) scale(var(--cat-b-scale,.96))!important;z-index:1}
.replay-stage{inset:0 0 8% 0!important;overflow:visible!important;clip-path:none!important;border-radius:0!important;background:none!important;box-shadow:none!important;transform:translate3d(0,var(--replay-stage-y,0),0)}
.replay-stage::before{content:"";position:absolute;inset:5% 3% 7% 5%;border-radius:34px;background:linear-gradient(180deg,#171a1d,#0f1112);box-shadow:0 38px 110px rgba(0,0,0,.34);z-index:-2}
.replay-stage::after{content:"";position:absolute;inset:auto 10% 5% 10%;height:12%;background:radial-gradient(closest-side,rgba(0,0,0,.5),transparent 72%);filter:blur(16px);z-index:-1}
.replay-image{object-fit:contain;object-position:center bottom;filter:grayscale(1) contrast(1.05) brightness(.95);box-shadow:0 24px 62px rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.07)}
.replay-image-a{left:4%!important;right:12%!important;top:5%!important;bottom:11%!important;width:auto!important;height:auto!important;border-radius:28px!important;opacity:var(--replay-a-o,1)!important;transform:translate3d(0,var(--replay-a-y,0),0) scale(var(--replay-a-s,1))!important}
.replay-image-b{left:auto!important;right:2%!important;top:auto!important;bottom:2%!important;width:38%!important;height:46%!important;border-radius:24px!important;opacity:var(--replay-b-o,.24)!important;transform:translate3d(var(--replay-b-x,24px),var(--replay-b-y,18px),0) scale(var(--replay-b-s,.92))!important;clip-path:none!important}
.aperture-window{inset:2% 0 4% 0!important;clip-path:none!important;border-radius:34px!important;border:0!important;background:linear-gradient(180deg,#16191b,#0f1112)!important;box-shadow:0 38px 110px rgba(0,0,0,.34)!important;overflow:hidden!important;mask:none!important;-webkit-mask:none!important}
.aperture-window::before{content:"";position:absolute;inset:0;z-index:3;background:radial-gradient(circle at var(--dir-light-x,56%) var(--dir-light-y,38%),rgba(255,255,255,.16),rgba(255,255,255,.04) 12%,transparent 32%),linear-gradient(180deg,rgba(255,255,255,var(--dir-overlay-o,.2)),transparent 25%,transparent 78%,rgba(0,0,0,.24));pointer-events:none}
.aperture-window::after{content:"";position:absolute;inset:auto 8% 4% 8%;height:12%;background:radial-gradient(closest-side,rgba(0,0,0,.48),transparent 72%);filter:blur(16px);pointer-events:none}
.aperture-window img{width:100%;height:100%;object-fit:contain;object-position:center bottom;transform:translate3d(0,var(--dir-y,0),0) scale(var(--dir-scale,1.03))!important;filter:grayscale(1) contrast(1.06) brightness(.95)!important}
@media (max-width: 760px){
  .hero-roles span{font-size:9px}
  .hero-photo-stage::before{inset:-4% -6% 0 -6%}
  .hero-cinema figcaption{font-size:6px;gap:10px}
  .manifest-tags .mt{font-size:7px;padding:8px 10px}
  .portal-button .portal-copy strong{font-size:15px}
  .portal-button .youtube-mark{width:46px;height:46px}
  .catalogue-stage{border-radius:24px!important}
  .catalogue-img{inset:8% 5% 11%!important;border-radius:18px}
  .replay-stage::before{border-radius:22px}
  .replay-image-a{border-radius:20px!important}
  .replay-image-b{width:42%!important;height:34%!important;border-radius:18px!important}
  .aperture-window{border-radius:24px!important}
}

/* === V12 image animation refinements === */
.hero-cinema figcaption{left:0;right:0;bottom:-6px;justify-content:flex-start}
.hero-cinema figcaption span{display:none!important}
.hero-cinema figcaption b{font:600 10px/1 var(--display);letter-spacing:.16em;color:#8f9599}
.catalogue-reel-meta,.aperture-label{display:none!important}
.eco-image figcaption{display:none!important}

/* Catalogue: real flip, no fade */
.catalogue-reel{perspective:2200px}
.catalogue-stage{position:relative;transform-style:preserve-3d;isolation:isolate;transform:translate3d(0,var(--cat-stage-y,0),0) scale(var(--cat-stage-scale,1)) rotateZ(var(--cat-tilt,0deg))!important}
.catalogue-stage::before{content:"";position:absolute;inset:-1px;border-radius:34px;padding:1px;background:conic-gradient(from var(--cat-ring-r,0deg), rgba(255,255,255,.05), rgba(255,255,255,.14), rgba(255,255,255,.04), rgba(255,255,255,.12), rgba(255,255,255,.05));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.8}
.catalogue-stage::after{content:"";position:absolute;inset:0;border-radius:34px;background:radial-gradient(circle at var(--cat-shine-x,40%) 12%, rgba(255,255,255,.14), transparent 18%),linear-gradient(180deg,rgba(255,255,255,.05),transparent 26%,transparent 70%,rgba(255,255,255,.03));pointer-events:none;mix-blend-mode:screen;z-index:3}
.catalogue-img{inset:7% 7% 10%!important;width:auto!important;height:auto!important;object-fit:contain;object-position:center bottom;border-radius:26px;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d;opacity:1!important;box-shadow:0 28px 70px rgba(0,0,0,.28);filter:grayscale(1) contrast(1.05) brightness(.95)}
.catalogue-img-a{z-index:2;transform:translate3d(0,var(--cat-lift,0),0) rotateY(var(--cat-rot,0deg))!important}
.catalogue-img-b{z-index:1;transform:translate3d(0,var(--cat-lift,0),-1px) rotateY(calc(var(--cat-rot,0deg) + 180deg))!important}
.catalogue-focus{position:absolute;inset:auto 12% 5% 12%;height:12%;background:radial-gradient(closest-side,rgba(0,0,0,.52),transparent 72%);filter:blur(16px);z-index:0}

/* Replay: main frame + floating inset card */
.replay-stage{transform:translate3d(0,var(--replay-stage-y,0),0)!important}
.replay-stage::before{background:linear-gradient(180deg,#171a1d,#0f1112)!important}
.replay-stage::after{content:"";position:absolute;left:6%;right:6%;top:9%;bottom:9%;border-radius:34px;border:1px solid rgba(255,255,255,.06);pointer-events:none;opacity:var(--replay-arc-o,.35)}
.replay-wipe{display:none!important}
.replay-image-a{left:6%!important;right:13%!important;top:6%!important;bottom:10%!important;width:auto!important;height:auto!important;border-radius:28px!important;transform:translate3d(var(--replay-main-x,0),var(--replay-main-y,0),0) scale(var(--replay-main-s,1))!important;opacity:1!important}
.replay-image-b{right:2%!important;bottom:4%!important;top:auto!important;left:auto!important;width:36%!important;height:44%!important;border-radius:24px!important;transform:translate3d(var(--replay-inset-x,18px),var(--replay-inset-y,24px),0) rotate(var(--replay-inset-r,-7deg)) scale(var(--replay-inset-s,.92))!important;opacity:1!important;clip-path:none!important}

/* Direction: only a soft light sweep */
.aperture-window{position:relative;overflow:hidden!important}
.aperture-window::before{content:"";position:absolute;inset:-8% auto -8% -24%;width:42%;background:linear-gradient(90deg,transparent 0, rgba(255,255,255,0) 14%, rgba(255,255,255,.19) 48%, rgba(255,255,255,0) 82%, transparent 100%);transform:skewX(-18deg) translateX(var(--dir-glint-x,-30%));filter:blur(10px);mix-blend-mode:screen;pointer-events:none;z-index:3}
.aperture-window::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 30%,transparent 70%,rgba(0,0,0,.18));pointer-events:none;z-index:2}
.aperture-window img{transform:translate3d(0,var(--dir-y,0),0) scale(var(--dir-scale,1.02))!important}
.aperture-ring{opacity:.5}

/* Portrait break: a calmer full image parallax */
.portrait-slices::before{transition:transform .12s linear}
.portrait-slices figcaption{opacity:.72}

@media (max-width:760px){
  .hero-cinema figcaption b{font-size:8px}
  .catalogue-stage::before,.catalogue-stage::after{border-radius:24px}
  .catalogue-img{inset:8% 5% 11%!important;border-radius:18px}
  .replay-image-a{left:4%!important;right:10%!important;border-radius:20px!important}
  .replay-image-b{width:40%!important;height:34%!important;border-radius:18px!important}
}

/* === V13 photo integration refinements === */
.portrait-slices::before{background-image:url("assets/img/p02.jpg")!important}

/* Hero keeps a single signature portrait with a cleaner stage */
.hero-cinema .hero-photo-stage{overflow:hidden;border-radius:34px;background:linear-gradient(180deg,#141719,#0f1112);box-shadow:0 42px 120px rgba(0,0,0,.34)}
.hero-cinema .hero-photo-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 26%,transparent 74%,rgba(255,255,255,.03));pointer-events:none;z-index:2}
.hero-cinema .hero-photo-stage::after{content:"";position:absolute;inset:auto 10% 4% 10%;height:10%;background:radial-gradient(closest-side,rgba(0,0,0,.48),transparent 74%);filter:blur(14px);pointer-events:none;z-index:0}
.hero-cinema img{object-fit:cover;object-position:center top!important}

/* Catalogue: one image, elegant frame motion */
.catalogue-stage.single-stage{position:relative;overflow:hidden!important;border-radius:34px!important;background:linear-gradient(180deg,#171a1d,#101214)!important;box-shadow:0 40px 110px rgba(0,0,0,.34)!important}
.catalogue-stage.single-stage::before{content:"";position:absolute;inset:0;border-radius:34px;padding:1px;background:conic-gradient(from var(--cat-ring-r,0deg), rgba(255,255,255,.05), rgba(255,255,255,.14), rgba(255,255,255,.05), rgba(255,255,255,.12), rgba(255,255,255,.05));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.9;z-index:5}
.catalogue-stage.single-stage::after{content:"";position:absolute;inset:0;border-radius:34px;background:radial-gradient(circle at var(--cat-shine-x,36%) 14%, rgba(255,255,255,.16), transparent 18%),linear-gradient(180deg,rgba(255,255,255,.04),transparent 28%,transparent 72%,rgba(255,255,255,.03));mix-blend-mode:screen;pointer-events:none;z-index:4}
.catalogue-stage.single-stage .catalogue-img-b{display:none!important}
.catalogue-stage.single-stage .catalogue-img{inset:7% 7% 10%!important;width:auto!important;height:auto!important;border-radius:28px;object-fit:cover;object-position:center top;transform:translate3d(0,var(--cat-img-y,0),0) scale(var(--cat-img-scale,1.02))!important;box-shadow:0 28px 80px rgba(0,0,0,.32)}
.catalogue-stage.single-stage .catalogue-focus{position:absolute;left:10%;right:10%;bottom:2%;height:12%;background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent 72%);filter:blur(16px)}

/* Replay: no overlapping images */
.replay-single-stage{position:relative;overflow:hidden!important;border-radius:34px!important;background:linear-gradient(180deg,#171a1d,#0f1112)!important;box-shadow:0 40px 110px rgba(0,0,0,.34)!important}
.replay-single-stage::before{content:"";position:absolute;inset:0;border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 24%,transparent 72%,rgba(255,255,255,.025));pointer-events:none;z-index:3}
.replay-single-stage::after{content:"";position:absolute;inset:8% 7% 10% 7%;border-radius:28px;border:1px solid rgba(255,255,255,.06);opacity:var(--replay-arc-o,.35);pointer-events:none;z-index:1}
.replay-single-stage .replay-image-b,.replay-single-stage .replay-wipe{display:none!important}
.replay-single-stage .replay-image-a{left:7%!important;right:7%!important;top:7%!important;bottom:10%!important;width:auto!important;height:auto!important;object-fit:cover;object-position:center top;border-radius:28px!important;transform:translate3d(0,var(--replay-img-y,0),0) rotate(var(--replay-img-r,0deg)) scale(var(--replay-img-s,1.02))!important;box-shadow:0 28px 80px rgba(0,0,0,.32)}
.replay-glowline{position:absolute;left:var(--replay-line-x,-15%);top:8%;bottom:8%;width:120px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.11),transparent);filter:blur(18px);transform:skewX(-18deg);pointer-events:none;z-index:4}

/* Direction image just receives a sweep */
.aperture-window img{object-fit:cover;object-position:center top}

/* Photo atlas section */
.photo-atlas{min-height:230vh;background:linear-gradient(180deg,#121416,#0f1112)}
.atlas-sticky{position:sticky;top:0;min-height:100svh;padding:120px var(--pad) 80px;display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:44px;align-items:center}
.atlas-copy h2{font:500 clamp(34px,4.8vw,82px)/.92 var(--display);letter-spacing:-.05em;margin:0 0 14px}
.atlas-copy p{max-width:34ch}
.atlas-stage{position:relative;height:72vh;min-height:620px;transform:translateY(var(--atlas-y,0));isolation:isolate}
.atlas-stage::before{content:"";position:absolute;inset:6% 6% 5%;border-radius:34px;background:radial-gradient(circle at 50% 15%,rgba(255,255,255,.05),transparent 34%),linear-gradient(180deg,#16191b,#101214);box-shadow:0 38px 120px rgba(0,0,0,.32);opacity:calc(.76 - .22*var(--atlas-open,0));transition:opacity .18s linear}
.atlas-stage::after{content:"";position:absolute;inset:auto 14% 0 14%;height:16%;background:radial-gradient(closest-side,rgba(0,0,0,.5),transparent 72%);filter:blur(22px);opacity:calc(.5 + var(--atlas-glow,.2));pointer-events:none}
.atlas-card{position:absolute;left:50%;top:50%;margin:0;width:clamp(150px,18vw,240px);aspect-ratio:3/4;border-radius:26px;overflow:hidden;background:#101214;box-shadow:0 26px 72px rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.06);transform:translate(calc(-50% + var(--tx,0px)*var(--atlas-open,0)),calc(-50% + var(--ty,0px)*var(--atlas-open,0))) rotate(calc(var(--rot,0deg)*var(--atlas-open,0))) scale(calc(var(--base,.72) + (var(--end,1) - var(--base,.72))*var(--atlas-open,0)));opacity:calc(var(--alpha-start,0) + (1 - var(--alpha-start,0))*var(--atlas-open,0));will-change:transform,opacity}
.atlas-card img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:grayscale(1) contrast(1.05) brightness(.95)}
.atlas-card.ac-1{--base:1;--end:1;--alpha-start:1;--tx:-260px;--ty:-140px;--rot:-5deg;width:clamp(200px,22vw,300px)}
.atlas-card.ac-2{--tx:0px;--ty:-150px;--rot:-1deg}
.atlas-card.ac-3{--tx:260px;--ty:-140px;--rot:5deg}
.atlas-card.ac-4{--tx:-260px;--ty:150px;--rot:4deg}
.atlas-card.ac-5{--tx:0px;--ty:160px;--rot:0deg}
.atlas-card.ac-6{--tx:260px;--ty:150px;--rot:-4deg}

@media (max-width: 980px){
  .atlas-sticky{grid-template-columns:1fr;gap:28px;padding-top:100px}
  .atlas-copy{max-width:720px}
}
@media (max-width: 760px){
  .hero-cinema .hero-photo-stage,.catalogue-stage.single-stage,.replay-single-stage{border-radius:22px!important}
  .catalogue-stage.single-stage .catalogue-img,.replay-single-stage .replay-image-a{border-radius:18px!important}
  .photo-atlas{min-height:260vh}
  .atlas-stage{height:84vh;min-height:720px}
  .atlas-card{width:42vw;max-width:200px;border-radius:18px}
  .atlas-card.ac-1{width:46vw;max-width:220px;--tx:-22vw;--ty:-24vh}
  .atlas-card.ac-2{--tx:22vw;--ty:-24vh}
  .atlas-card.ac-3{--tx:0vw;--ty:-1vh}
  .atlas-card.ac-4{--tx:-22vw;--ty:23vh}
  .atlas-card.ac-5{--tx:22vw;--ty:23vh}
  .atlas-card.ac-6{--tx:0vw;--ty:46vh}
}

/* === V14 distributed photography system === */
.process-thumbs{display:grid;grid-template-columns:1.2fr .86fr;gap:14px;margin:18px 0 34px;max-width:560px}
.process-thumb{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(180deg,#171a1c,#101214);border:1px solid rgba(255,255,255,.07);box-shadow:0 18px 40px rgba(0,0,0,.22)}
.process-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 28%,transparent 72%,rgba(255,255,255,.03));pointer-events:none}
.process-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(1) contrast(1.03) brightness(.92);transform:scale(1.025);transition:transform .6s ease}
.process-thumb.pt-wide{min-height:180px}
.process-thumb:not(.pt-wide){min-height:180px}
.catalogue:hover .process-thumb img,.process-thumb:hover img{transform:scale(1.05)}

.eco-inline-stills{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin:6px 0 10px}
.eco-still,.eco-feature-chip,.direction-mini{position:relative;overflow:hidden;background:linear-gradient(180deg,#171a1c,#101214);border:1px solid rgba(255,255,255,.07);box-shadow:0 18px 44px rgba(0,0,0,.24)}
.eco-still{border-radius:22px}
.eco-still.es-1{width:180px;height:220px;transform:translateY(6px)}
.eco-still.es-2{width:134px;height:168px}
.eco-still img,.eco-feature-chip img,.direction-mini img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(1) contrast(1.05) brightness(.93)}
.eco-feature-chip{margin:22px 0 2px;display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;border-radius:20px;padding:10px;background:rgba(255,255,255,.022)}
.eco-feature-chip img{border-radius:14px;min-height:120px}
.eco-feature-chip figcaption{font:500 12px/1.6 var(--display);letter-spacing:.04em;color:#c8cccf}

.direction-minis{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;margin:22px 0 6px}
.direction-mini{border-radius:20px}
.direction-mini.dm-1{width:138px;height:172px;transform:translateY(8px)}
.direction-mini.dm-2{width:156px;height:190px}
.direction-mini::after,.eco-still::after,.eco-feature-chip::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 34%,transparent 72%,rgba(255,255,255,.02));pointer-events:none}

/* mild motion per section without stacking giant images */
.catalogue .process-thumb:nth-child(1){transform:translate3d(0,calc(var(--cat-stage-y,0) * -.18),0) rotate(-1.2deg)}
.catalogue .process-thumb:nth-child(2){transform:translate3d(0,calc(var(--cat-stage-y,0) * .14),0) rotate(1.6deg)}
.eco-replay .eco-inline-stills{transform:translateY(calc(var(--replay-stage-y,0) * -.2))}
.eco-solo .eco-feature-chip{transform:translateY(calc((var(--solo-scale,1) - 1) * 24px)) rotate(-1.2deg)}
.eco-dandara .eco-feature-chip{transform:translateY(calc((var(--dandara-scale,1) - 1) * 24px)) rotate(1.2deg)}
.direction-minis .dm-1{transform:translateY(calc(var(--dir-y,0) * -.12 + 8px)) rotate(-1.8deg)}
.direction-minis .dm-2{transform:translateY(calc(var(--dir-y,0) * .1)) rotate(1.7deg)}

/* remove unused atlas spacing remnants */
.photo-atlas{display:none!important}

@media (max-width: 980px){
  .process-thumbs{max-width:100%;grid-template-columns:1fr 1fr}
  .eco-feature-chip{grid-template-columns:100px 1fr}
}
@media (max-width: 760px){
  .process-thumbs{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:26px}
  .process-thumb,.process-thumb.pt-wide,.process-thumb:not(.pt-wide){min-height:120px;border-radius:16px}
  .eco-inline-stills{gap:10px}
  .eco-still.es-1{width:130px;height:160px}
  .eco-still.es-2{width:104px;height:132px}
  .eco-feature-chip{grid-template-columns:86px 1fr;gap:10px;padding:8px;border-radius:16px}
  .eco-feature-chip img{min-height:92px;border-radius:12px}
  .eco-feature-chip figcaption{font-size:10px}
  .direction-minis{gap:10px}
  .direction-mini.dm-1{width:104px;height:128px}
  .direction-mini.dm-2{width:112px;height:138px}
}

/* === V15 photo redistribution + cleaner image language === */

/* catalogue: single writing image only, simpler scroll card */
#catalogue .catalogue-layout{align-items:center}
#catalogue .catalogue-reel{min-height:640px;perspective:none!important}
#catalogue .catalogue-stage.single-stage{
  inset:0 2% 4% 2%!important;
  border-radius:30px!important;
  background:linear-gradient(180deg,#171a1d,#101214)!important;
  box-shadow:0 36px 100px rgba(0,0,0,.32)!important;
  transform:translate3d(0,var(--cat-stage-y,0),0) scale(var(--cat-stage-scale,1))!important;
}
#catalogue .catalogue-stage.single-stage::before{
  content:"";position:absolute;inset:0;border-radius:30px;
  background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 24%,transparent 72%,rgba(255,255,255,.03));
  z-index:3;pointer-events:none;-webkit-mask:none!important;mask:none!important;padding:0!important;
}
#catalogue .catalogue-stage.single-stage::after{
  content:"";position:absolute;left:-18%;top:0;bottom:0;width:38%;
  background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.16) 48%,transparent 100%);
  transform:skewX(-16deg) translateX(var(--cat-shine-sweep,-45%));filter:blur(10px);
  opacity:.55;mix-blend-mode:screen;pointer-events:none;z-index:4;
}
#catalogue .catalogue-stage.single-stage .catalogue-img{
  inset:7% 7% 9%!important;width:auto!important;height:auto!important;
  border-radius:24px!important;object-fit:cover!important;object-position:center top!important;
  transform:translate3d(0,var(--cat-img-y,0),0) scale(var(--cat-img-scale,1.015))!important;
  box-shadow:0 22px 70px rgba(0,0,0,.26)!important;
}
#catalogue .catalogue-focus{display:none!important}
#catalogue .catalogue-copy .dialects{margin-bottom:30px}
#catalogue .process-thumbs{display:none!important}

/* ecosystem heading with one subtle image */
.ecosystem-head{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:34px;align-items:end}
.ecosystem-head-visual{justify-self:end;align-self:end;width:min(100%,280px);position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(180deg,#171a1d,#101214);border:1px solid rgba(255,255,255,.08);box-shadow:0 22px 68px rgba(0,0,0,.26)}
.ecosystem-head-visual img{display:block;width:100%;height:100%;min-height:320px;object-fit:cover;object-position:center top;filter:grayscale(1) contrast(1.04) brightness(.94);transform:translateY(var(--eco-head-y,0)) scale(1.03)}
.ecosystem-head-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 28%,transparent 72%,rgba(255,255,255,.02));pointer-events:none}
.ecosystem-head-visual figcaption{position:absolute;left:16px;right:16px;bottom:14px;font:600 8px/1 var(--display);letter-spacing:.16em;color:#cfd2d3}

/* replay: one main image only, cleaner stage */
.eco-replay .eco-image{max-width:720px;height:76vh}
.eco-replay .replay-single-stage{border-radius:30px!important;background:linear-gradient(180deg,#171a1d,#0f1112)!important;box-shadow:0 38px 110px rgba(0,0,0,.34)!important;overflow:hidden!important}
.eco-replay .replay-single-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 25%,transparent 72%,rgba(255,255,255,.025));z-index:3;pointer-events:none}
.eco-replay .replay-single-stage::after{content:"";position:absolute;inset:auto 8% 4% 8%;height:12%;background:radial-gradient(closest-side,rgba(0,0,0,.5),transparent 72%);filter:blur(16px);z-index:1;pointer-events:none}
.eco-replay .replay-image-a{left:6%!important;right:6%!important;top:6%!important;bottom:9%!important;width:auto!important;height:auto!important;object-fit:cover!important;object-position:center top!important;border-radius:24px!important;transform:translate3d(0,var(--replay-img-y,0),0) scale(var(--replay-img-s,1.015))!important;box-shadow:0 22px 70px rgba(0,0,0,.28)!important}
.eco-inline-stills{display:none!important}

/* smaller supporting image cards for Solo and DanDara */
.eco-feature-chip{margin-top:18px;border-radius:18px;grid-template-columns:96px 1fr;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);box-shadow:0 18px 48px rgba(0,0,0,.22)}
.eco-feature-chip img{min-height:96px;border-radius:12px;object-fit:cover;object-position:center top}
.eco-feature-chip figcaption{font-size:11px;color:#c5c9cc}

/* direction: main image only + subtle light sweep */
.direction .aperture-window{inset:3% 0 4% 0!important;border-radius:30px!important;background:linear-gradient(180deg,#171a1d,#101214)!important;box-shadow:0 38px 110px rgba(0,0,0,.34)!important;border:0!important}
.direction .aperture-window::before{content:"";position:absolute;inset:-8% auto -8% -24%;width:40%;background:linear-gradient(90deg,transparent 0, rgba(255,255,255,0) 14%, rgba(255,255,255,.16) 48%, rgba(255,255,255,0) 82%, transparent 100%);transform:skewX(-18deg) translateX(var(--dir-glint-x,-30%));filter:blur(10px);mix-blend-mode:screen;pointer-events:none;z-index:3}
.direction .aperture-window::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 32%,transparent 72%,rgba(0,0,0,.18));pointer-events:none;z-index:2}
.direction .aperture-window img{object-fit:cover!important;object-position:center top!important;transform:translate3d(0,var(--dir-y,0),0) scale(var(--dir-scale,1.015))!important;filter:grayscale(1) contrast(1.05) brightness(.95)!important}
.direction-minis{display:none!important}

/* mobile / tablet */
@media (max-width: 980px){
  .ecosystem-head{grid-template-columns:1fr;gap:18px}
  .ecosystem-head-visual{justify-self:start;width:min(62vw,260px)}
  .eco-replay .eco-image{height:56vh;max-width:none;width:100%}
}
@media (max-width: 760px){
  #catalogue .catalogue-reel{min-height:0;height:52vh}
  #catalogue .catalogue-stage.single-stage{border-radius:22px!important}
  #catalogue .catalogue-stage.single-stage .catalogue-img{border-radius:16px!important;inset:7% 5% 10%!important}
  .ecosystem-head-visual{width:min(78vw,240px);border-radius:18px}
  .ecosystem-head-visual img{min-height:220px}
  .eco-replay .replay-single-stage{border-radius:22px!important}
  .eco-replay .replay-image-a{border-radius:16px!important}
  .direction .aperture-window{border-radius:22px!important}
}
@keyframes slowShine{0%{transform:skewX(-16deg) translateX(-120%)}100%{transform:skewX(-16deg) translateX(360%)}}
#catalogue .catalogue-stage.single-stage::after{animation:slowShine 7.5s ease-in-out infinite alternate}
@keyframes gentleFloat{0%,100%{transform:translateY(0) scale(1.03)}50%{transform:translateY(-8px) scale(1.03)}}
.ecosystem-head-visual img{animation:gentleFloat 8s ease-in-out infinite}

/* =========================================================
   V16 — photography-first final override
   ========================================================= */

/* HERO: no mask/fade, modern broken-line frame */
.hero-cinema{overflow:visible!important}
.hero-cinema .hero-photo-stage{position:relative;overflow:visible!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:18px 18px 24px!important;isolation:isolate}
.hero-cinema .hero-photo-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 30%,transparent 76%,rgba(255,255,255,.018));border-radius:26px;z-index:0;pointer-events:none}
.hero-cinema .hero-photo-stage::after{content:"";position:absolute;left:8%;right:8%;bottom:1%;height:10%;background:radial-gradient(closest-side,rgba(0,0,0,.48),transparent 72%);filter:blur(16px);z-index:0;pointer-events:none}
.hero-cinema .hero-photo-stage>img{position:relative;z-index:2;width:100%;height:100%;object-fit:cover!important;object-position:center top!important;border-radius:22px!important;mask-image:none!important;-webkit-mask-image:none!important;filter:grayscale(1) contrast(1.055) brightness(.98) drop-shadow(0 28px 74px rgba(0,0,0,.38))!important;transform:translate3d(var(--hero-img-x,0),var(--hero-img-y,0),0) scale(var(--hero-scale,1.015))!important}
.hero-line-frame{position:absolute;z-index:4;pointer-events:none;border-color:rgba(255,255,255,.34);will-change:transform}
.hlf-a{left:-2px;top:-2px;width:42%;height:31%;border-left:1px solid;border-top:1px solid;transform:translate3d(calc(var(--hero-img-x,0) * -.22),calc(var(--hero-img-y,0) * -.18),0)}
.hlf-a::after{content:"";position:absolute;left:22px;top:-8px;width:46%;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.65),transparent)}
.hlf-b{right:-2px;bottom:6px;width:46%;height:34%;border-right:1px solid;border-bottom:1px solid;transform:translate3d(calc(var(--hero-img-x,0) * .18),calc(var(--hero-img-y,0) * .16),0)}
.hlf-b::before{content:"";position:absolute;right:20px;bottom:-8px;width:52%;height:1px;background:linear-gradient(270deg,rgba(255,255,255,.55),transparent)}
.hero-corner{position:absolute;z-index:4;width:20px;height:20px;pointer-events:none}
.hero-corner::before,.hero-corner::after{content:"";position:absolute;background:rgba(255,255,255,.62)}
.hero-corner::before{width:20px;height:1px;top:9px;left:0}.hero-corner::after{width:1px;height:20px;top:0;left:9px}
.hc-1{right:4%;top:7%;transform:rotate(45deg)}.hc-2{left:3%;bottom:9%;transform:rotate(45deg)}
.hero-cinema figcaption{display:none!important}

/* GENERIC moving image language — no fading, only slide + clip */
.motion-photo{--photo-x:0px;--photo-y:0px;--photo-clip:0%;--photo-rot:0deg;--photo-scale:1;transform:translate3d(var(--photo-x),var(--photo-y),0) rotate(var(--photo-rot)) scale(var(--photo-scale));clip-path:inset(0 var(--photo-clip) 0 var(--photo-clip) round 22px);will-change:transform,clip-path;transition:clip-path .08s linear}
.motion-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;filter:grayscale(1) contrast(1.045) brightness(.95)}

/* ONE PERSON: a portrait passes through the orbit instead of sitting on top of it */
.manifest-sticky{overflow:hidden}
.manifest-photo{position:absolute;right:clamp(18px,6vw,100px);bottom:10%;width:clamp(150px,17vw,250px);aspect-ratio:3/4;border:1px solid rgba(255,255,255,.07);border-radius:22px;background:#101214;box-shadow:0 26px 70px rgba(0,0,0,.28);z-index:1}
.manifest-core,.manifest-copy,.manifest-sticky>.overline{position:relative;z-index:2}

/* Kinetic bridge: one studio image travels across the empty typography field */
.bridge-sticky{overflow:hidden}
.bridge-photo{position:absolute;left:7vw;bottom:8%;width:clamp(150px,16vw,235px);aspect-ratio:3/4;border-radius:22px;border:1px solid rgba(255,255,255,.07);box-shadow:0 24px 68px rgba(0,0,0,.3);z-index:2}
.bridge-photo::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 35%,transparent 74%,rgba(0,0,0,.14));pointer-events:none}

/* BUILT BEYOND THE SONG: rebuilt, balanced, no broken grid */
.ecosystem{background:#101214!important;padding-bottom:14vh!important}
.ecosystem-head{display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(220px,.44fr)!important;gap:clamp(34px,6vw,90px)!important;align-items:end!important;padding-top:120px!important;padding-bottom:100px!important;background:linear-gradient(180deg,#111315,#15181a)!important;position:relative;z-index:6}
.ecosystem-head-copy{max-width:1060px}
.ecosystem-head .section-label{margin-bottom:54px}
.ecosystem-head h2{margin:0!important;max-width:1050px!important;font-size:clamp(48px,6.5vw,112px)!important;line-height:.91!important}
.ecosystem-head .ecosystem-intro{margin:28px 0 0;max-width:720px;font-size:15px;line-height:1.8;color:#92989c}
.ecosystem-head-visual{position:relative!important;width:100%!important;max-width:310px!important;aspect-ratio:3/4!important;min-height:0!important;justify-self:end!important;align-self:end!important;border-radius:22px!important;overflow:hidden!important;background:#101214!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 26px 76px rgba(0,0,0,.3)!important;animation:none!important}
.ecosystem-head-visual img{min-height:0!important;width:100%;height:100%;object-fit:cover;object-position:center top;animation:none!important;transform:none!important}
.ecosystem-head-visual::before{content:"";position:absolute;left:14px;right:14px;top:14px;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.5),transparent 72%);z-index:2}
.ecosystem-head-visual figcaption{position:absolute;left:16px;bottom:15px;font:600 8px/1 var(--display);letter-spacing:.16em;color:#d4d6d7;z-index:3}

/* Ecosystem panels: one photo each, distinct but consistent */
.eco-panel{grid-template-columns:minmax(0,1fr) minmax(300px,.82fr)!important;gap:clamp(34px,5vw,80px)!important;overflow:hidden!important}
.eco-replay .eco-image,.eco-photo-panel{justify-self:end;width:min(100%,620px);height:min(68vh,720px);position:relative;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:#101214;box-shadow:0 34px 94px rgba(0,0,0,.32)}
.eco-replay .replay-single-stage{position:absolute;inset:0!important;border:0!important;border-radius:28px!important;box-shadow:none!important;background:#101214!important}
.eco-replay .replay-single-stage::before{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 28%,transparent 72%,rgba(0,0,0,.12));pointer-events:none}
.eco-replay .replay-single-stage::after{content:"";position:absolute;left:0;right:0;top:var(--replay-line-x,-10%);height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);box-shadow:0 0 28px rgba(255,255,255,.08);z-index:4}
.eco-replay .replay-image-a{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;border-radius:0!important;object-fit:cover!important;object-position:center top!important;box-shadow:none!important;transform:translate3d(0,var(--replay-img-y,0),0) scale(var(--replay-img-s,1.015))!important}
.replay-glowline{display:none!important}
.eco-photo-panel img{transition:transform .1s linear}
.solo-photo::before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.08);border-radius:22px;z-index:2;pointer-events:none}
.solo-photo::after{content:"SOLOFM";position:absolute;right:18px;top:16px;font:600 8px/1 var(--display);letter-spacing:.18em;color:#d0d3d4;z-index:3}
.dandara-photo::before{content:"";position:absolute;inset:0;z-index:2;background:repeating-linear-gradient(90deg,transparent 0 14%,rgba(255,255,255,.018) 14.2% 14.5%,transparent 14.7% 28%);pointer-events:none}
.dandara-photo::after{content:"DANDARA / AI-NATIVE MUSIC";position:absolute;left:18px;bottom:16px;font:600 8px/1 var(--display);letter-spacing:.17em;color:#d1d4d5;z-index:3}
.eco-feature-chip,.eco-symbol,.dandara-lines{display:none!important}

/* Catalogue stays about writing: one writing photo, subtle sweep only */
#catalogue .catalogue-stage.single-stage{transform:translate3d(0,var(--cat-stage-y,0),0) scale(var(--cat-stage-scale,1))!important;clip-path:none!important}
#catalogue .catalogue-stage.single-stage::before{background:none!important}
#catalogue .catalogue-stage.single-stage::after{animation:none!important;left:-24%!important;width:34%!important;transform:skewX(-16deg) translateX(calc(var(--cat-shine-x,20%) * 3.5))!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent)!important;filter:blur(10px)!important;opacity:.55!important}
#catalogue .catalogue-stage.single-stage .catalogue-img{transform:translate3d(0,var(--cat-img-y,0),0) scale(var(--cat-img-scale,1.015))!important}

/* Direction: main image only, single light glint */
.direction .aperture-window::before{background:linear-gradient(90deg,transparent 0,rgba(255,255,255,0) 15%,rgba(255,255,255,.15) 50%,rgba(255,255,255,0) 84%,transparent 100%)!important;filter:blur(9px)!important}

/* Mobile + iPad keep the same motion language, reduced travel instead of disabling it */
@media (max-width:1100px){
  .ecosystem-head{grid-template-columns:minmax(0,1fr) 240px!important;gap:34px!important}
  .eco-panel{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr)!important}
  .manifest-photo{width:180px;right:24px;bottom:9%}
  .bridge-photo{width:170px;left:28px}
}
@media (max-width:760px){
  .hero-cinema .hero-photo-stage{padding:10px 10px 16px!important}
  .hero-cinema .hero-photo-stage>img{border-radius:17px!important}
  .hlf-a{width:48%;height:27%;left:-2px;top:-2px}.hlf-b{width:50%;height:30%;right:-2px;bottom:1px}
  .hero-corner{width:14px;height:14px}.hero-corner::before{width:14px;top:6px}.hero-corner::after{height:14px;left:6px}
  .manifest-photo{width:118px;right:10px;bottom:8%;border-radius:16px}
  .bridge-photo{width:112px;left:10px;bottom:10%;border-radius:16px}
  .ecosystem-head{display:grid!important;grid-template-columns:1fr!important;gap:30px!important;padding-top:88px!important;padding-bottom:72px!important}
  .ecosystem-head .section-label{margin-bottom:36px}
  .ecosystem-head h2{font-size:13vw!important}
  .ecosystem-head-visual{justify-self:start!important;width:min(58vw,230px)!important;max-width:none!important}
  .ecosystem-head .ecosystem-intro{font-size:14px}
  .eco-panel{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;gap:30px!important;padding:76px var(--pad)!important}
  .eco-replay .eco-image,.eco-photo-panel{width:100%!important;height:48vh!important;max-width:none!important;border-radius:20px!important;align-self:stretch!important}
  .eco-replay .replay-single-stage{border-radius:20px!important}
  .solo-photo::before{inset:10px;border-radius:15px}
  #catalogue .catalogue-stage.single-stage::after{width:44%!important}
}
/* V16 compatibility cleanup */
.hlf-a,.hlf-b{transform:none!important}
#catalogue .catalogue-stage.single-stage::after{transform:skewX(-16deg) translateX(var(--cat-shine-x,20%))!important}

/* ==============================
   V17 — refined distribution
   ============================== */

/* Hero: keep frame, remove X markers */
.hero-corner{display:none!important}
.hero-photo-stage{overflow:hidden;border-radius:36px!important}
.hero-photo-stage::before{transform:translate3d(var(--hero-frame-x,8px),var(--hero-frame-y,8px),0)!important}
.hero-line-frame{border-color:rgba(255,255,255,.28)!important}

/* Manifest / bridge: no portrait photos */
.manifest-photo,.bridge-photo{display:none!important}
.manifest-copy{max-width:460px}
.bridge-sticky{display:grid;place-items:center}

/* Catalogue: one clear hero image with shine */
#catalogue .catalogue-layout{align-items:center!important;gap:clamp(24px,4vw,56px)!important}
#catalogue .catalogue-reel{height:min(76vh,860px)!important}
#catalogue .catalogue-stage.single-stage{
  background:linear-gradient(180deg,#171a1d,#101214)!important;
  border:1px solid rgba(255,255,255,.08);
  border-radius:36px!important;
  box-shadow:0 40px 120px rgba(0,0,0,.38)!important;
}
#catalogue .catalogue-stage.single-stage::before{
  content:"";position:absolute;inset:0;border-radius:36px;padding:1px;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03),rgba(255,255,255,.1));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;opacity:.95;z-index:6
}
#catalogue .catalogue-stage.single-stage::after{
  content:"";position:absolute;inset:-12% auto -10% -30%;width:42%;border-radius:40px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent)!important;
  filter:blur(14px);mix-blend-mode:screen;opacity:.6;animation:catalogueSweep 8s ease-in-out infinite;z-index:5
}
#catalogue .catalogue-stage.single-stage .catalogue-img{
  inset:6% 5.5% 9%!important;border-radius:28px!important;object-position:center 12%!important;
  box-shadow:0 28px 80px rgba(0,0,0,.34)
}
#catalogue .catalogue-focus{left:8%;right:8%;bottom:1%;height:12%}
@keyframes catalogueSweep{0%{transform:translateX(0) skewX(-16deg)}50%{transform:translateX(340%) skewX(-16deg)}100%{transform:translateX(340%) skewX(-16deg)}}

/* Built beyond the song — cleaner head */
.ecosystem-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,420px);gap:clamp(28px,4vw,56px);align-items:center}
.ecosystem-head-copy{max-width:920px}
.ecosystem-head-visual{margin:0;justify-self:end;max-width:420px}
.ecosystem-head-frame{position:relative;border:1px solid rgba(255,255,255,.1);border-radius:28px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));box-shadow:0 28px 80px rgba(0,0,0,.28)}
.ecosystem-head-frame img{border-radius:18px;aspect-ratio:4/5;object-fit:cover;object-position:center 16%;filter:grayscale(1) contrast(1.05) brightness(.95)}
.ecosystem-head-visual figcaption{padding-top:12px;font:600 8px/1 var(--display);letter-spacing:.16em;color:#878d91;text-transform:uppercase}

/* Ecosystem brand panels: brand first, banner photo second */
.eco-brand-mark,.replay-canvas,.eco-photo-panel{display:none!important}
.eco-panel{
  display:block!important;grid-template-columns:none!important;overflow:hidden!important;
  padding:72px clamp(24px,4vw,72px)!important;
}
.eco-ghost{top:36px!important;left:auto!important;right:clamp(18px,3vw,40px)!important;transform:none!important;font-size:clamp(72px,13vw,210px)!important;opacity:.72;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.05)!important}
.eco-copy{max-width:920px!important;z-index:2}
.eco-copy>span{display:block;margin-bottom:14px;font-size:10px;letter-spacing:.18em}
.eco-logo-main{display:block;height:clamp(42px,5vw,72px);width:auto;max-width:min(320px,72vw);margin:0 0 24px;filter:brightness(1.08) grayscale(1)}
.eco-logo-solofm{height:clamp(48px,5.8vw,78px)}
.eco-logo-dandara{height:clamp(40px,5.2vw,68px)}
.eco-copy h3{font-size:clamp(34px,4.8vw,74px)!important;margin:0 0 18px!important;letter-spacing:-.06em!important}
.eco-copy p{max-width:760px!important}
.eco-banner{
  position:relative;display:block;margin:38px 0 0;width:min(100%,980px);height:clamp(220px,34vw,390px);
  border-radius:28px;border:1px solid rgba(255,255,255,.08);overflow:hidden;
  background:linear-gradient(180deg,#17191c,#0f1112);box-shadow:0 32px 100px rgba(0,0,0,.34)
}
.eco-banner::before{content:"";position:absolute;inset:0;border-radius:28px;padding:1px;background:linear-gradient(130deg,rgba(255,255,255,.09),rgba(255,255,255,.02),rgba(255,255,255,.08));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:3;pointer-events:none}
.eco-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 24%,transparent 76%,rgba(255,255,255,.03));z-index:2;pointer-events:none}
.eco-banner img{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:grayscale(1) contrast(1.04) brightness(.92)}
.eco-banner-replay img{object-position:center 16%}
.eco-banner-solo img{object-position:center 20%}
.eco-banner-dandara img{object-position:center 12%}
.eco-panel .line-link{margin-top:28px}

/* Direction stays with a single main image */
.direction-layout{gap:clamp(28px,4vw,56px)!important}
.direction-photo{min-height:580px}

/* Photography notes section uses remaining portraits in a controlled way */
.photo-stream{padding:0 0 70px;background:linear-gradient(180deg,#111315,#0f1112);border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.photo-stream-head{padding-bottom:10px!important}
.photo-stream-head h2{margin:18px 0 0;font:500 clamp(42px,5vw,88px)/.94 var(--display);letter-spacing:-.06em;max-width:720px}
.photo-stream-row{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:clamp(16px,2vw,26px);align-items:end;padding-top:0!important}
.stream-card{margin:0;position:relative;height:clamp(320px,42vw,620px);border:1px solid rgba(255,255,255,.09);border-radius:28px;overflow:hidden;background:linear-gradient(180deg,#15181b,#0f1112);box-shadow:0 24px 80px rgba(0,0,0,.28)}
.stream-card::before{content:"";position:absolute;inset:0;border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.045),transparent 32%,transparent 70%,rgba(255,255,255,.03));z-index:2;pointer-events:none}
.stream-card img{width:100%;height:100%;object-fit:cover;object-position:center 14%;filter:grayscale(1) contrast(1.05) brightness(.94)}
.stream-card-a{margin-bottom:42px}
.stream-card-b{height:clamp(360px,48vw,680px)}
.stream-card-c{margin-bottom:74px}

@media (max-width: 1100px){
  .ecosystem-head{grid-template-columns:1fr!important}
  .ecosystem-head-visual{justify-self:start;max-width:360px}
  .photo-stream-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stream-card-c{grid-column:1/-1;height:clamp(280px,40vw,500px);margin-bottom:0}
}

@media (max-width: 760px){
  .hero-photo-stage{border-radius:24px!important;padding:18px 16px 42px!important}
  .hero-photo-stage::before{inset:12px!important;border-radius:18px!important}
  #catalogue .catalogue-reel{height:66vh!important}
  #catalogue .catalogue-stage.single-stage{border-radius:24px!important}
  #catalogue .catalogue-stage.single-stage::before,#catalogue .catalogue-stage.single-stage::after{border-radius:24px!important}
  #catalogue .catalogue-stage.single-stage .catalogue-img{border-radius:18px!important;inset:7% 5% 10%!important}
  .eco-panel{padding:74px var(--pad)!important}
  .eco-ghost{font-size:24vw!important;right:18px!important;top:26px!important}
  .eco-logo-main{max-width:64vw}
  .eco-banner{height:30vh;min-height:240px;border-radius:22px}
  .eco-banner::before,.eco-banner::after{border-radius:22px}
  .photo-stream-row{grid-template-columns:1fr;gap:18px}
  .stream-card,.stream-card-b,.stream-card-c{height:52vh;min-height:290px;margin-bottom:0}
}

/* ==============================
   V18 — user-requested section cleanup
   ============================== */

/* THE ORIGINAL ENGINE — keep the writing portrait clear */
#catalogue .catalogue-stage.single-stage .catalogue-img{
  object-position:center 8%!important;
}

/* BUILT BEYOND THE SONG — larger reading/paper portrait */
#ecosystem .ecosystem-head{
  grid-template-columns:minmax(0,1fr) minmax(340px,520px)!important;
  gap:clamp(26px,4vw,64px)!important;
  align-items:center!important;
}
#ecosystem .ecosystem-head-visual{
  width:100%!important;
  max-width:520px!important;
  justify-self:end!important;
}
#ecosystem .ecosystem-head-frame{
  padding:18px!important;
  border-radius:34px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018))!important;
  box-shadow:0 34px 110px rgba(0,0,0,.34)!important;
}
#ecosystem .ecosystem-head-frame img{
  width:100%!important;
  aspect-ratio:4 / 5!important;
  border-radius:24px!important;
  object-fit:cover!important;
  object-position:center 10%!important;
}
#ecosystem .ecosystem-head-visual figcaption{display:none!important}

/* Replay / SoloFM / DanDara — back to logo-led cards with no portraits */
#ecosystem .eco-banner{display:none!important}
#ecosystem .eco-panel{
  padding:66px clamp(24px,4vw,70px)!important;
}
#ecosystem .eco-copy{
  max-width:940px!important;
}
#ecosystem .eco-copy p{
  max-width:700px!important;
}
#ecosystem .eco-ghost{
  opacity:.55!important;
}
#ecosystem .eco-logo-main{
  margin-bottom:18px!important;
}

@media (max-width: 1100px){
  #ecosystem .ecosystem-head{
    grid-template-columns:1fr!important;
  }
  #ecosystem .ecosystem-head-visual{
    max-width:430px!important;
    justify-self:start!important;
  }
}

@media (max-width: 760px){
  #ecosystem .ecosystem-head-visual{
    max-width:100%!important;
  }
  #ecosystem .ecosystem-head-frame{
    padding:14px!important;
    border-radius:24px!important;
  }
  #ecosystem .ecosystem-head-frame img{
    border-radius:18px!important;
    min-height:320px;
  }
}

/* ==============================
   V19 — catalogue + brand section refinement
   ============================== */

/* THE ORIGINAL ENGINE: use the studio portrait beside the 120+ stat */
#catalogue .catalogue-img{
  object-fit:cover!important;
  object-position:center 22%!important;
  filter:grayscale(1) contrast(1.05) brightness(.86)!important;
}
#catalogue .catalogue-stage::before{
  border-color:rgba(255,255,255,.12)!important;
}
#catalogue .catalogue-focus{
  opacity:.85!important;
}

/* Restore the richer logo-led brand panels without personal photos */
#ecosystem .eco-panel{
  grid-template-columns:1.02fr .98fr!important;
}
#ecosystem .eco-brand-mark{
  display:block!important;
}
#ecosystem .eco-logo-main{
  margin:0 0 18px!important;
}
#ecosystem .eco-symbol-replay{
  font-size:min(18vw,240px)!important;
  letter-spacing:0!important;
  color:rgba(255,255,255,.07)!important;
  text-shadow:0 0 28px rgba(255,255,255,.03);
}
#ecosystem .eco-symbol-play{
  transform:translateX(5%) scale(1.06);
}
#ecosystem .eco-solo .eco-symbol{
  color:rgba(255,255,255,.06)!important;
}
#ecosystem .eco-replay .eco-copy,
#ecosystem .eco-solo .eco-copy,
#ecosystem .eco-dandara .eco-copy{
  max-width:720px!important;
}
#ecosystem .eco-panel .line-link{
  margin-top:24px!important;
}

@media (max-width: 760px){
  #catalogue .catalogue-img{
    object-position:center 20%!important;
  }
  #ecosystem .eco-symbol-replay{
    font-size:min(26vw,170px)!important;
  }
}

/* ==============================
   V20 — section-specific photography refresh
   ============================== */

/* 02 — THE CATALOGUE */
#catalogue .catalogue-layout{
  align-items:center;
}
#catalogue .catalogue-reel{
  min-height:760px;
}
#catalogue .catalogue-stage.single-stage{
  border-radius:36px!important;
  box-shadow:0 42px 120px rgba(0,0,0,.38)!important;
}
#catalogue .catalogue-stage.single-stage .catalogue-img{
  inset:5% 5% 7%!important;
  width:auto!important;
  height:auto!important;
  object-fit:cover!important;
  object-position:70% 46%!important;
  border-radius:28px;
  filter:grayscale(1) contrast(1.06) brightness(.92)!important;
}
#catalogue .catalogue-stage.single-stage::after{
  background:
    radial-gradient(circle at 65% 16%, rgba(255,255,255,.2), transparent 20%),
    linear-gradient(120deg, transparent 22%, rgba(255,255,255,.08) 36%, transparent 52%),
    linear-gradient(180deg,rgba(255,255,255,.04),transparent 28%,transparent 72%,rgba(255,255,255,.03));
}
#catalogue .catalogue-focus{
  opacity:.55!important;
}

/* 04 — THE VISUAL ERA */
.direction-photo-v20{
  height:74vh;
}
.direction-photo-v20 .aperture-window{
  position:relative;
  overflow:hidden;
  border-radius:32px;
  background:linear-gradient(180deg,#151719,#0e1011);
  box-shadow:0 34px 110px rgba(0,0,0,.34);
}
.direction-photo-v20 .aperture-window img{
  object-fit:cover!important;
  object-position:48% center!important;
  border-radius:26px;
}
.simple-shine .shine-pass{
  position:absolute;
  top:-18%;bottom:-18%;left:-32%;
  width:28%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent);
  transform:skewX(-18deg) translateX(-30%);
  filter:blur(2px);
  opacity:.7;
  animation:shinePass 5.8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes shinePass{
  0%, 16%{transform:skewX(-18deg) translateX(-120%);opacity:0}
  22%{opacity:.7}
  48%{transform:skewX(-18deg) translateX(520%);opacity:0}
  100%{transform:skewX(-18deg) translateX(520%);opacity:0}
}
.direction-photo-v20 .aperture-ring{
  opacity:.42;
}

/* AUTHOR portrait — replace slices with one clean side close-up */
.portrait-single-glow{
  height:80vh;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.portrait-glow-frame{
  position:relative;
  width:min(100%, 720px);
  height:100%;
  border-radius:34px;
  overflow:hidden;
  background:linear-gradient(180deg,#131517,#0f1112);
  box-shadow:0 36px 120px rgba(0,0,0,.36);
}
.portrait-glow-frame::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:34px;
  padding:1px;
  background:linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.03), rgba(255,255,255,.08));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  z-index:2;
}
.portrait-glow-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:56% center;
  filter:grayscale(1) contrast(1.06) brightness(.9);
  transform:translateY(var(--pt-main-y,0)) scale(1.015);
  will-change:transform;
}
.portrait-single-glow figcaption{
  position:absolute;
  right:12px;
  bottom:12px;
  background:rgba(13,15,16,.72);
  padding:9px 12px;
  border-radius:999px;
  font:600 7px/1 var(--display);
  letter-spacing:.15em;
  color:#9da2a5;
  backdrop-filter:blur(10px);
  z-index:3;
}

/* mobile tuning */
@media (max-width: 980px){
  #catalogue .catalogue-reel{min-height:620px}
  #catalogue .catalogue-stage.single-stage .catalogue-img{object-position:68% 42%!important}
  .direction-photo-v20{height:62vh}
  .portrait-single-glow{height:62vh}
}
@media (max-width: 760px){
  #catalogue .catalogue-layout{grid-template-columns:1fr!important}
  #catalogue .catalogue-number{order:1}
  #catalogue .catalogue-photo{order:2}
  #catalogue .catalogue-copy{order:3}
  #catalogue .catalogue-reel{min-height:56vh;height:56vh}
  #catalogue .catalogue-stage.single-stage .catalogue-img{object-position:67% 42%!important}
  .direction-photo-v20 .aperture-window{border-radius:24px}
  .portrait-break{grid-template-columns:1fr!important;gap:38px!important;padding-top:80px;padding-bottom:80px}
  .portrait-single-glow{height:58vh}
  .portrait-glow-frame{border-radius:24px}
  .portrait-break-copy h2{font-size:clamp(40px,11vw,72px)}
}

/* =========================================================
   V21 — final web swap + compact mobile art direction
   ========================================================= */

/* Section 03 image swap polish */
.ecosystem-head-frame{
  position:relative;
  overflow:hidden;
}
.ecosystem-head-frame::after{
  content:"";
  position:absolute;
  top:-12%; bottom:-12%; left:-30%;
  width:24%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.09), transparent);
  transform:skewX(-18deg) translateX(-120%);
  filter:blur(2px);
  animation:ecoHeadSweep 7s ease-in-out infinite;
  pointer-events:none;
}
@keyframes ecoHeadSweep{
  0%,18%{transform:skewX(-18deg) translateX(-130%);opacity:0}
  26%{opacity:.72}
  48%{transform:skewX(-18deg) translateX(560%);opacity:0}
  100%{transform:skewX(-18deg) translateX(560%);opacity:0}
}
.ecosystem-head-frame img{
  object-position:center 18%!important;
}

/* Mobile: softer, less scrolling, smaller images beside the copy */
@media (max-width: 760px){
  .section-pad{padding-top:74px!important;padding-bottom:74px!important}

  /* 02 — catalogue */
  #catalogue.section-pad{padding-top:78px!important;padding-bottom:72px!important}
  #catalogue .catalogue-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) min(38vw,170px)!important;
    grid-template-areas:
      "number photo"
      "copy photo"!important;
    gap:18px 16px!important;
    align-items:start!important;
  }
  #catalogue .catalogue-number{grid-area:number;align-self:start}
  #catalogue .catalogue-copy{grid-area:copy;min-width:0}
  #catalogue .catalogue-photo{
    grid-area:photo;
    width:100%;
    height:38vh!important;
    min-height:300px!important;
    max-height:420px!important;
    justify-self:end;
    align-self:stretch;
    margin:0!important;
  }
  #catalogue .catalogue-reel{min-height:0!important}
  #catalogue .catalogue-stage.single-stage{inset:0!important;border-radius:20px!important}
  #catalogue .catalogue-stage.single-stage .catalogue-img{
    inset:5% 5% 6%!important;
    object-position:70% 42%!important;
    border-radius:14px!important;
  }
  #catalogue .catalogue-copy h2{font-size:clamp(36px,10.5vw,58px)!important;line-height:.94!important}
  #catalogue .catalogue-copy p{font-size:14px!important;line-height:1.7!important}
  #catalogue .dialects{gap:8px!important;flex-wrap:wrap}
  #catalogue .dialects span{font-size:8px!important;padding:7px 10px!important}
  #catalogue .portal-button{padding:14px 14px!important}

  /* 03 — built beyond the song */
  .ecosystem-head{
    grid-template-columns:minmax(0,1fr) min(36vw,155px)!important;
    gap:18px!important;
    align-items:start!important;
    padding-top:74px!important;
    padding-bottom:58px!important;
  }
  .ecosystem-head-copy{min-width:0}
  .ecosystem-head h2{font-size:clamp(34px,10vw,54px)!important;line-height:.95!important}
  .ecosystem-head .ecosystem-intro{font-size:14px!important;line-height:1.65!important;margin-top:18px!important}
  .ecosystem-head-visual{
    width:100%!important;
    max-width:none!important;
    justify-self:end!important;
    border-radius:18px!important;
  }
  .ecosystem-head-frame{padding:10px!important;border-radius:18px!important}
  .ecosystem-head-frame img{border-radius:12px!important;aspect-ratio:4/5!important;object-position:center 18%!important}
  .ecosystem-head-visual figcaption{padding-top:8px!important;font-size:7px!important}

  /* brand panels: less height, cleaner stack */
  .eco-panel{padding:56px 22px!important;min-height:auto!important}
  .eco-ghost{font-size:clamp(54px,12vw,92px)!important;top:22px!important;right:18px!important}
  .eco-copy h3{font-size:clamp(28px,8vw,48px)!important;margin-bottom:12px!important}
  .eco-copy p{font-size:14px!important;line-height:1.68!important}
  .eco-stats{gap:22px!important;margin:24px 0!important;flex-wrap:wrap}
  .eco-stats b{font-size:24px!important}
  .eco-logo-main{max-width:min(250px,64vw)!important;height:auto!important}

  /* 04 — direction */
  .direction.section-pad{padding-top:76px!important;padding-bottom:74px!important}
  .direction-layout{
    grid-template-columns:minmax(0,1fr) min(40vw,176px)!important;
    gap:18px!important;
    min-height:auto!important;
    margin-top:32px!important;
    align-items:start!important;
  }
  .direction-type{opacity:.28!important}
  .direction-copy{min-width:0;order:1}
  .direction-photo{order:2;width:100%;height:40vh!important;min-height:320px!important;max-height:450px!important;justify-self:end}
  .direction-photo-v20 .aperture-window{border-radius:18px!important}
  .direction-copy h2{font-size:clamp(34px,10vw,54px)!important;line-height:.96!important}
  .direction-copy p{font-size:14px!important;line-height:1.68!important}
  .direction-actions{gap:14px!important}
  .visual-names{gap:8px!important;flex-wrap:wrap}
  .visual-names span{font-size:8px!important;padding:7px 9px!important}

  /* 05 — author */
  .portrait-break{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) min(40vw,176px)!important;
    gap:18px!important;
    align-items:start!important;
    padding-top:74px!important;
    padding-bottom:74px!important;
  }
  .portrait-break-copy{order:1;min-width:0}
  .portrait-break-image{order:2}
  .portrait-single-glow{
    height:40vh!important;
    min-height:320px!important;
    max-height:450px!important;
  }
  .portrait-glow-frame{border-radius:18px!important}
  .portrait-glow-frame img{object-position:58% center!important}
  .portrait-break-copy h2{font-size:clamp(34px,10vw,54px)!important;line-height:.96!important}

  /* general buttons / labels */
  .portal-button .portal-copy small{font-size:8px!important}
  .portal-button .portal-copy strong{font-size:14px!important}
  .line-link{font-size:9px!important}
}

/* extra small phones */
@media (max-width: 420px){
  #catalogue .catalogue-layout,
  .ecosystem-head,
  .direction-layout,
  .portrait-break{
    grid-template-columns:minmax(0,1fr) 132px!important;
  }
  #catalogue .catalogue-photo,
  .direction-photo,
  .portrait-single-glow{min-height:280px!important;height:34vh!important}
  .ecosystem-head-visual{width:132px!important}
}

/* =========================================================
   V22 — author section swap + refined contact + creative mobile
   ========================================================= */

/* AUTHOR section: text left / image right */
.portrait-break{
  grid-template-columns:minmax(0,1fr) minmax(340px,.9fr);
  gap:clamp(28px,4.6vw,84px);
}
.portrait-break-copy{
  order:1;
  align-self:center;
  max-width:760px;
}
.portrait-break-copy span{
  display:block;
  margin-bottom:12px;
}
.portrait-break-copy h2{
  max-width:740px;
}
.portrait-break-image{
  order:2;
  justify-self:end;
  width:min(100%, 720px);
}

/* Closing / social section: less tall, closer, cleaner */
.closing{
  min-height:78svh;
  padding:92px var(--pad) 28px;
  justify-content:flex-start;
}
.closing-words{
  inset:0;
  padding-top:28px;
  justify-content:flex-start;
  gap:10vh;
}
.closing-words span{
  font-size:clamp(88px, 14vw, 230px);
  -webkit-text-stroke:1px rgba(255,255,255,.045);
}
.closing-center{
  width:min(100%, 980px);
  margin-top:12px;
}
.closing-center img{
  width:min(38vw, 420px);
  margin:0 auto 22px;
}
.closing-center p{
  max-width:700px;
  margin:0 auto;
}
.closing-links{
  gap:12px 16px;
  margin-top:28px;
}
.closing-links a{
  padding-bottom:4px;
}
.social-grid{
  max-width:740px;
}
.social-grid a{
  min-width:102px;
}
.social-grid .email-link{
  min-width:190px;
}
.closing footer{
  position:static;
  width:100%;
  margin-top:32px;
  padding-top:16px;
  border-top:1px solid var(--line);
}

@media (max-width:1100px){
  .closing{
    min-height:72svh;
    padding-top:84px;
  }
  .closing-words{
    gap:8vh;
  }
}

@media (max-width:760px){
  /* Global mobile rhythm */
  :root{--pad:16px}
  section{overflow:hidden}
  .section-label span,.section-label b,.overline,.line-link,.closing footer,.hero-kicker,.hero-note,
  .eco-copy>span,.visual-names span,.dialects span,.credentials-wrap span{
    letter-spacing:.14em!important;
  }

  /* Hero: smaller, tighter, image smaller on the right */
  .hero{
    min-height:auto!important;
    padding:86px var(--pad) 24px!important;
  }
  .hero::before{width:68vw;height:68vw;right:-32vw;top:-26vw}
  .hero-grid{
    min-height:auto!important;
    grid-template-columns:minmax(0,1fr) 136px!important;
    grid-template-areas:
      "copy image"
      "stats stats"!important;
    gap:16px 14px!important;
    align-items:start!important;
  }
  .hero-side{display:none!important}
  .hero-copy{grid-area:copy;align-self:start}
  .hero-image{
    grid-area:image;
    height:36vh!important;
    min-height:250px!important;
    max-height:340px!important;
    align-self:start!important;
    justify-self:end!important;
  }
  .hero h1{font-size:clamp(56px,16vw,92px)!important;line-height:.8!important}
  .hero-name-outline{margin-left:3vw!important}
  .hero-statement{
    font-size:14px!important;
    line-height:1.66!important;
    margin:22px 0 18px!important;
    padding-left:14px!important;
  }
  .hero-roles{gap:8px!important;font-size:8px!important}
  .hero-stats{
    grid-area:stats;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
    padding-top:14px!important;
  }
  .hero-stats b{font-size:20px!important}
  .hero-stats span{font-size:7px!important}
  .scroll-cue,.hero-note{display:none!important}

  /* Manifest: reduce travel but keep the same idea */
  .manifest{height:170vh!important}
  .manifest-sticky{padding:72px var(--pad) 58px!important}
  .manifest-sticky>.overline{top:84px!important;left:var(--pad)!important}
  .manifest-core{width:min(90vw,340px)!important}
  .manifest-name{font-size:clamp(40px,11vw,64px)!important}
  .manifest-orbit span{font-size:7px!important;padding:6px 7px!important}
  .manifest-tags .mt{font-size:7px!important;padding:7px 9px!important}
  .manifest-copy{right:var(--pad)!important;bottom:26px!important;max-width:220px!important;font-size:12px!important;line-height:1.6!important}

  /* Full chain and timeline: same scroll language, less excessive height */
  .chain-sticky{padding:86px var(--pad) 82px!important}
  .chain-word span{font-size:clamp(54px,14vw,86px)!important}
  .chain-sticky>p{bottom:58px!important;font-size:10px!important}
  .chain-progress{bottom:34px!important}
  .chain-steps{padding:18vh var(--pad) 14vh!important}
  .chain-step{min-height:72vh!important}
  .chain-step>span{font-size:8px!important;margin-bottom:18px!important}
  .chain-step h2{font-size:clamp(30px,8vw,44px)!important;margin-bottom:18px!important}
  .chain-step p{font-size:14px!important;line-height:1.72!important}
  .credit-river{padding:16px 0!important}
  .river{font-size:clamp(14px,4vw,18px)!important}
  .river-b{margin-top:10px!important;font-size:clamp(10px,2.9vw,13px)!important}

  /* Catalogue: smaller graphic balance */
  #catalogue .catalogue-number strong{font-size:clamp(88px,22vw,122px)!important}
  #catalogue .catalogue-number small{margin-top:14px!important;font-size:7px!important;line-height:1.45!important}

  /* Ecosystem mobile — logos and text smaller, neater */
  .ecosystem-head{padding-bottom:52px!important}
  .eco-panel{padding:44px 18px!important}
  .eco-ghost{font-size:clamp(48px,11vw,78px)!important;top:20px!important;right:14px!important;opacity:.2!important}
  .eco-copy>span{font-size:7px!important}
  .eco-copy h3{font-size:clamp(26px,7.5vw,40px)!important;margin:10px 0 10px!important}
  .eco-copy p{font-size:13px!important;line-height:1.62!important;max-width:100%!important}
  .eco-stats{gap:18px!important;margin:18px 0 0!important}
  .eco-stats b{font-size:20px!important}
  .eco-stats small{font-size:7px!important}
  .eco-logo-main{max-width:min(150px,42vw)!important}
  .eco-brand-mark{max-width:21%!important;max-height:18%!important;opacity:.045!important}
  .eco-symbol{font-size:min(18vw,96px)!important;opacity:.12!important}
  .dandara-lines{height:160px!important;gap:10px!important}

  /* Direction / author sections */
  .direction.section-pad{padding-top:70px!important;padding-bottom:68px!important}
  .direction-copy .overline{font-size:8px!important}
  .direction-copy h2{font-size:clamp(32px,9vw,46px)!important}
  .direction-copy>p:not(.overline){font-size:13px!important;line-height:1.66!important}
  .visual-names span{font-size:7px!important;padding:6px 8px!important}

  .portrait-break{
    grid-template-columns:minmax(0,1fr) 132px!important;
    gap:16px!important;
    min-height:auto!important;
    padding-top:68px!important;
    padding-bottom:66px!important;
  }
  .portrait-break-copy span{font-size:8px!important;margin-bottom:10px!important}
  .portrait-break-copy h2{font-size:clamp(32px,9.8vw,46px)!important;line-height:.95!important}
  .portrait-single-glow{
    height:36vh!important;
    min-height:260px!important;
    max-height:360px!important;
  }
  .portrait-single-glow figcaption{font-size:6px!important;padding:7px 10px!important;right:10px!important;bottom:10px!important}

  /* Timeline: reduce overall scroll length */
  .timeline{height:470vh!important}
  .timeline-sticky{padding:78px var(--pad) 46px!important}
  .timeline-sticky h2{font-size:clamp(36px,10vw,56px)!important}
  .timeline-sticky>p{font-size:10px!important}
  .timeline-track article{width:min(82vw,320px)!important;height:58vh!important;padding:28px 22px!important}
  .timeline-track time{font-size:clamp(40px,11vw,56px)!important}
  .timeline-track h3{font-size:clamp(22px,6vw,30px)!important;margin:18px 0 12px!important}
  .timeline-track p{font-size:13px!important;line-height:1.65!important}

  /* Credentials strip smaller */
  .credentials-wrap{gap:10px!important;display:grid!important}
  .credentials-wrap span{font-size:7px!important}

  /* Closing / social: different mobile treatment, tighter and cleaner */
  .closing{
    min-height:auto!important;
    padding:68px var(--pad) 20px!important;
  }
  .closing-words{padding-top:8px!important;gap:36px!important}
  .closing-words span{font-size:clamp(60px,16vw,90px)!important}
  .closing-center img{width:min(72vw,250px)!important;margin-bottom:18px!important}
  .closing-center p{font-size:10px!important;line-height:1.6!important;max-width:280px!important}
  .closing-links{margin-top:22px!important;gap:10px!important}
  .social-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    max-width:330px!important;
    gap:10px!important;
  }
  .social-grid a,
  .social-grid .email-link{
    min-width:0!important;
    width:100%!important;
    border:1px solid var(--line)!important;
    border-radius:999px!important;
    padding:10px 10px!important;
    background:rgba(255,255,255,.02);
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    border-bottom:1px solid var(--line)!important;
  }
  .social-grid .email-link{grid-column:1/-1!important}
  .social-grid svg{width:16px!important;height:16px!important}
  .social-grid span{font-size:8px!important;letter-spacing:.12em!important}
  .closing footer{
    margin-top:22px!important;
    padding-top:12px!important;
    flex-direction:column!important;
    gap:8px!important;
    text-align:center!important;
    font-size:7px!important;
  }
}

@media (max-width:420px){
  .hero-grid{grid-template-columns:minmax(0,1fr) 118px!important}
  .hero-image{min-height:220px!important;height:33vh!important}
  .ecosystem-head{grid-template-columns:minmax(0,1fr) 124px!important}
  .direction-layout{grid-template-columns:minmax(0,1fr) 124px!important}
  .portrait-break{grid-template-columns:minmax(0,1fr) 124px!important}
  .social-grid{max-width:300px!important}
}

/* =========================================================
   V23 — MOBILE ONLY refinement. Desktop/tablet unchanged.
   ========================================================= */
@media (max-width:760px){
  /* tighter overall rhythm */
  .section-pad{padding-top:58px!important;padding-bottom:58px!important}

  /* HERO: keep the approved layout, only make the role labels two clean rows */
  .hero-roles{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px 6px!important;
    margin-top:14px!important;
    width:100%!important;
  }
  .hero-roles i{display:none!important}
  .hero-roles span{
    font-size:7px!important;
    line-height:1.25!important;
    letter-spacing:.08em!important;
    text-align:left!important;
    white-space:normal!important;
  }

  /* PAGE 2 / ORBIT: same animation, much less dead scroll after it */
  .manifest{height:122vh!important}
  .manifest-sticky{height:100svh!important;padding:68px var(--pad) 34px!important}
  .manifest-sticky>.overline{top:78px!important}
  .manifest-core{width:min(82vw,320px)!important}
  .manifest-copy{bottom:20px!important;max-width:220px!important;font-size:11px!important;line-height:1.55!important}

  /* FULL CHAIN: mobile version that mirrors the web's sticky word + active step feel */
  .chain{display:block!important;background:#0f1112!important}
  .chain-sticky{
    position:sticky!important;
    top:0!important;
    z-index:5!important;
    height:44svh!important;
    padding:64px var(--pad) 38px!important;
    background:rgba(15,17,18,.97)!important;
    backdrop-filter:blur(18px)!important;
    border-bottom:1px solid var(--line)!important;
  }
  .chain-sticky::after{
    width:240px!important;height:240px!important;
    left:-82px!important;bottom:-118px!important;
    opacity:.7!important;
  }
  .chain-word{top:54%!important;left:var(--pad)!important;width:calc(100% - var(--pad)*2)!important}
  .chain-word span{font-size:clamp(52px,15vw,76px)!important;line-height:.78!important}
  .chain-sticky>p{bottom:40px!important;font-size:9px!important}
  .chain-progress{bottom:22px!important}
  .chain-steps{padding:8vh var(--pad) 8vh!important;border:0!important}
  .chain-step{
    min-height:56vh!important;
    padding:28px 0!important;
    opacity:.2!important;
    transform:translateY(14px) scale(.985)!important;
    filter:blur(1.5px)!important;
  }
  .chain-step.active{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
  }
  .chain-step>span{font-size:7px!important;margin-bottom:14px!important}
  .chain-step h2{font-size:clamp(28px,8vw,40px)!important;line-height:1.02!important;margin-bottom:14px!important}
  .chain-step p{font-size:13px!important;line-height:1.62!important}

  /* Moving typography bridge: much smaller / softer / shorter */
  .kinetic-bridge{height:122vh!important}
  .bridge-sticky{height:100svh!important;gap:.6vh!important;padding:0!important}
  .bridge-line{font-size:11vw!important;line-height:.86!important;letter-spacing:-.055em!important}
  .bridge-core{width:40vw!important;max-width:170px!important;margin-top:12px!important}
  .bridge-core b{font-size:7px!important;letter-spacing:.14em!important}
  .bridge-core i{width:24px!important}

  /* Credits river */
  .credit-river{padding:11px 0!important}
  .river{font-size:12px!important}
  .river-b{font-size:9px!important;margin-top:7px!important}

  /* Catalogue: smaller, neater and much less vertical space */
  #catalogue.section-pad{padding-top:54px!important;padding-bottom:52px!important}
  #catalogue .section-label{margin-bottom:26px!important}
  #catalogue .catalogue-layout{
    grid-template-columns:minmax(0,1fr) 122px!important;
    grid-template-areas:"number photo" "copy copy"!important;
    gap:14px 14px!important;
    margin-top:24px!important;
  }
  #catalogue .catalogue-number{grid-area:number!important}
  #catalogue .catalogue-number strong{font-size:clamp(76px,22vw,104px)!important}
  #catalogue .catalogue-number small{font-size:6px!important;margin-top:8px!important}
  #catalogue .catalogue-photo{
    grid-area:photo!important;
    height:210px!important;min-height:210px!important;max-height:210px!important;
    align-self:start!important;
  }
  #catalogue .catalogue-copy{grid-area:copy!important;margin-top:2px!important}
  #catalogue .catalogue-copy h2{font-size:clamp(32px,9.3vw,44px)!important;margin:10px 0 16px!important}
  #catalogue .catalogue-copy>p:not(.overline){font-size:13px!important;line-height:1.6!important}
  #catalogue .dialects{margin:16px 0 18px!important;gap:6px!important}
  #catalogue .dialects span{font-size:6px!important;padding:6px 8px!important}
  #catalogue .portal-button{padding:11px 12px!important;border-radius:13px!important}
  #catalogue .portal-button .youtube-mark{width:38px!important;height:38px!important}
  #catalogue .portal-button .portal-copy small{font-size:6px!important}
  #catalogue .portal-button .portal-copy strong{font-size:11px!important}

  /* Built Beyond the Song */
  .ecosystem-head{padding-top:54px!important;padding-bottom:44px!important}
  .ecosystem-head h2{font-size:clamp(31px,8.8vw,43px)!important}
  .ecosystem-head .ecosystem-intro{font-size:12px!important;line-height:1.58!important;margin-top:12px!important}
  .ecosystem-head-visual{width:118px!important}
  .ecosystem-head-frame{padding:8px!important}

  /* Replay / SoloFM / DanDara cards: much more compact */
  .eco-panel{
    min-height:auto!important;
    padding:36px 16px!important;
    gap:14px!important;
  }
  .eco-ghost{font-size:46px!important;top:14px!important;right:10px!important;opacity:.14!important}
  .eco-copy>span{font-size:6px!important}
  .eco-logo-main{max-width:120px!important;margin:0 0 10px!important}
  .eco-copy h3{font-size:clamp(25px,7vw,34px)!important;margin:7px 0 8px!important}
  .eco-copy p{font-size:12px!important;line-height:1.55!important}
  .eco-stats{gap:16px!important;margin:14px 0 0!important}
  .eco-stats b{font-size:18px!important}
  .eco-stats small{font-size:6px!important;margin-top:5px!important}
  .line-link{font-size:7px!important;margin-top:15px!important}
  .eco-symbol{font-size:72px!important;opacity:.08!important}
  .dandara-lines{height:120px!important;gap:8px!important}

  /* Direction: smaller image + tighter text */
  .direction.section-pad{padding-top:54px!important;padding-bottom:52px!important}
  .direction-layout{grid-template-columns:minmax(0,1fr) 118px!important;gap:14px!important;margin-top:20px!important}
  .direction-photo{height:250px!important;min-height:250px!important;max-height:250px!important}
  .direction-copy{padding:0!important}
  .direction-copy .overline{font-size:7px!important}
  .direction-copy h2{font-size:clamp(30px,8.7vw,42px)!important;margin:10px 0 14px!important}
  .direction-copy>p:not(.overline){font-size:12px!important;line-height:1.58!important}
  .direction-actions{margin-top:18px!important;gap:8px!important}
  .visual-names{margin-top:14px!important}
  .visual-names span{font-size:6px!important;padding:5px 7px!important}

  /* Author section: text left, image right, compact */
  .portrait-break{
    grid-template-columns:minmax(0,1fr) 118px!important;
    gap:14px!important;
    min-height:auto!important;
    padding:52px var(--pad)!important;
  }
  .portrait-break-copy span{font-size:7px!important}
  .portrait-break-copy h2{font-size:clamp(30px,9vw,42px)!important;margin:12px 0 0!important}
  .portrait-single-glow{height:250px!important;min-height:250px!important;max-height:250px!important}
  .portrait-single-glow figcaption{display:none!important}

  /* Timeline & lower sections: remove the big empty feeling */
  .timeline{height:auto!important}
  .timeline-sticky{
    position:relative!important;
    height:auto!important;
    padding:52px var(--pad) 28px!important;
    gap:20px!important;
  }
  .timeline-sticky h2{font-size:clamp(34px,9vw,44px)!important}
  .timeline-sticky>p{font-size:9px!important}
  .timeline-track-wrap{position:relative!important;height:auto!important;overflow:visible!important}
  .timeline-track{display:block!important;width:auto!important;transform:none!important}
  .timeline-track article{
    width:auto!important;
    min-height:auto!important;
    height:auto!important;
    padding:34px var(--pad)!important;
    border-right:0!important;
    border-bottom:1px solid var(--line)!important;
  }
  .timeline-track time{font-size:38px!important}
  .timeline-track h3{font-size:22px!important;margin:12px 0 8px!important}
  .timeline-track p{font-size:12px!important;line-height:1.55!important}
  .credentials-strip{padding:24px var(--pad)!important}

  /* Closing / social */
  .closing{padding-top:50px!important;padding-bottom:16px!important}
  .closing-center img{width:min(64vw,220px)!important;margin-bottom:12px!important}
  .closing-links{margin-top:16px!important}
  .social-grid{max-width:310px!important;gap:8px!important}
  .social-grid a,.social-grid .email-link{padding:8px!important}
  .social-grid svg{width:14px!important;height:14px!important}
  .social-grid span{font-size:7px!important}
  .closing footer{margin-top:16px!important;padding-top:10px!important}
}

@media (max-width:420px){
  #catalogue .catalogue-layout{grid-template-columns:minmax(0,1fr) 108px!important}
  #catalogue .catalogue-photo{height:190px!important;min-height:190px!important;max-height:190px!important}
  .ecosystem-head{grid-template-columns:minmax(0,1fr) 106px!important}
  .ecosystem-head-visual{width:106px!important}
  .direction-layout,.portrait-break{grid-template-columns:minmax(0,1fr) 106px!important}
  .direction-photo,.portrait-single-glow{height:225px!important;min-height:225px!important;max-height:225px!important}
}

/* =========================================================
   V24 — MOBILE ONLY: Full Chain / spacing / hidden bridge
   Desktop remains untouched.
   ========================================================= */
@media (max-width:760px){
  /* FULL CHAIN: mobile adaptation of the desktop sequence.
     Each discipline now shows its large word, then the title, then the copy. */
  .chain{
    display:block!important;
    background:#0f1112!important;
  }
  .chain-sticky{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:0!important;
    padding:54px var(--pad) 24px!important;
    border-bottom:1px solid var(--line)!important;
    background:#0f1112!important;
    backdrop-filter:none!important;
  }
  .chain-sticky::after{display:none!important}
  .chain-sticky .section-label{margin:0!important}
  .chain-word,
  .chain-sticky>p,
  .chain-progress{display:none!important}
  .chain-steps{
    padding:0 var(--pad)!important;
    border:0!important;
  }
  .chain-step{
    position:relative!important;
    min-height:50svh!important;
    padding:42px 0 38px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    border-bottom:1px solid var(--line)!important;
    opacity:.34!important;
    filter:none!important;
    transform:translateY(12px)!important;
    transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1)!important;
  }
  .chain-step:last-child{border-bottom:0!important}
  .chain-step::before{
    content:attr(data-word);
    display:block;
    margin-bottom:18px;
    font:600 clamp(54px,17vw,82px)/.78 var(--display);
    letter-spacing:-.075em;
    color:#efefec;
    text-transform:uppercase;
  }
  .chain-step.active{
    opacity:1!important;
    transform:none!important;
  }
  .chain-step>span{
    order:2;
    margin-bottom:12px!important;
    font-size:7px!important;
    letter-spacing:.15em!important;
  }
  .chain-step h2{
    order:3;
    max-width:100%!important;
    margin:0 0 14px!important;
    font-size:clamp(27px,7.7vw,39px)!important;
    line-height:1.02!important;
    letter-spacing:-.05em!important;
  }
  .chain-step p{
    order:4;
    max-width:100%!important;
    margin:0!important;
    font-size:12.5px!important;
    line-height:1.65!important;
    color:#a8adb0!important;
  }

  /* Hide the full horizontal kinetic page on mobile only. */
  .kinetic-bridge{display:none!important}

  /* Keep the small credit ticker, but make it very light and compact. */
  .credit-river{padding:9px 0!important}
  .river{font-size:11px!important}
  .river-b{font-size:8px!important;margin-top:6px!important}

  /* Remove the empty space before SACEM / association credentials. */
  .timeline{
    height:auto!important;
    min-height:0!important;
    padding-bottom:0!important;
    margin-bottom:0!important;
  }
  .timeline-track-wrap,
  .timeline-track{
    margin-bottom:0!important;
    padding-bottom:0!important;
  }
  .timeline-track article:last-child{
    border-bottom:0!important;
    padding-bottom:24px!important;
  }
  .credentials-strip{
    margin-top:0!important;
    padding:10px var(--pad) 20px!important;
    border-top:1px solid var(--line)!important;
  }
  .credentials-wrap{margin:0!important}

  /* Slightly tighten the lower half so everything stays readable but close. */
  .direction.section-pad{padding-bottom:44px!important}
  .portrait-break{padding-top:44px!important;padding-bottom:44px!important}
  .timeline-sticky{padding-top:44px!important;padding-bottom:22px!important}
  .timeline-track article{padding-top:26px!important;padding-bottom:26px!important}
  .closing{padding-top:42px!important}
}

@media (max-width:420px){
  .chain-step{min-height:46svh!important;padding:36px 0 34px!important}
  .chain-step::before{font-size:clamp(50px,16vw,70px)!important}
  .chain-step h2{font-size:clamp(25px,7.4vw,34px)!important}
  .chain-step p{font-size:12px!important}
}

/* =========================================================
   V25 — MOBILE ONLY micro-polish
   Desktop/web untouched.
   ========================================================= */
@media (max-width:760px){
  /* THE CATALOGUE — remove the dead gap: copy now rises directly under 120+,
     while the portrait stays as the right-hand visual. */
  #catalogue .catalogue-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 116px!important;
    grid-template-areas:
      "number photo"
      "copy photo"!important;
    column-gap:14px!important;
    row-gap:8px!important;
    align-items:start!important;
    margin-top:20px!important;
  }
  #catalogue .catalogue-number{
    grid-area:number!important;
    align-self:end!important;
    margin:0!important;
    padding:0!important;
  }
  #catalogue .catalogue-number strong{
    display:block!important;
    font-size:clamp(72px,21vw,98px)!important;
    line-height:.72!important;
    margin:0!important;
  }
  #catalogue .catalogue-number small{
    display:block!important;
    margin:8px 0 0!important;
    font-size:6px!important;
    line-height:1.35!important;
  }
  #catalogue .catalogue-copy{
    grid-area:copy!important;
    margin:8px 0 0!important;
    padding:0!important;
    align-self:start!important;
  }
  #catalogue .catalogue-copy .overline{
    margin:0 0 8px!important;
    font-size:7px!important;
  }
  #catalogue .catalogue-copy h2{
    margin:0 0 12px!important;
    font-size:clamp(29px,8.4vw,39px)!important;
    line-height:.98!important;
  }
  #catalogue .catalogue-copy>p:not(.overline){
    font-size:12px!important;
    line-height:1.55!important;
    margin:0!important;
  }
  #catalogue .catalogue-photo{
    grid-area:photo!important;
    width:116px!important;
    height:278px!important;
    min-height:278px!important;
    max-height:278px!important;
    margin:0!important;
    align-self:start!important;
    justify-self:end!important;
  }
  #catalogue .catalogue-stage.single-stage{inset:0!important}
  #catalogue .dialects{margin:14px 0 15px!important}
  #catalogue .portal-button{margin-top:0!important}

  /* REPLAY / SOLOFM / DANDARA — equal logo boxes, smaller cards,
     restrained graphic motion and tighter rhythm. */
  #ecosystem .eco-panel{
    min-height:auto!important;
    padding:28px 15px!important;
    gap:10px!important;
    border-radius:0!important;
  }
  #ecosystem .eco-copy{
    max-width:100%!important;
  }
  #ecosystem .eco-copy>span{
    margin-bottom:7px!important;
    font-size:6px!important;
  }
  #ecosystem .eco-logo-main,
  #ecosystem .eco-logo-solofm,
  #ecosystem .eco-logo-dandara{
    display:block!important;
    width:116px!important;
    height:42px!important;
    max-width:116px!important;
    max-height:42px!important;
    object-fit:contain!important;
    object-position:left center!important;
    margin:0 0 7px!important;
  }
  #ecosystem .eco-copy h3{
    margin:5px 0 7px!important;
    font-size:clamp(23px,6.7vw,31px)!important;
    line-height:1!important;
  }
  #ecosystem .eco-copy p{
    max-width:92%!important;
    margin:0!important;
    font-size:11.5px!important;
    line-height:1.5!important;
  }
  #ecosystem .eco-stats{
    margin:11px 0 0!important;
    gap:14px!important;
  }
  #ecosystem .eco-stats b{font-size:17px!important}
  #ecosystem .eco-stats small{font-size:5.5px!important;margin-top:3px!important}
  #ecosystem .line-link{
    margin-top:12px!important;
    font-size:6.5px!important;
  }
  #ecosystem .eco-ghost{
    top:10px!important;
    right:8px!important;
    font-size:40px!important;
    opacity:.1!important;
  }
  #ecosystem .eco-symbol{
    font-size:58px!important;
    opacity:.055!important;
    transform:scale(.92)!important;
  }
  #ecosystem .eco-symbol-play{transform:translateX(2%) scale(.92)!important}
  #ecosystem .dandara-lines{
    height:90px!important;
    gap:6px!important;
    opacity:.45!important;
  }

  /* TRAJECTORY -> SACEM — on mobile this becomes a compact sign-off,
     so there is no long empty/scroll zone before the memberships. */
  #timeline.timeline{
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  #timeline .timeline-sticky{
    position:relative!important;
    inset:auto!important;
    height:auto!important;
    min-height:0!important;
    padding:36px var(--pad) 22px!important;
    margin:0!important;
    gap:9px!important;
    border-top:1px solid var(--line)!important;
  }
  #timeline .timeline-sticky .section-label{margin-bottom:5px!important}
  #timeline .timeline-sticky h2{
    margin:0!important;
    font-size:clamp(31px,9vw,42px)!important;
    line-height:.9!important;
  }
  #timeline .timeline-sticky>p{
    margin:7px 0 0!important;
    font-size:8px!important;
  }
  #timeline .timeline-track-wrap,
  #timeline .timeline-track{
    display:none!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  .credentials-strip{
    margin:0!important;
    padding:12px var(--pad) 18px!important;
    min-height:0!important;
    border-top:1px solid var(--line)!important;
  }
  .credentials-wrap{
    margin:0!important;
    gap:7px!important;
  }
  .credentials-wrap span{
    padding:8px 10px!important;
    font-size:6.5px!important;
    line-height:1.35!important;
  }

  /* Lower flow: eliminate residual vertical air before contact. */
  .portrait-break{margin-bottom:0!important}
  .closing{margin-top:0!important;padding-top:34px!important}
}

@media (max-width:420px){
  #catalogue .catalogue-layout{
    grid-template-columns:minmax(0,1fr) 104px!important;
    column-gap:12px!important;
  }
  #catalogue .catalogue-photo{
    width:104px!important;
    height:250px!important;
    min-height:250px!important;
    max-height:250px!important;
  }
  #ecosystem .eco-logo-main,
  #ecosystem .eco-logo-solofm,
  #ecosystem .eco-logo-dandara{
    width:106px!important;
    max-width:106px!important;
    height:38px!important;
    max-height:38px!important;
  }
}

/* =========================================================
   V26 — mobile portrait + mobile landscape only
   Desktop/web is intentionally untouched.
   ========================================================= */

/* ---------- PHONE PORTRAIT ONLY ---------- */
@media (max-width:760px) and (orientation:portrait){
  /* Visual Era: keep the playlist CTA fully inside the text column,
     never over the mixer portrait. */
  .direction-copy,
  .direction-actions,
  .direction-actions .youtube-portal,
  .direction-actions .portal-copy{
    min-width:0!important;
    max-width:100%!important;
  }
  .direction-actions{
    width:100%!important;
    margin-top:14px!important;
    gap:7px!important;
    position:relative!important;
    z-index:4!important;
  }
  .direction-actions .youtube-portal{
    width:100%!important;
    box-sizing:border-box!important;
    grid-template-columns:34px minmax(0,1fr) 14px!important;
    gap:8px!important;
    padding:10px 9px!important;
    border-radius:13px!important;
    overflow:hidden!important;
  }
  .direction-actions .youtube-mark{
    width:34px!important;
    height:34px!important;
    border-radius:10px!important;
  }
  .direction-actions .youtube-mark svg{
    width:18px!important;
    height:18px!important;
  }
  .direction-actions .portal-copy{
    overflow:hidden!important;
  }
  .direction-actions .portal-copy small{
    display:none!important;
  }
  .direction-actions .portal-copy strong{
    display:block!important;
    font-size:9.5px!important;
    line-height:1.15!important;
    letter-spacing:.02em!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .direction-actions .youtube-portal>i{
    font-size:14px!important;
  }
  .direction-actions>.line-link{
    margin-top:2px!important;
    font-size:7px!important;
  }

  /* Remove trajectory completely on portrait mobile. */
  #timeline.timeline{
    display:none!important;
  }
  .nav a[href="#timeline"]{
    display:none!important;
  }
  #timeline + .credentials-strip,
  .credentials-strip{
    margin-top:0!important;
    padding-top:10px!important;
  }
}

/* ---------- PHONE LANDSCAPE ONLY ---------- */
@media (orientation:landscape) and (max-width:1024px) and (max-height:600px){
  :root{--pad:18px}
  body{font-size:14px}

  /* Rotating identity circle: scale from viewport height so the full disc
     and all orbit labels stay inside the screen. */
  .manifest{
    height:145vh!important;
  }
  .manifest-sticky{
    height:100svh!important;
    padding:34px var(--pad) 28px!important;
  }
  .manifest-sticky>.overline{
    top:28px!important;
    left:var(--pad)!important;
    font-size:7px!important;
  }
  .manifest-core{
    width:min(66vh,330px)!important;
    max-width:330px!important;
    aspect-ratio:1!important;
  }
  .manifest-name{
    font-size:clamp(32px,8vh,54px)!important;
  }
  .manifest-orbit span{
    transform:rotate(var(--a)) translateX(calc(min(33vh,165px) - 11px)) rotate(calc(var(--a) * -1))!important;
    font-size:6px!important;
    padding:5px 6px!important;
    letter-spacing:.11em!important;
  }
  .manifest-tags .mt{
    font-size:5.5px!important;
    padding:5px 7px!important;
  }
  .manifest-copy{
    bottom:16px!important;
    right:var(--pad)!important;
    max-width:250px!important;
    font-size:9px!important;
    line-height:1.45!important;
  }

  /* Catalogue: intentional 2-column landscape composition. */
  #catalogue.section-pad{
    padding:48px var(--pad)!important;
  }
  #catalogue .section-label{
    margin-bottom:18px!important;
  }
  #catalogue .catalogue-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(250px,38vw)!important;
    grid-template-areas:
      "number photo"
      "copy photo"!important;
    column-gap:24px!important;
    row-gap:7px!important;
    margin-top:12px!important;
    align-items:start!important;
  }
  #catalogue .catalogue-number{
    grid-area:number!important;
    margin:0!important;
  }
  #catalogue .catalogue-number strong{
    font-size:clamp(78px,18vh,118px)!important;
    line-height:.7!important;
  }
  #catalogue .catalogue-number small{
    margin-top:7px!important;
    font-size:6px!important;
    line-height:1.3!important;
  }
  #catalogue .catalogue-copy{
    grid-area:copy!important;
    min-width:0!important;
    margin-top:4px!important;
  }
  #catalogue .catalogue-copy .overline{
    margin-bottom:5px!important;
    font-size:6px!important;
  }
  #catalogue .catalogue-copy h2{
    font-size:clamp(28px,6.5vh,42px)!important;
    line-height:.96!important;
    margin:0 0 8px!important;
  }
  #catalogue .catalogue-copy>p:not(.overline){
    font-size:10.5px!important;
    line-height:1.45!important;
    margin:0!important;
  }
  #catalogue .dialects{
    margin:9px 0 10px!important;
    gap:5px!important;
  }
  #catalogue .dialects span{
    font-size:5.5px!important;
    padding:5px 7px!important;
  }
  #catalogue .catalogue-photo{
    grid-area:photo!important;
    width:100%!important;
    height:72vh!important;
    min-height:0!important;
    max-height:420px!important;
    margin:0!important;
  }
  #catalogue .catalogue-stage.single-stage{
    inset:0!important;
    border-radius:20px!important;
  }
  #catalogue .catalogue-stage.single-stage .catalogue-img{
    inset:5%!important;
    border-radius:14px!important;
    object-position:68% 42%!important;
  }
  #catalogue .portal-button{
    padding:8px 9px!important;
    border-radius:11px!important;
  }
  #catalogue .portal-button .youtube-mark{
    width:30px!important;
    height:30px!important;
  }
  #catalogue .portal-button .portal-copy small{display:none!important}
  #catalogue .portal-button .portal-copy strong{font-size:9px!important}

  /* Built Beyond The Song: copy and photo sit side by side with equal visual weight. */
  .ecosystem-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(170px,28vw)!important;
    gap:24px!important;
    align-items:center!important;
    padding:46px var(--pad)!important;
  }
  .ecosystem-head .section-label{
    margin-bottom:18px!important;
  }
  .ecosystem-head h2{
    font-size:clamp(30px,7vh,46px)!important;
    line-height:.93!important;
    margin:0!important;
  }
  .ecosystem-head .ecosystem-intro{
    font-size:10.5px!important;
    line-height:1.5!important;
    margin-top:10px!important;
    max-width:560px!important;
  }
  .ecosystem-head-visual{
    width:100%!important;
    max-width:230px!important;
    justify-self:end!important;
  }
  .ecosystem-head-frame{
    padding:9px!important;
    border-radius:18px!important;
  }
  .ecosystem-head-frame img{
    border-radius:12px!important;
    aspect-ratio:4/5!important;
    object-position:center 18%!important;
  }
  .ecosystem-head-visual figcaption{
    font-size:6px!important;
    padding-top:6px!important;
  }

  /* Visual Era: tighter image/text balance in landscape. */
  .direction.section-pad{
    padding:46px var(--pad)!important;
  }
  .direction-layout{
    display:grid!important;
    grid-template-columns:minmax(230px,35vw) minmax(0,1fr)!important;
    gap:24px!important;
    margin-top:18px!important;
    min-height:auto!important;
    align-items:center!important;
  }
  .direction-photo{
    width:100%!important;
    height:72vh!important;
    min-height:0!important;
    max-height:420px!important;
  }
  .direction-photo-v20 .aperture-window{
    border-radius:18px!important;
  }
  .direction-copy{
    padding:0!important;
    min-width:0!important;
  }
  .direction-copy .overline{
    font-size:6px!important;
    margin-bottom:5px!important;
  }
  .direction-copy h2{
    font-size:clamp(28px,6.8vh,44px)!important;
    line-height:.94!important;
    margin:0 0 9px!important;
  }
  .direction-copy>p:not(.overline){
    font-size:10.5px!important;
    line-height:1.48!important;
  }
  .visual-names{
    margin-top:10px!important;
    gap:5px!important;
  }
  .visual-names span{
    font-size:5.5px!important;
    padding:5px 7px!important;
  }
  .direction-actions{
    margin-top:12px!important;
    gap:6px!important;
    max-width:100%!important;
  }
  .direction-actions .youtube-portal{
    width:100%!important;
    grid-template-columns:32px minmax(0,1fr) 14px!important;
    gap:8px!important;
    padding:8px 9px!important;
    border-radius:11px!important;
  }
  .direction-actions .youtube-mark{
    width:32px!important;
    height:32px!important;
  }
  .direction-actions .portal-copy small{display:none!important}
  .direction-actions .portal-copy strong{font-size:9px!important;white-space:normal!important}
  .direction-actions .youtube-portal>i{font-size:13px!important}
  .direction-actions>.line-link{font-size:6px!important;margin-top:0!important}
}

/* =========================================================
   V27 — final mobile finishing + site icon / social thumbnail
   ========================================================= */

/* Phone portrait: keep 2 social items per row, including IMDb + Email. */
@media (max-width:760px) and (orientation:portrait){
  .social-grid .email-link{
    grid-column:auto!important;
  }
  .social-grid .email-link span{
    font-size:0!important;
  }
  .social-grid .email-link span::after{
    content:"EMAIL";
    font:600 8px/1 var(--display);
    letter-spacing:.12em;
  }
}

/* Phone landscape: force Built Beyond The Song into one balanced row,
   with the portrait visually attached to the copy rather than isolated. */
@media (orientation:landscape) and (max-height:760px) and (hover:none) and (pointer:coarse){
  .ecosystem-head{
    display:grid!important;
    grid-template-columns:minmax(0,1.12fr) minmax(190px,32vw)!important;
    gap:22px!important;
    align-items:stretch!important;
    padding:38px var(--pad)!important;
  }
  .ecosystem-head-copy{
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  .ecosystem-head .section-label{
    margin-bottom:14px!important;
  }
  .ecosystem-head h2{
    font-size:clamp(28px,6.2vh,42px)!important;
    line-height:.94!important;
    margin:0!important;
  }
  .ecosystem-head .ecosystem-intro{
    font-size:10px!important;
    line-height:1.45!important;
    margin-top:9px!important;
    max-width:520px!important;
  }
  .ecosystem-head-visual{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    margin:0!important;
  }
  .ecosystem-head-frame{
    height:100%!important;
    min-height:0!important;
    padding:8px!important;
    border-radius:16px!important;
  }
  .ecosystem-head-frame img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    object-fit:cover!important;
    object-position:center 18%!important;
    border-radius:10px!important;
  }
  .ecosystem-head-visual figcaption{
    display:none!important;
  }
}


/* =========================================================
   V28 — final tiny adjustments requested after FINAL
   web untouched except footer copy removal.
   ========================================================= */

/* Remove the extra city line globally. */
.closing footer{
  justify-content:center!important;
}
.closing footer span:last-child:empty,
.closing footer span:last-child:not(:first-child){
  display:none!important;
}

/* ---------- PHONE PORTRAIT ONLY ---------- */
@media (max-width:760px) and (orientation:portrait){
  /* Hero: remove the frame lines on portrait mobile only.
     Keep the image clean so it never collides with the role chips. */
  .hero-line-frame,
  .hero-photo-stage::before,
  .hero-photo-stage::after{
    display:none!important;
  }
  .hero-photo-stage{
    padding:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  .hero-cinema .hero-photo-stage>img{
    border-radius:18px!important;
    transform:none!important;
  }

  /* ONE PERSON section: less empty space, tighter composition, cleaner flow. */
  .manifest{
    height:auto!important;
    min-height:96svh!important;
  }
  .manifest-sticky{
    position:relative!important;
    height:auto!important;
    min-height:96svh!important;
    padding:56px var(--pad) 24px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:14px!important;
  }
  .manifest-sticky::before,
  .manifest-sticky::after{
    opacity:.55!important;
  }
  .manifest-sticky>.overline{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    width:100%!important;
    margin:0 0 4px!important;
    align-self:flex-start!important;
  }
  .manifest-core{
    width:min(78vw,300px)!important;
    max-width:300px!important;
    margin:0 auto!important;
    flex:0 0 auto!important;
  }
  .manifest-orbit span{
    font-size:6px!important;
    padding:5px 6px!important;
    letter-spacing:.1em!important;
  }
  .manifest-name{
    font-size:clamp(36px,10vw,58px)!important;
  }
  .manifest-tags .mt{
    font-size:6px!important;
    padding:6px 8px!important;
  }
  .manifest-copy{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    max-width:290px!important;
    margin:2px auto 0!important;
    text-align:center!important;
    font-size:10.5px!important;
    line-height:1.5!important;
  }
}

/* ---------- PHONE LANDSCAPE / WIDE MOBILE ONLY ---------- */
@media (orientation:landscape) and (max-width:1024px) and (hover:none) and (pointer:coarse){
  /* Built Beyond The Song: make the writing portrait smaller and visually attached to the text. */
  .ecosystem-head{
    grid-template-columns:minmax(0,1.18fr) 150px!important;
    gap:16px!important;
    align-items:center!important;
    padding:28px var(--pad)!important;
  }
  .ecosystem-head .section-label{
    margin-bottom:10px!important;
  }
  .ecosystem-head h2{
    font-size:clamp(24px,5.3vh,34px)!important;
    line-height:.95!important;
  }
  .ecosystem-head .ecosystem-intro{
    margin-top:8px!important;
    max-width:none!important;
    font-size:9.5px!important;
    line-height:1.42!important;
  }
  .ecosystem-head-visual{
    width:100%!important;
    max-width:150px!important;
    min-width:150px!important;
    align-self:center!important;
    justify-self:end!important;
    margin:0!important;
  }
  .ecosystem-head-frame{
    padding:6px!important;
    border-radius:14px!important;
  }
  .ecosystem-head-frame img{
    border-radius:10px!important;
    aspect-ratio:4/5!important;
    object-position:center 18%!important;
  }
}

/* =========================================================
   V29 — portrait-mobile redesign + iPad landscape web parity
   ========================================================= */

/* Robust visual-era image sizing: prevents the mixer portrait from collapsing
   on mobile Safari / iPad Safari after responsive overrides. */
.direction-photo-v20{
  position:relative!important;
}
.direction-photo-v20 .aperture-window{
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden!important;
}
.direction-photo-v20 .aperture-window img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  opacity:1!important;
  visibility:visible!important;
  object-fit:cover!important;
  object-position:center 18%!important;
}

/* ---------- PHONE PORTRAIT ONLY ---------- */
@media (max-width:760px) and (orientation:portrait){
  /* Hero: closer to the web language, but lighter. No pill/button-looking roles. */
  .hero{
    padding:82px var(--pad) 28px!important;
  }
  .hero-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:
      "copy"
      "image"
      "stats"!important;
    gap:18px!important;
  }
  .hero-copy{
    grid-area:copy!important;
    width:100%!important;
  }
  .hero-image{
    grid-area:image!important;
    width:min(84vw,390px)!important;
    height:43vh!important;
    min-height:300px!important;
    max-height:470px!important;
    margin:-4px 0 0 auto!important;
    justify-self:end!important;
  }
  .hero h1{
    font-size:clamp(66px,20vw,104px)!important;
    line-height:.78!important;
  }
  .hero-name-outline{margin-left:6vw!important}
  .hero-statement{
    max-width:94%!important;
    margin:24px 0 18px!important;
    font-size:14px!important;
    line-height:1.62!important;
  }
  .hero-roles{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:8px 10px!important;
    width:100%!important;
    margin-top:14px!important;
    padding-top:12px!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
  }
  .hero-roles i{display:none!important}
  .hero-roles span{
    position:relative!important;
    min-width:0!important;
    padding:0 0 7px 10px!important;
    border:0!important;
    border-radius:0!important;
    background:none!important;
    box-shadow:none!important;
    color:#aeb3b7!important;
    font:600 6.8px/1.3 var(--display)!important;
    letter-spacing:.09em!important;
    text-align:left!important;
    white-space:normal!important;
  }
  .hero-roles span::before{
    content:"";
    position:absolute;
    left:0;
    top:.43em;
    width:3px;
    height:3px;
    border-radius:50%;
    background:rgba(255,255,255,.42);
  }
  .hero-stats{
    grid-area:stats!important;
    margin-top:0!important;
  }

  /* Remove the rotating identity page entirely on portrait mobile. */
  .manifest{
    display:none!important;
  }

  /* Visual era: make the portrait feel larger and properly paired with the copy
     on phone portrait, instead of looking too thin underneath the text. */
  .direction-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(146px,36vw)!important;
    gap:22px!important;
    align-items:center!important;
    margin-top:18px!important;
  }
  .direction-copy{
    order:1!important;
    min-width:0!important;
  }
  .direction-photo{
    order:2!important;
    display:block!important;
    justify-self:end!important;
    align-self:center!important;
    width:min(36vw,158px)!important;
    height:316px!important;
    min-height:316px!important;
    max-height:316px!important;
    transform:translateX(6px)!important;
    margin-top:0!important;
    opacity:1!important;
    visibility:visible!important;
    overflow:visible!important;
  }
  .direction-photo-v20 .aperture-window{
    inset:0!important;
    border-radius:20px!important;
  }
  .direction-photo-v20 .aperture-window img{
    object-position:center 14%!important;
  }
}

@media (max-width:420px) and (orientation:portrait){
  .hero-roles{gap:7px 7px!important}
  .hero-roles span{font-size:6.2px!important;padding-left:8px!important}
  .hero-image{width:88vw!important;height:40vh!important;min-height:270px!important}
  .direction-layout{grid-template-columns:minmax(0,1fr) minmax(122px,34vw)!important;gap:20px!important}
  .direction-photo{width:min(34vw,136px)!important;height:270px!important;min-height:270px!important;max-height:270px!important;transform:translateX(6px)!important}
}

/* ---------- iPAD LANDSCAPE ONLY ----------
   JS adds .is-ipad-landscape. Keep the experience desktop-like rather than
   inheriting phone-landscape art direction. */
html.is-ipad-landscape{
  --pad:clamp(26px,3.6vw,56px);
}
html.is-ipad-landscape body{font-size:16px}
html.is-ipad-landscape .header{height:82px!important}
html.is-ipad-landscape .nav{
  position:static!important;
  inset:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:20px!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  transform:none!important;
}
html.is-ipad-landscape .menu{display:none!important}
html.is-ipad-landscape .signature{width:150px!important}

html.is-ipad-landscape .hero{
  min-height:100svh!important;
  padding:106px var(--pad) 44px!important;
}
html.is-ipad-landscape .hero-grid{
  min-height:calc(100svh - 150px)!important;
  display:grid!important;
  grid-template-columns:56px minmax(0,1.05fr) minmax(300px,.72fr)!important;
  grid-template-rows:1fr auto!important;
  gap:22px!important;
  align-items:center!important;
}
html.is-ipad-landscape .hero-side-left{display:flex!important}
html.is-ipad-landscape .hero-side-right{display:none!important}
html.is-ipad-landscape .hero-copy{grid-column:2!important;grid-row:1!important}
html.is-ipad-landscape .hero-image{
  grid-column:3!important;
  grid-row:1!important;
  height:min(70vh,680px)!important;
  width:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
}
html.is-ipad-landscape .hero-stats{grid-column:2/4!important;grid-row:2!important}
html.is-ipad-landscape .hero-roles{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px 12px!important;
  margin-top:8px!important;
  padding:0!important;
  border:0!important;
}
html.is-ipad-landscape .hero-roles span{
  border:0!important;
  background:none!important;
  padding:0!important;
  border-radius:0!important;
  font-size:10px!important;
}
html.is-ipad-landscape .hero-roles i{display:block!important}

html.is-ipad-landscape .manifest{
  display:block!important;
  height:220vh!important;
}
html.is-ipad-landscape .manifest-sticky{
  position:sticky!important;
  top:0!important;
  height:100svh!important;
  display:grid!important;
  place-items:center!important;
  padding:100px var(--pad)!important;
}
html.is-ipad-landscape .manifest-sticky>.overline{
  position:absolute!important;
  top:118px!important;
  left:var(--pad)!important;
}
html.is-ipad-landscape .manifest-core{width:min(66vw,660px)!important;max-width:none!important}
html.is-ipad-landscape .manifest-copy{
  position:absolute!important;
  left:auto!important;
  right:var(--pad)!important;
  bottom:58px!important;
  max-width:390px!important;
  text-align:right!important;
  font-size:13px!important;
}

html.is-ipad-landscape .chain{
  display:grid!important;
  grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)!important;
}
html.is-ipad-landscape .chain-sticky{
  position:sticky!important;
  top:0!important;
  height:100svh!important;
  padding:112px var(--pad)!important;
  border-bottom:0!important;
}
html.is-ipad-landscape .chain-word,
html.is-ipad-landscape .chain-sticky>p,
html.is-ipad-landscape .chain-progress{display:block!important}
html.is-ipad-landscape .chain-steps{
  border-left:1px solid var(--line)!important;
  padding:22vh var(--pad)!important;
}
html.is-ipad-landscape .chain-step{
  min-height:84vh!important;
  padding:0!important;
  border-bottom:0!important;
}
html.is-ipad-landscape .chain-step::before{display:none!important}

html.is-ipad-landscape .kinetic-bridge{display:block!important}
html.is-ipad-landscape .credit-river{display:block!important}

html.is-ipad-landscape #catalogue.section-pad{padding:120px var(--pad)!important}
html.is-ipad-landscape #catalogue .catalogue-layout{
  display:grid!important;
  grid-template-columns:.52fr .78fr 1.05fr!important;
  grid-template-areas:none!important;
  gap:34px!important;
  margin-top:64px!important;
  align-items:center!important;
}
html.is-ipad-landscape #catalogue .catalogue-number,
html.is-ipad-landscape #catalogue .catalogue-photo,
html.is-ipad-landscape #catalogue .catalogue-copy{
  grid-area:auto!important;
  grid-column:auto!important;
  grid-row:auto!important;
  width:auto!important;
  margin:0!important;
}
html.is-ipad-landscape #catalogue .catalogue-photo{
  height:66vh!important;
  min-height:500px!important;
  max-height:680px!important;
}

html.is-ipad-landscape .ecosystem-head{
  grid-template-columns:minmax(0,1.3fr) 260px!important;
  gap:42px!important;
  padding:100px var(--pad)!important;
  align-items:end!important;
}
html.is-ipad-landscape .ecosystem-head-visual{
  width:100%!important;
  max-width:260px!important;
}
html.is-ipad-landscape .eco-panel{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(240px,.72fr)!important;
  min-height:78svh!important;
  padding:68px var(--pad)!important;
}

html.is-ipad-landscape .direction.section-pad{padding:120px var(--pad)!important}
html.is-ipad-landscape .direction-layout{
  display:grid!important;
  grid-template-columns:.9fr 1.1fr!important;
  gap:54px!important;
  align-items:center!important;
  margin-top:64px!important;
  min-height:72vh!important;
}
html.is-ipad-landscape .direction-photo{
  display:flex!important;
  width:100%!important;
  height:72vh!important;
  min-height:500px!important;
  max-height:680px!important;
  order:initial!important;
  opacity:1!important;
  visibility:visible!important;
}
html.is-ipad-landscape .direction-copy{
  padding:40px 0!important;
  order:initial!important;
}
html.is-ipad-landscape .direction-photo-v20 .aperture-window{
  width:100%!important;
  height:100%!important;
  border-radius:30px!important;
}

html.is-ipad-landscape .portrait-break{
  grid-template-columns:1fr 1fr!important;
  min-height:88vh!important;
  padding:0 var(--pad)!important;
  gap:5vw!important;
}
html.is-ipad-landscape .portrait-single-glow{
  height:72vh!important;
  min-height:500px!important;
  max-height:680px!important;
}
html.is-ipad-landscape #timeline.timeline{display:grid!important}
html.is-ipad-landscape .nav a[href="#timeline"]{display:inline-block!important}
